设想一下,这里有一个无限大的平面,被分割成无数的小格子
在平面上画一些蓝色的点,把它们称为细胞:
把每个细胞周围的8个格子,叫做这个细胞的邻居:
这时候我们加上几条简单的规则:
听着很抽象?我们来看这个实例,这两处的细胞就会孤独死:
在绿色圆圈的这两个空白的格子,由于周围恰好有3个细胞,则会繁殖出新细胞:
所以把新增和死亡的细胞一起考虑,下一帧就会变成这样:
按照这个规则不断进行推导,这些细胞就动起来了!
上面这个结构,在生命游戏里被称为“滑翔机”,是最著名的一个结构。
我们还可以随便画一些细胞,看看它们会如何演化:
乍看之下,好像毫无规律。但是事实上,这里的每一步演化,都是遵循上面的几条简单规则。
能不能做出一些有意思的结构呢?例如一个不断生产滑翔者的机枪?
这个是Bill Gosper在1970年11月发现的的结构,它被称为高斯帕机枪(Gosper glider gun) 。
既然滑翔机是能被生成出来的,那么有没有一种结构,可以生产高斯帕机枪呢?答案是有的,那就是播种机(Breeder 1)
细胞自动机的想法最早其实是冯诺依曼提出的,他设计了一种一维的细胞自动机,细胞只有一列:
在一维的情况下,一个细胞就只有两个邻居。细胞的下一个状态就由细胞本身以及它的邻居决定:
假设从一个细胞开始演算,并且规定了上面的规则,那么生成的结果恰好就是一个谢尔宾斯基三角形:
虽然元胞自动机是由冯诺依曼提出的,但是另一位科学家沃尔夫勒姆对此着迷,Rule 30就是他发现的最有趣的规则:
基于这套规则进行演算,会得到什么样的结果呢?
这里迭代次数不够,还不能看出什么问题。继续迭代看看效果:
图片左边看起来还有一些规律,但是右边大部分区域看起来是随机的。注意:生成这个图的过程中没有使用任何随机的算法,只是遵循了固定的规则(Rule 30),上面的生成算法无论运行多少次,得到的必然都是固定的结果。
Rule 30的结果和现实中织锦芋螺(Conus textile)的花纹有惊人的相似性,是不是意味着生物表面上看似随机的花纹,其实在本质上,只是遵循着一套简单的规律生成的?
再仔细想想,整个宇宙的底层,不也是遵循一套物理规则,那么是不是意味着,真正的随机并不存在?这里涉及哲学和量级物理的问题,小木就不扩展来讲了,有兴趣的同学自己找资料学习啦。
在文章的最后,我们来欣赏一些生命游戏大神们的作品吧~
生命游戏在线版
https://hacker-mu.uvcat.com/life/
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved