生命游戏&兰顿蚂蚁
最近在这里看到看到了一个开源的软件——Golly,这个主要就是研究生命游戏的,正所谓:科研软件!!【这个还有IOS上的应用】
这个说起来我想起来本科曾经用C++和opencv画过兰顿蚂蚁。。。
生命游戏,其实就是一个元胞自动机,或者叫细胞自动机(元胞自动机的第一次接触还是在本科看一位师兄写的前一届的数模论文上面看到的,用元胞自动机来分析病毒的感染问题!当时觉得很有意思,专门去接触过一下下。。),回到正题,生命游戏,名为游戏,其实就是一个零玩家的“游戏”,维基百科曰:
The “game” is a zero-player game
什么意思呢?就是说,这个游戏的结局只取决于“游戏”初始化的状况而已;起始,决定结局!那为什么叫做游戏呢?这能说这个起名字的人对这个游戏,爱得深沉!!嘛~其实这个东西还真的挺好玩的,变化太多,乐趣无穷~
简单介绍一下这个所谓的生命游戏吧,这个游戏其实就是模拟一个二维世界中的点的变化,在一个二维世界中,初始化所有点的状况,每个点只有两种状态:死,或者活!然后下一时刻,每个点的状况只取决于上一时刻这个点周围八个点的状态而已,具体如下:
- 周围(指周围八个点)如果只有少于等于一个点的状态是活,那么这个点下一时刻变成死!可以认为是人口太少导致的。
- 周围如果有两个点是活的,那么下一时刻状态不变。
- 如果有超过三个是活着的,那么下一时刻这个点会变成死的状态,可以认为是竞争!
- 如果一个点是死的,但是周围恰好有且仅有三个是活的,那么下一时刻这个点会变成活的,原因可以理解为再生。
嗯,就是这样一个简单的规则,但是却可以变化出无穷的好玩的东西来。 阅读全文…