注:这儿登载的是本书本章的部分段落。全文请查询已出版的《新东方夜谭》。
新东方夜谭
张天蓉 章玄
第四章﹕冬天的童话
《生命游戏和细胞自动机 (计算机仿真技术)》
第一節﹕忙
2001 年 9月 1 日,星期六
这几天萨沙又是非常忙。因为斯坦福与他合作的教授从欧洲回来了。他们合写的一篇文章10天之内一定要寄出去。但是得到的计算结果却还不理想,所以他整天在学校的办公室里对着计算机,不停地查错、改程序、修正数据、检查结果 。好几个晚上都没有回来。也不知道在办公室睡没睡觉,吃些什么。因为我知道他的作风:工作起来什么都会忘记 。我非常担心他的身体,正要给他打电话,他却突然推开门回来了。
总算得到了非常令人满意的结果,我今天可以好好睡一觉了。萨沙一边高兴的说,一边就倒在了床上。
我还想问他是否要吃点什么,回头一看,他早已进入了梦乡。
我爱怜地看着他,最后只好帮他脱去鞋袜,盖上被子,关上房门,独自到客厅去吃早饭。
这几天,我的公司也比较忙,下星期五要出软件的新版本,还有好几个问题没有解决。因此,今天和泰德约好上午去公司加班。我早饭之后就驱车往公司去,泰德已经早到了,还有眼镜蛇- 依娃也在。哦,俩人挺亲密的,看样子他们的关系已经不一般了。
早上好!眼镜蛇见我来了,热情地打招呼。高挑、却又还丰满的依娃,穿了一件淡咖啡色的紧身衣服,配一条黑底白横条的针织长裙,显得身子曲曲弯弯地,嫣然一笑,眉飞色舞的模样。长得不是十分漂亮,但猛一见时,却会使人眼前一亮。
你们好,
你的沙博士真是一个好老板吔。 依娃又说,明显的台湾腔普通话。
我被说得有点不好意思:沙博士怎么变成我的啦?怎么又是老板?
噢,我想起来了,依娃现在是萨沙美国公司的财务会计。便问她工作情况如何?忙不忙啊? 等等。聊了半天,她似乎对这个工作还挺满意的,对沙博士的种种,两个公司的情况等,也特别感兴趣。只不过,我对萨沙公司的事,几乎一无所知,还没有她知道得多,这点令她挺失望的。
然后,和泰德讨论程序、一步一步地找错、 。中午出去到附近的麦当劳吃了一点东西,又继续奋战了几个小时,把问题基本解决得差不多了。
下午五点左右回到家,萨沙不知道什么时候已经起来不见人影,大概又去忙某个公司的事情去了。尽管住在一个屋檐下,却经常碰不到面,好象真成了杜甫所说的:人生不相见,动如参与商。
晚上,我想,今天应该赶快开始写科普书的第四章。还好,生命游戏和自动机,正好是萨沙在读博士时候论文的课题,与他现在所作的研究也有关。他曾断断续续地跟我讲过有关这个课题的理论,又有他的论文在身边,我想,我基本上可以独立地把这一章的前一部分整理出来。
下面是我写的第一部分。
第二節﹕生命游戏(Conways Game of Life)
一九七零年十月, 美国趣味数学大师马丁·加德纳通过科学美国人杂志的数学游戏专栏, 介绍给读者一个有趣的数学游戏 - 康维的生命游戏。一时吸引了一大批人的兴趣。
生命游戏事实上并不是通常意义上的游戏, 它没有游戏玩家各方之间的竞争, 也谈不上输赢,可以把它归类为仿真游戏。事实上,也是因为它模拟和显示的图象,看起来颇似生命的出生和繁衍过程而得名为生命。游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:生或死。如下图4-1中,用黑色的方格表示该细胞为生, 空格表示该细胞为死 。游戏开始时, 每个细胞可以随机地(或给定地)被设定为生或死之一的某个状态, 然后,再根据某种规则(生存定律)计算下一代每个细胞的状态:
图 4-1 生命游戏(要进电脑游戏-请点击这儿)
例如,我们可以规定如下的生存定律:
1. 每个细胞的状态由该细胞及周围八个细胞上一次的状态所决定;
2. 如果一个细胞周围有3个细胞为生,则该细胞为生,即该细胞若原先为死,则转为生,若原先为生,则保持不变;
3. 如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变;
4. 在其它情况下,该细胞为死,即该细胞若原先为生,则转为死,若原先为死,则保持不变。
然后,同时更新所有的状态,得到第二代的分布图。这样一代一代地作下去,以至无穷。比如说,在下面的图4-2中,从第一代开始,画出了四代细胞分布的变化情况。第一代时,在中心处有四个活细胞,然后,读者可以根据以上所述的四条生存定律,得到第二、三、四代的情况,观察并验证下图的结论。
图 4-2 四代二维生命细胞的演化过程
你可能会说,这样的游戏玩起来太不方便了!一格一格地算半天才走一步,也看不出趣味在何处。不过,相信你不会忘记,我们有一个最好的帮手:计算机。我们可以根据四条生存定律编好程序,输入初始状态图,用计算机来进行运算和显示。本书所附的光盘中,便提供了生命游戏的程序。如果你打开程序,运行几个例子的话,就不难发现生命游戏的趣味所在了。例如,如果你选择随机设置初始状态,你会看到,游戏开始运行后,迭代过程中细胞生生死死,增增减减,变幻无穷。也许,屏幕上生命细胞的图案运动变化的情况,会使你联想到自然界中某种生态 ;系统的变化规律:如果一个生命,其周围的同类过于稀疏,生命太少的话,会由于相互隔绝,失去支持,得不到帮助而死亡;如果其周围的同类太多而过于拥挤时,则也会因为缺少生存空间,且得不到足够的资源而死亡。只有处于合适环境的细胞才会非常活跃,能够自我复制,并进行传播。
生命游戏的计算机实现过程使我们很容易将它类比于第二章的分形,和分形类似,人们可以选择不同的初始状态(及游戏规则),随着迭代次数的不同,在屏幕显示的图案将是精彩纷呈,令人叹服,像万花筒一样引人入胜。读到这儿,我们又一次地悟出这个道理:复杂的事物(即使生命!),原来也可以来自于几条简单的规律!。生命游戏继分形和混沌之后,又为我们提供了一个观察从简单到复杂的好方式。
生命是如何产生出来的?,这是一直困惑着我们的大问题。如今这个所谓的生命游戏,是否能为解决此问题提供一些有用的线索呢?让我们首先从下面图中所示的,生命游戏中几种特别类型的分布图案说起。(我假设你已经用计算机运行过这些例子)
图 4-3 生命游戏中几种特别类型的分布图案
尽管生命游戏中每一个小细胞所遵循的生存规律都是一样的,但由它们所构成的不同形状的图案的演化行为却各不相同。这个现象可以用古希腊哲学家亚里士多德的古老命题整体大于它的各部分之和来表达。不同演化行为的图案大致有如下几种类型:静止型、振动型、运动型、死亡型、不定型。
图4-3中的蜂窝,小区 和小船,都属于静止型的图案,如果没有外界的干扰的话,此类图案一旦出现后,便固定不再变化;而闪光灯,癞蛤蟆等,是由几种图形在原地反复循环地出现而形成的振动型;图中右上角的滑翔机和太空船,则可归于运动类,它们会一边变换图形,一边又移动向前。如果你自己用生命游戏的程序随意地试验其它一些简单图案的话,你就会发现:某些图案经过若干代的演化之后,会成为静止、振动、运动中的一种,或者是它们的混合物。
此外,也还有可能得到我们尚未提及的另外两种结果:一类是最终会走向死亡,完全消失的图案;另一类是永远不定变化的情形。就拿最终死亡的情况来说吧,死的速度可是有快有慢,有的昙花一现,不过几代就断子绝孙了(图中的两代死);有的倒能繁荣昌盛几百上千代:如上图中间的第二个例子就能坚持130代。有趣的是,上例中老不死是由两个分图案构成的,这两个分图案如果单独存在,都会长生不死,纠集在一块儿后,尽管也延续了130代,结果却不一样,这又是一个整体不等于部分之和的实例。从变幻莫测的生命游戏中,还有许许多多诸如此类的趣事,就无法一一列举了。
第三節﹕大金
2001 年 9月 8 日,星期六
妮妮,起床吧,今天有事,我们要出去一趟一大早萨沙就跑来把我推醒。才10点呢我还想赖床,因为昨晚我在写生命游戏有关的程序,直到凌晨3点才睡。
萨沙也似乎没有睡多久,他一直在电话上,好像是和中国公司的人在开电话会议。
妮妮,我忘了告诉你,昨晚我哥哥杨金来电话,说他从中国回来了,约我们今天一起去吃中饭。
贾杨金?我想起了丽丽描述过的精灵鬼,丽丽还说过,他开始在中国做生意赚了大钱,后来又惹上了一些麻烦。
不过我还是第一次从萨沙嘴里听他说到他哥哥。萨沙很少和我谈起他家里的人和事。我只知道他父母都在旧金山唐人街的诊所里工作,爸爸是中医,妈妈是针灸师。尽管湾区离旧金山只有一小时之遥,可他好像很少回去。
稍微梳洗打扮了一下,选了一件大方、漂亮,且使我显得更为成熟的休闲装穿上。又帮萨沙选衣服,挑来挑去,竟找不出一件合身的。这时我才发现,他脸上看来变化不大,但身上瘦多了。大多数衣服穿到身上都显大,晃晃荡荡地,像挂在木头架子上似的。看起来,萨沙需要重新置装了。最后好不容易找到一件还可以的,而且颜色也与我的衣服相配,这才穿好上了路。
开到过了Palo Alto之后的一个中国餐馆时,他哥哥已经在门口等着。远看过去和萨沙还真像,身高差不多,不过壮实一些。
小弟,你怎么瘦了这么多? 小弟是萨沙在家里的小名,他哥哥的小名叫大金。
很高兴见到你。大金笑着对我说。然后,拿出一张名片,自我介绍说:贾杨金,中国金达公司总裁。
侍者把我们带到餐桌旁坐了下来,萨沙开始看菜单。大金从手提箱里拿出一个精致的小盒子给我,说是第一次见面,就算见面礼吧。我一看,是个制作精巧的、很漂亮的别针。我很喜欢,当场便戴上了它。同时,突然想到,和萨沙交往这么久了,他还从来没有给我买过任何礼物呢!
大金和萨沙五官也长的很像,皮肤稍黑一些,胡子也多一些。眼光看起来很深沉,特别是看人的时候,眼神甚至有点狡猾的味道。
大金说他在大陆的生意做的不错,下星期要去东部处理一些事情。又说爸爸妈妈常抱怨说,萨沙很少与他们联系。有时打电话找不到,又不回电话。大金还特别叮嘱萨沙要多回家看看。
小弟,你要注意身体哦。
下午回到家里,稍微休息了一下,又开始写生命游戏的历史一节。
注:这儿登载的是本书本章的部分段落。全文请查询已出版的《新东方夜谭》。