2020年4月,数学家约翰·康威(John H. Conway)因新冠肺炎去世。大家回顾康威教授平生贡献时,不可避免要提到伟大、深刻的“康威生命游戏”(Conway’s Game of Life)。康威生命游戏规则极简,内涵却无比丰富,可演变出震撼人心的宏大场景。其中,程序员最为之着迷的,是由PhiNotPi、El’endia Starman、 K Zhang等人组成的极客团队耗时一年半创建的史诗巨作——他们用康威生命游戏搭建了一台名为“俄罗斯方块处理器”(Tetris Processor)的通用计算机,并成功地在其中运行了俄罗斯方块程序。
下图是“俄罗斯方块处理器”运行俄罗斯方块程序时的内存快照(每行左侧的数字对应于具体的内存地址;蓝色方块代表1,白色方块代表0;向内存地址01传送数值指令,可操作正在下落的俄罗斯方块):
触发器在下面这个加法器里,两个输入数字A和B(二进制取值分别为011和110)按低位到高位顺序,逐位从左边上下两条导线进入算术单元。算术单元内部,左侧的异或门负责计算当前位的求和结果A XOR B,下侧的与非门利用A AND NOT (A XOR B)计算是否进位,中间的触发器负责存储进位标志,另有一个与非门负责在需要时重置触发器。计算结果以低位到高位次序从右侧导线输出(结果为1001):
繁殖者”:它会向右行进,留下一个接一个的“滑翔者枪”。动图最后一帧定格时用三种颜色区分了繁殖者本体、滑翔者枪和它们打出来的滑翔者。
就元胞自动机而言,它的每个细胞死/活的状态由相邻两个细胞决定(所以图形逐行向下拓展)。该细胞和相邻的两个细胞由于死/活状态不同一共可以组成8种不同的图样,每种图样又可能导致细胞在下一行死/生,所以一共有256组不同的规则。
2002年,数学家斯蒂芬·沃尔夫勒姆(Stephen Wolfram)将多年来对元胞自动机的研究整理为a new kind of science一书,书中用大量图形详细记录了所有的256组规则和它们可能造成的结果。可以将结果大致分成: