-
golly的v3.2版本生命游戏安装包
资源介绍
Game of Life
约翰·康威最常被专业人士和大众拿来讨论的成果,就是他在1970年发明的生命游戏,Game of Life。它的意义在于验证了某些科学家的宇宙观,即最简单的逻辑规则能产生出复杂有趣的活动。
康威生命游戏在方格网上进行,有点像围棋。有填充的网格代表有生命,或理解成一个细胞,再或者按中国传统,把填充和无填充理解成“有”和“无”。游戏规则只有四条:
1 当周围仅有1个或没有存活细胞时, 原来的存活细胞进入死亡状态。(模拟生命数量稀少)
2 当周围有2个或3个存活细胞时, 网格保持原样。
3 当周围有4个及以上存活细胞时,原来的存活细胞亦进入死亡状态。(模拟生命数量过多)
4 当周围有3个存活细胞时,空白网格变成存活细胞。(模拟繁殖)
(图源:《上帝与新物理学》)
“种子”长成“花朵”,“花朵”死后留下四个“种子”
康威生命游戏的四条规则一目了然地对应着宇宙中的生命规律,它是一种元胞自动机(cellular automaton),体现了冯·诺依曼(Von Neumann)关于机器自我进化的思想。
简单图形
早在计算机还没有普及的时候,人们就已经发现了生命游戏的许多代表性图形。比如静物(still lifes),细胞分布形态非常稳定,永远都保持一开始的样子,不会有变化。
(图源:en.wikipedia.org)
方块(Block) 蜂窝(Beehive) 吐司(Loaf) 小船(Boat) 浴缸(Tub)
还有一类叫做振荡器(oscillator),从初始形态开始,在有限图形之间切换,周而复始。数学家发现了很多周期的振荡器,但至今还没有找到周期为19、23、34、38、41的。
(图源:en.wikipedia.org)
甚至还有会整体移动的,比如太空飞船(spaceship)类型。图形会在方格世界内一直沿固定方向运动。
滑翔机(Glider)
轻型飞船(Lightweight spaceship) (图源:en.wikipedia.org)
复杂图形
后来人们又发现了很多更为复杂的变化,看几个例子。
(图源:en.wikipedia.org)
康威最初认为生命游戏中没有任何图形可以无限增长,但很快高斯帕滑翔机枪(Gosper glider gun)推翻了他的想法。这个图形每15代产生一架滑翔机,无限延续。
(图源:en.wikipedia.org)
复杂振荡器一类里有一个繁殖者(breeder),也是高斯帕的杰作。它拥有二次增长率。
河豚(puffer或puffer train)则是大型运动的代表。它也是高斯帕发现的,根据碎片多少分为脏河豚和净河豚两类。
河豚(puffer) (图源:web.stanford.edu)
还有一个变型,叫做耙子(rakes)。
耙子(rakes)(图源:web.stanford.edu)
其实还有更为大型复杂的图形。也有一些研究者通过对规则稍微修改或补充而获得了意想不到的成功。
Rule 30
1983年,沃尔夫勒姆在研究了康威生命游戏以后,自己制定规则,做出了一个一维元胞自动机(更接近于冯·诺依曼的思路)。表示方法是将下一代的图形画在前一代的下面。这个规则组称为Rule 30(因为按顺序排列的二进制数00011110对应的十进制就是30)。
(图源:en.wikipedia.org)
Rule 30经过多代演化后显示出一部分规律一部分随机的结果。
(图源:en.wikipedia.org)
自然界中的织锦芋螺(Conus textile)花纹与Rule 30非常相似,这个发现估计让沃尔夫勒姆高兴了好一阵子。
(图源:archinect.com)
说剑桥北站表皮图案是Rule 30其实并不确切,它是黑白反转的Rule 30。所以晚上内部亮灯时,或者如图这样从内向外看,才真正符合Rule 30。
反转的Rule 30事实上就是沃尔夫勒姆的另一个规则组Rule 135。他从Rule 30开始,发现了一系列有趣的图形。
Rule 110(图源:en.wikipedia.org)
(图源:blog.stephenwolfram.com)
初始状态不同也会导致图案变化不同
更多变化
- 上一篇: Visual C++ 2005入门经典原书代码和解决方案示例
- 下一篇: 扫雷小游戏MFC版源程序