启程 – 踏上美国土地
1984年9月初,告别了父母和妻子,亲吻了不到6个月的女儿,登上了从上海去广州的列车。这次行程的最终目的地是美国芝加哥,去开创新的人生旅程。
(离开上海赴美国留学前的全家福,摄于1984年9月2日)
香港的堂姐夫在广州站接我。在广州住了一个晚上,第二天登上广州去深圳罗湖的列车。我将转道香港看望叔叔婶婶,然后飞去芝加哥。
在香港呆了三天,让我开了眼界。与开放尚未起步的上海相比,香港太繁华了。熙熙攘攘的人群,琳琅满目的广告和霓虹灯,川流不息的车辆,有点令人晕眩。这是我第一次看到“外部世界”,走马观花,三天很快地过去了。
1984年9月10日,在香港的启德机场登上了西北航空公司飞往芝加哥的航班。当飞机起飞后,心情一下子沉重起来了。前方将去的是一个没有亲人的陌生的国家。那时,对美国的了解只是只字片言的道听途说,现在要身临其境了,将要发生的一切是个未知数。
(在香港启德机场登机前的留影)
当飞机降落在芝加哥O’hare国际机场后,我第一次踏上了美国的土地。由于时差的原因,到达美国的时间仍然是1984年9月10日。
在机场见到了大学同学王蕾的姐夫马丁,他是文革前的大学生,早几年全家移民美国,现在伊利诺大学芝加哥分校(University
of Illinois at Chicago - UIC)读研究生,也是我要就读研究生的大学。马丁带我坐上地铁前往他的家。他的家离UIC不远,在市中心的南边。
地铁在进入市区之前在地面上行驶。看到窗外不见人影的旷野,与香港的繁华形成了对照,心情更加沉重了。
马丁招待我在他家先住下,然后帮我在大学附近找住的地方。在马丁的帮助下,三天后找到了住处。那是一幢老式三层楼房。三楼的一个三室一厅的公寓住着两名来自中国的留学生和一名印度留学生。他们允许我住在客厅,地上放一个旧床垫就算我的卧室了。条件虽然艰苦点,但是每月只要付三十美元,性价比高!要知道三十美元要比我那时大学教师的工资还高。四十年过去了,马丁的憨厚真诚的形象还历历在目,十分感谢他的及时的帮助,让我在陌生的环境能很快地安置下来。虽然学校有大陆留学生的学生会,但是学生会的干部似乎热衷于帮助新来的女生,他们可以为她们做像马丁为我做的接待工作,可是像我这样的“大老爷”不在此例。
第一个学期
我拿得是伊利诺大学芝加哥分校电子工程与计算机科学系研究生的录取通知书。UIC是Quarter制,一年四个学期,每个学期十周。那年秋季学期的开学日期是9月17日,我只有一个星期的时间要完成注册登记的手续。面临第一个难题是要自选本学期的学习课程。在国内,大学每个学习的科目都是校方设计好的,选修课很少。而现在不仅要自选每学期学什么课,还要自我设计完成学位的路径和课程系列,有些课程还有序列关系,要选修B课必须已完成A课。
由于马丁是数学系的研究生,不能给我具体意见,但他告诉我普遍的经验是,每学期选修的科目的工作量要注意平衡,因为有的课需要化的时间少些,有的课需要化的时间多,尤其是有编程序项目的课工作量特别大。他给我价绍了学生会的干部,他是一名我系早来两年的中国留学生。我打电话给他请教选修本学期课的事情,问他一些课的难易程度以及工作量。谁知得到的回答是“对我来说都很容易”,觉得打这个电话是自讨没趣。
于是就凭着自己的直觉和喜好选了四门课:《编程语言》-
我的大学本科是计算机专业,由于当时的条件,上机编程序的实践不多,因此计划到美国来注重学习软件;《计算机通讯和文件系统》-
这门课听上去是很具有吸引力的“前沿”科学;《图论概论》- 我在大四时很喜欢离散数学,对逻辑课有兴趣;《英语口语》-
虽然考过托福,一落地美国,听力有困难,学好语言是一切的基础。其实,在一个只有10周的学期内修四门课是很紧张的,那时是“初生牛犊不怕虎”。
果然,开学后体会到学习十分紧张,时间不够用。《编程语言》和《计算机通讯和文件系统》都有编程序的作业,尤其是;《计算机通讯和文件系统》需要完成一个设计项目,并用软件程序实现。后来才知道这门课是系里公认的工作量大的课,既然已经上了,就咬牙坚持下去吧。做编程序的项目必须使用系的计算机实验室的计算机。那时候有计算机的学生极少,再说互联网还没有问世,通过电话连网到学校的计算机系统很不方便,所以绝大多数学生使用学校的计算机,所以实验室一直是人满为患,每次只能用一小时,下来后再排队。为了完成一个程序从输入,纠错,调试到完成,往往要搞到凌晨。
在第一个学期中,除了睡觉吃饭,每星期到附近的超市买菜外,所有时间都投入到学习上了。功夫不负有心人,硬骨头被啃下来了。《计算机通讯和文件系统》设计项目的程序还是第一个通过了助教的测试。四门课得了全A。第一个学期的圆满完成为以后的学习奠定了信心基础。
第一个寒假的打工经历
秋季学期的期终考试结束后就是感恩节,也是寒假的开始,直到元旦后冬季学期开始。第一个寒假怎么过呢?按照先来的中国留学生的说法,在美国,时间就是金钱,要么花在学习上,要么去打工赚钱,坐着不做事就是在浪费。事实的确如此。那时人民币对美元的汇率是三元多人民币换一美元,但是那时我大学毕业后的每月工资是67元,折成美元20多美元,还不够在美国一个星期的房租。所以极想利用假期能打工挣钱。到中国城的中餐馆找工作并不容易,一是没车交通不便,二是人家喜欢长工,三是一定要会讲广东话!但是我很幸运地得到了一个打工的机会。
我的室友是北京来的留学生,在数学系当助教,教本科一年级的基础数学课(Calculates
101),本科的新生,无论是否数学专业,都必须修基础数学课。所以数学系需要比较多的助教,也能接触来自各个系的学生。他的数学课班上有位美国学生名叫比尔(Bill),入学前是木匠,其继父是房屋装修的包工头,他在其继父那儿打工。 比尔告诉我的室友,他会在寒假期间在继父那儿打工。我的室友将我的情况介绍给比尔,他一口答应让我跟他一起打工。比尔是一位二十出头的小伙子,有四分之一的印第安血统。个头不高,很结实。
打工的工地在芝加哥的南郊,离我们的学校约40英里(64公里)。比尔每天早上开车来接我,下工后送我回家。工程项目是将一栋三层楼的别墅改建成一家水电修理公司的办公楼。工程团队除了比尔和我,还有比尔的继父(老板)和另外一名工人。我对装修的活是外行,开始只能打点小工,如搬运木料和石膏板等等。比尔的继父是意大利移民,很友好。他明知我什么都不会也不嫌弃,让我能干多少就多少。比尔很热心地教我,后来我学会了切割石膏板,钉石膏板,油漆等活。打工那些天,基本上是早晨七点离家,晚上六、七点回来。期间八小时工作,半小时吃饭,其余是来回路上的时间。
(在打工时的照片)
(与比尔在工地的合影)
午饭自带。周末我烧一锅咖喱土豆牛肉。夹在面包里成了中西结合的“三明治”。中午吃得可香了。
工作期间有机会与比尔交谈,作些“中美交流”。比如当比尔听到中国的警察不带枪时很吃惊,在美国是不可思议的。当我干活太“卖力”时,比尔会对我说:“悠着点,这儿不是你们中国的社会主义,是美国。我们按小时挣钱,活干完了就没前赚了。 ”后来的情况证实他讲得有道理。雇主为了争取能在元旦后就开张,要赶在圣诞节前完工。因此雇了更多的人。本来预期四周的工作,做了两个星期就没活干了。后来比尔给了我的工资。按每小时4.5美元付,竟与比尔一样,按熟练工人付。那时伊利诺州的最低工资是3.15美元。老板并没有因为我是外国学生而克扣,反而很大方,让我体会到了普通美国人的纯朴和善良。两个星期的打工赚了近400美元。在那时这笔钱比我在国内当大学教师的一年的工资还多!
从此与比尔成了朋友。在他家里过了在美国的第一个圣诞节,
遇见了他的家人,女朋友,妈妈和继父,还有外公,他已有八十多岁还独自开车来做客。后来我还应邀参加了比尔的婚礼。
(与比尔和她的女朋友合影)
这是我的在留学期间唯一的一次打工经历。时间虽然不长,印象深刻,不但在经济上雪中送炭,还对了解校园外的世界打开了一扇窗口。
在美国度过的第一个春节
1985年的春节是我在美国度过的第一个春节。从第一个学期的功课中缓过来之后就越来越想家了。那时与家人通讯的唯一方式是写信,信的来回需要3-4个星期。1985年中国的春节临近了,这是我在美国,也是一人在外将要度过的第一个春节。我真正地体会到“每逢佳节倍思亲”的涵义。
- 来自祖国的“酒心巧克力”
1985年春节前夕,时任总书记的胡耀邦派出中央国务院留学生慰问团到美国欧洲等21国慰问在海外的留学生和访问学者。慰问团成员除了由国务院各部委的干部组成外,还有当时著名的艺术家。
慰问团到我就读的伊利诺大学芝加哥分校访问是在春节前的星期日(应该是二月十七日)。记得那天特别冷,最低气温在摄氏零下17度以下。早上出门时感到吸进的冷空气使鼻腔内的湿气都结冰了。来自大陆的一百多名留学生和访问学者与中央慰问团举行了一场联欢会。随这个慰问团来访的文艺界人士是著名男高音歌唱家胡松华。会上他少不了表演了多首独唱歌曲,现在能记住的是那首他最拿手的《赞歌》。会上,居然有同学敢上台与胡松华一比高低,唱了那时很走红的由蒋大为唱的《在那桃花盛开的地方》。毕竟没经过专业训练,唱到高音的地方时唱不上去了。胡松华调侃地说,谁让你唱了首娘娘腔的歌,唱不出来是理所当然的。那时我才意识到原来歌唱家之间也有门户之见。看来蒋大为与胡松华的唱法不是一路的。
这次慰问团来访最让我留下印象的事是慰问团给每位留学生的礼物: 每人一颗酒心巧克力。团长说这是胡耀邦总书记给大家的节日问候。接着他讲了更令人回味的酒心巧克力的故事。他说,临行前胡耀邦接见了慰问团的成员,特意提出要为每位留学生带点酒和糖,让他们在异国他乡过节时能尝到来自家乡的味道。团长说,慰问团在着手准备的时候遇到了难题。根据领事馆的反映,将这么多的酒带进美国,在过海关时恐怕有麻烦,除了关税还会有手续。再说这么庞大的行李也是个问题。慰问团的领导们凭借集体的智慧,想出了一条既能满足总书记的要求,又能避免过关难题的两全之策:酒心巧克力!既有酒又有糖,又轻便。所以每个人手中的礼物来之不易啊!
当时我们都为这种大智大慧所倾倒。现在回味此事,深深地体会到中国的官场文化源远流长,博大精深。
(在冰天雪地的校园)
- 久违的猪肉饺子
我的研究生导师张教授是位来自台湾的美籍华人。1984年秋季也是他在伊利诺州大学执教的第一个学期,我是他的第一批“开门弟子”。
1985年的春节他邀请了我们系中的一些中国,台湾和香港的留学生到他家包饺子过年。我们相聚在张教授的在芝加哥郊区Naperville的家中,一边包着饺子,一边交换着各自家乡过年的习俗。
两岸三地虽然分隔了几十年,当我们这帮年轻人聚在一起时还是很容易相处的。当然对一些历史事件,由于那时接收的资讯不同,理解也相差甚远。例如当谈到张学良时,台湾同学说他是“叛徒”,我说我们大陆视他为“功臣”,当我们险些争论起来时,师娘端上了煮好的饺子,于是大家将所有话题抛之脑后,争先恐后地吃起了饺子。
我刚吃了第一个饺子,觉得这个饺子怎么这么香,这么好吃?突然发觉这是猪肉馅的。
我住在学校附近的街道,几个留学生共租了一套老式房子中的公寓。附近的住宅区很少有亚洲人,老华侨更少了。平时买菜就去能步行达到的超市Jewel。超市中很少有猪肉。平时想买些绞肉,只有牛肉没有猪肉。因此到美国几个月来吃到的肉类大多数是鸡肉和牛肉,有时候包些包子也是牛肉馅的。
四十年过去了,在美国过的第一个春节还能给我留下的记忆之一是:猪肉饺子香!
(在张教授家过1985年的春节)
当助教的经历
在学习上过关只是第一步。真正能使自己站稳脚跟完成学业的保障是经济基础,即能得到助学金。伊利诺大学对符合条件的研究生提供的助学金包括助教和助研。助教配合教授的授课,为学生答疑及批改作业。助研参与教授的研究项目。无论助教或助研,一般每周工作20小时,每月的收入是660美元,学费全免。助教由系聘用,助研由各位教授自行聘用,由教授的研究经费开支。
上世纪80年代是计算机开始兴起的时代。计算机专业的毕业生的就业前途光明,所以读计算机的研究生的人数很多,包括有许多本科不是计算机专业的人。计算机系的助教职位的竞争很激烈。我就读的电子工程与计算机科学系的招聘助教的方针透明公平,在本系研究生中按照学习成绩排名顺序录用。为了提供更多的助教席位,我们系采用“半助教”制度:每周工作10小时,每月支付330美元的工资,但是学费照样全免。其实“半助教”的“性价比”更高。免掉的学费远比工资收入多。在当时的环境里,勤俭一下,每月330美元能过了,省下的每周10小时可以用在学习上。
由于我在前两个学期的成绩全是A,在全系研究生的排名中名列前茅,于是在1985年的春季学期我得到了我系的助教职位。来美国半年后终于有了经济保障。
在以后的两年中每学期都能得到续聘,先后做过《数字逻辑》,《编程语言》,《数据结构》等课的助教。
《数字逻辑》是计算机系本科生的必修课,也有要想转入计算机系的其他系的学生注册听课,需求量很大。这门课强调理论与实践结合。教授在大教室上理论课,每周由助教上实验课,每周布置一个数字逻辑设计项目,要求学生按要求设计电路,写出实验报告,并且用逻辑元器件搭建出设计的电路,通过助教的验证。每学期会有几位助教同时开设实验课,学生们可以选择注册其中一位助教的课。我在上实验课时,尽量将项目的要求讲清楚,并且讲解和启发设计的思路。在验收学生设计的电路时,有的学生纸上的设计没问题,但是实体的电路不能工作,我会帮助他们检查电路,找出原因,直到工作为止。我的实验课因此得到了学生的好评。当我在上下一个学期的实验课时,发现人数比上学期增加了不少。听到有学生讲,他们是听了上过我的实验课的同学的推荐而来的,说我的课讲得清楚,又能耐心帮助他们。有这样的口碑心满意足了。
(1985年在助教办公室)
(在图书馆)
讲几件在做助教时的趣事。
在《编程语言》课中有一个编程序的作业,打印一个时钟的图像,时钟上的指针状态要对应程序输入的时间。这个作业的要求十分简单明了,但是有个学生始终不能理解程序的要求,不知道要做社么。我就举例示范,如果输入是
3:30,那么时针(短针)指向3与4的中间位置,分针指向6的位置。他还是不懂,一个劲地问为什么。我说时针转动30度代表一小时,分针转动30度代表5分钟。他还是问为什么,看来他从来没有看见过传统的时钟,从小只用数字表!
在当《数据结构》课的助教时,在批改期中测验答卷时,发现两份答卷几乎相同,错的地方一摸一样,显然这两位学生之间有抄袭的嫌疑。我将这两份答卷给教授看,他认同我的看法。教授将这两位学生叫到办公室,给他们看自己的答卷。他们对抄袭的嫌疑没做任何狡辩。教授让他们退掉了这门课。学校的政策是,如果学生在学期没有过半的时候可以退掉正在上的课,成绩单上没有记录,以后可以在次注册这门课。教授此举是对他们的“宽大处理”。根据他们的作弊行为,轻则教授可以给他们“F”,这门课就不及格了,重则报到系里做纪律处分,有可能取消学籍。后来教授跟我解释了为什么作宽大处理的缘由,因为这两位学生是来自伊朗的留学生,教授怕将他们逼急了会不会做出不理智的行为。姜是老的辣,我从没想到这些。如果真如教授所顾虑的事发生了,我也难逃一劫,因为我是“始作俑者”。
(1985年堂姐到芝加哥出差,在校园合影。这是我到美国后第一次见到亲人)
校园和居住环境
伊利诺大学芝加哥分校的校园在芝加哥的市区。与全美国大城市的情况一样,市区的治安比郊区差。就在1984年夏季,我到芝加哥的前一个多月前,我们系的一名中国留学生在校园中被劫匪枪杀了。我不敢在家信中提及此事,怕父母妻子担忧。
中国留学生一般都在校园附近的社区合租公寓。我先后在
Racine Ave上的两个公寓居住过。从公寓步行十几分钟可到达校园。这个区域在二十世纪二三十年代是意大利黑手党的势力范围。在讲述黑手党真实故事的电影《触不可及》(Untouchable)中发生枪杀案的在Racine Ave的一公寓就离我居住的公寓相隔几栋房子。在 Taylor街上的一家餐馆曾是黑手党头目经常光顾的地方,我每天步行去学校时会经过这家餐馆。据说在那个时代,黑人不敢进入该地区。到了八十年代情况不同了,Racine
Ave 的西边是政府廉租公寓,治安变差了。
(Racine Avenue)
(在公寓门口)
(在厨房煎鸡蛋)
(在卧室)
初次接触人工智能
我最早接触到人工智能是在1985年。
伊利诺大学芝加哥分校(UIC)的电子工程与计算机科学系包含了电子工程和计算机许多课题和领域,从自动控制,数字信号处理,数字逻辑,计算机系统机构等电子和硬件课程,到计算机操作系统,软件工程等软件课程。。《人工智能》(AI - Artificial Intelligence)是一门研究生的选修课。我在国内上大学时学的是计算机专业,偏重于系统结构。来美国读研究生,想在计算机软件领域深造,既然学校提供人工智能的课,一定不会错过学习新课题的好机会,所以修了这门课。
- 人工智能的历史背景
人工智能(Artificial Intelligence)的历史可以追溯到20世纪50年代,当时科学家们开始研究如何利用计算机模拟人类智能。人工智能的概念最早是在1956年提出的,当时由约翰·麦卡锡,艾伦·图灵和其他科学家在Dartmouth大学举行的会议上提出。从那时起,人工智能作为一门学科就应运而生。
人工智能的发展历程包括多个阶段,其中最初的阶段着重于基于规则的系统,然后是基于知识的系统,最后是基于学习的系统。
人工智能的课程在上世纪80年代开始出现在一些美国大学中。现在,人工智能是一门广泛开设的计算机科学课程
- 我修的人工智能课程
人工智能初期研究的是如何让计算机模拟人的智能,在某个领域能处理问题的能力达到人类专家的水平,专业名称是“专家系统”(Expert
System)。某个领域的专家总结出一套具体的规则,计算机通过执行这些规则来模拟专家的知识和推理能力。
我们系的人工智能的课就是学习专家系统的理论和实践。这门课不但有理论考试,还要做一个实践项目。近四十年过去了,学的书本理论的细节记不清了,但是那个实践项目至今记忆犹新。
该课要求三人组成一个团队设计一个下五子棋的专家系统,并且用LISP
程序语言编写一个会下五子棋的程序。最终各个团队的程序来个五子棋循环赛,一决高低。
我的团队另外两位同学是一位来自台湾的男同学和一位来自北京的张姓女同学。我小时候就喜欢与大人下五子棋,后来学了点围棋,因此对创建关于五子棋的“专家规则”很有帮助。五子棋比较简单,无论黑白哪方,谁先形成一行5个子就得胜。
所谓的专家规则,就是将自己在下棋时的应对策略细化成一条条规则,对棋盘上各种形势做出相应的反应。例如,如果对方的棋已经形成一条4个子了,我方必须下子堵击对方成5子;如果对方形成一条3个子,而且两头都是空位(无子),这叫做“活三”,如果不及时在任何对方一条3子的任何一头下子堵击,对方再下一子就成了“活四”就赢定了。在没有直接威胁的情况下如何为自己创造取胜的机会,等等。
设计好专家系统的规则后,就要编写一个可以与人下五子棋的软件程序,将这些专家规则应用到程序中。编程用的程序设计语言是
LISP (List Processing)。LISP是最早的高级程序设计语言之一,从1960年代起广泛用于人工智能研究。在上这门人工智能课以前没有接触过这个编程语言。为了做项目,边做边学。
程序编完后要上计算机编译,测试。计算机系的计算机实验室24小时对本系学生开放。要用电脑的人总比电脑多,因此当实验室电脑都被占用了,就登记排队。轮到上机时要抓紧时间测试查错,因为每人每次只有一小时的时间用电脑。好在我们这个项目有三人组成,三人轮流登记,每次可以有三个小时测试程序,这对项目很有帮助。为了做项目经常搞到深更半夜。
(在计算机实验室)
当纠正了所有错误(bug),程序能正常运行后,就要测试该程序在与人下五子棋时的表现如何。在实战中发现问题,不断完善“专家系统”的设计,使它越来越接近自己的下棋水平。为了评估我们程序的水平,有时请美国同学与它下棋。当它都能战胜他们时,我们认为可以交作业了。
如可评估各个团队做的项目的质量,助教写了一个程序,让两个团队的五子棋程序对弈,决出胜负。而且搞了一个循环赛,每个程序都有机会与全班其它程序比赛。循环赛的结果,我们的程序打败了所有的程序,名副其实地获第一名!最终,我们项目团队三人的人工智能这门课都得了“A”。
现在回想起来,我们的编程水平未必比其他同学高,我们的程序能战胜其它程序的原因大概是我们下五子棋的水平比别人高,因此设计的“专家系统”也比别人略高一筹。
以上是我初次学习人工智能的经历。
论文与助研
我的导师是毕业于西北大学(Northwest
University)的博士,在AT&T的贝尔实验室工作过。他的兴趣在于教学于研究,于是来到伊利诺大学当教授。1984年秋季是他的教授生涯的第一个学期,所以我是他的开门弟子之一。他的研究方向在软件工程领域,例如分布式系统的分析与测试等。
第二年,我上了《Petri
net》一课。Petri net是一种数学模型,用于描述和分析并发系统的动态行为, 主要用于计算机科学、系统工程、控制工程等领域。Petri 网通过图形化的方式直观地表示系统中的事件、状态及其相互关系。
在教授的指导下,我的研究课题是用Petri net 为平行处理系统建立数学模型,然后开发自动分析的算法,验证系统设计的正确性。作为研究的成果,我写了一篇论文
“A Slicing Algorithm of Concurrency Modeling based on Petri Nets”(《基于Petri网的并发建模切片算法》),该论文在1986年第15届年度国际并行处理会议上发表并演讲。
在此基础上,与教授一起撰写了《分布式软件系统测试及在数字交换系统中的应用
》研究项目提案。该项目包括对分布式通信系统进行建模和分析,自动确定系统的测试标准。该项目得到了日本富士通公司的25万美元的资助。这是我的导师得到的第一笔研究经费,于是建立了软件工程实验室,他任命我为“首席工程师”,实际上是一个助研的职位。这样我有了两个助学金:助教和助研。
(在软件工程实验室)
1986年夏季,我的毕业论文通过,拿到了电子工程与计算机科学的硕士学位。
(在UIC的毕业典礼上,1986年)
王惠豫
2024年7月6日 加州圣地亚哥
没有评论:
发表评论