关于此实验
元胞自动机是由处于开或关状态的细胞组成的网格。每个时刻,每个细胞都会查看它的邻居,并遵循同一条简单规则来决定自己的下一个状态。除此之外没有编写任何程序,但滑翔机却能在网格上移动,发射器会一个接一个地发射滑翔机,而一些一维规则会产生极其不规则的模式,甚至被用作随机数生成器。运行约翰·康威的生命游戏,绘制自己的初始模式,并探索全部 256 种初等规则。
学习目标
- 手动应用生命游戏规则,推算下一代
- 识别静物、振荡器和飞船
- 解释规则编号如何编码初等一维自动机
- 描述简单的局部规则如何产生复杂的行为
- 比较能产生重复、嵌套、混沌和复杂图案的规则
使用方法
- 1加载滑翔机并按四次“步进”。经过四代后,它发生了什么变化?
- 2加载脉冲星。它需要经过多少代才会重复?
- 3运行滑翔机枪。多久会出现一个新的滑翔机?观察活细胞图表。
- 4清空网格并画一排三个细胞。在纸上预测下一代,然后按“步进”。
- 5加载 R 五连方并运行它。仅有 5 个细胞会生长成什么?关闭边缘环绕并进行比较。
- 6切换到一维规则。比较规则 30、90 和 110。哪一个看起来随机,哪一个看起来是嵌套的,哪一个包含会移动的结构?
- 7翻转规则 90 的规则表中的一个结果。你得到的规则编号是多少?图案发生了什么变化?
模型
假设
- 生命游戏网格为72列、44行。开启边缘环绕后,网格的边缘会相连,形成一个环面;关闭后,边缘以外的细胞始终视为死亡。
- 所有细胞都根据上一代的状态同时更新。
- 一维行宽为121个细胞,首尾相连。随机初始状态使用固定种子,因此每次都相同。
在课堂上试试这个实验
- Q1一个死亡细胞恰好有三个存活邻居。它在下一代会怎样?
- Q2为什么由存活细胞组成的2×2方块永远不会改变?
- Q3将规则30写成二进制,并据此求出邻域为100的细胞的新状态。
- Q4滑翔机每四代沿对角线移动一个细胞。它需要多久才能穿过72个细胞宽的网格?
- Q5规则110能够完成计算机可以执行的任何计算。这说明了简单规则与复杂行为之间可能存在什么关系?
常见问题
生命游戏是谁发明的?
由英国数学家约翰·霍顿·康威于 1970 年提出。它因马丁·加德纳在《科学美国人》上的专栏而闻名,此后人们不断发现新的模式。
生命游戏真的算是一种游戏吗?
这是一个零玩家游戏:画出初始图案后,一切都由规则决定。乐趣在于设计图案,并观察它们会产生什么结果。
元胞自动机有哪些应用?
它们用于模拟森林火灾、交通、晶体生长、疾病传播以及贝壳上的纹样。规则30曾被用作随机数生成器,而物理学和生物学中的网格模拟也常以相同的方式运行。
