打印

简单的规则,复杂的系统

[复制链接]
2835|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
程序匠人|  楼主 | 2010-9-30 10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先看看这个动画:




这是一个始于上世纪70年代的非常有名的 生命游戏 的一个特例。一架飞行母舰,不断地向下释放滑翔机。

而实现这个看似复杂的动作,却只需要几条非常简单的规则:
对于每一个细胞来说,它的生死取决于它周围的8个格子里的邻居(活细胞)数量
1、邻居等于3就生
2、邻居小于2就死
3、邻居大于3就死
4、邻居等于2就维持

相关帖子

沙发
程序匠人|  楼主 | 2010-9-30 10:20 | 只看该作者
这个是一个生命游戏的程序

生命游戏.swf (9.33 KB)

使用特权

评论回复
板凳
datouyuan| | 2010-9-30 11:37 | 只看该作者
不太懂,这有什么用?

使用特权

评论回复
地板
yewuyi| | 2010-9-30 13:43 | 只看该作者
呵呵,传说中的蚂蚁

使用特权

评论回复
5
westsfw| | 2010-9-30 16:27 | 只看该作者
占楼留名,第1页

使用特权

评论回复
6
xuyiyi| | 2010-9-30 19:09 | 只看该作者
呵呵,传说中的生命游戏

使用特权

评论回复
7
论坛游客| | 2010-9-30 19:21 | 只看该作者
logistic映射 规则是不是更简单  表现现象是不是跟复杂呢?

使用特权

评论回复
8
senzh01| | 2010-9-30 21:22 | 只看该作者
好像没见过这个游戏啊!!?

使用特权

评论回复
9
程序匠人|  楼主 | 2010-9-30 22:24 | 只看该作者
呵呵,传说中的蚂蚁
yewuyi 发表于 2010-9-30 13:43


这个叫细胞发生器。与蚂蚁(蚁群算法)无关。

但是一样迷人。都是用简单的规则去“涌现”复杂的结构

使用特权

评论回复
10
流行音乐| | 2010-9-30 22:59 | 只看该作者
这与滑翔机没什么关系,你可当它是滑翔机,也可以当它是小虫虫。

使用特权

评论回复
11
程序匠人|  楼主 | 2010-9-30 23:15 | 只看该作者
这与滑翔机没什么关系,你可当它是滑翔机,也可以当它是小虫虫。
流行音乐 发表于 2010-9-30 22:59


当然不是真正的滑翔机,但是人们给它取的名字就叫滑翔机。

而且据说,黑客们把这个滑翔机当作黑客的标志。


如果观看过生命游戏的演化过程,也许会重新思考生命是怎么回事。

使用特权

评论回复
12
程序匠人|  楼主 | 2010-9-30 23:17 | 只看该作者
生命游戏其实是一个零玩家游戏。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。实际中,你可以设定周围活细胞的数目怎样时才适宜该细胞的生存。如果这个数目设定过高,世界中的大部分细胞会因为找不到太多的活的邻居而死去,直到整个世界都没有生命;如果这个数目设定过低,世界中又会被生命充满而没有什么变化。实际中,这个数目一般选取2或者3;这样整个生命世界才不至于太过荒凉或拥挤,而是一种动态的平衡。这样的话,游戏的规则就是:当一个方格周围有2或3个活细胞时,方格中的活细胞在下一个时刻继续存活;即使这个时刻方格中没有活细胞,在下一个时刻也会“诞生”活细胞。在这个游戏中,还可以设定一些更加复杂的规则,例如当前方格的状况不仅由父一代决定,而且还考虑祖父一代的情况。你还可以作为这个世界的God,随意设定某个方格细胞的死活,以观察对世界的影响。   在游戏的进行中,杂乱无序的细胞会逐渐演化出各种精致、有形的结构;这些结构往往有很好的对称性,而且每一代都在变化形状。一些形状已经锁定,不会逐代变化。有时,一些已经成形的结构会因为一些无序细胞的“入侵”而被破坏。但是形状和秩序经常能从杂乱中产生出来。

使用特权

评论回复
13
ddv520| | 2010-10-1 00:49 | 只看该作者
这是叫人工生命,,最有名的应该是叫蚂蚁算法,,还有个人工鱼(好像是个叫涂晓娟的人发明,中国人)。学术上叫集群算法。。是人工智能的一个方向,,人工智能发展了这么多年越来越狭隘,通过标准化的程序根本不可能创造智能。。所以人工生命成为一个新的研究方向,,类似的还有遗传算法等,,都是通过一些简单的规则让程序自主模拟一个生命过程,,,
有兴趣还可以了解一个叫"AGENT自主机器人"运用了这个规则,产生世界上第一个自主对环境变化作出反应的一个小机器虫子。好像是麻省理工做的。。。

使用特权

评论回复
14
highgear| | 2010-10-1 23:36 | 只看该作者
好贴要顶。 这是一个非常好的题目, 汇集了智能逻辑,算法结构, 系统结构设计等等。我在学 c++ 是就看到书中以此为例,把 c++ 的特性贯穿起来。

期待匠人能进一步展开讲解。

使用特权

评论回复
15
123jj| | 2010-10-2 15:48 | 只看该作者
好贴要顶。

期待匠人,  进一步展开讲解。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名: 《匠人手记》第二版已经上市,各大网络书店和实体书店有售! 匠人手机——手机中的颤抖机!欧耶! 匠人手记——手记中的战斗记!欧耶!

734

主题

11156

帖子

678

粉丝