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