John Conway的生命模型

John Conway细胞模型实现程序(Win95/98/NT)

    著名的John Conway的生命模型,七十年代曾经风靡计算机界,据说,当时全世界1/3的计算机运行过这个生命游戏的不同实现版本。这个模型的规则其实是非常简单的。它构筑在一个最简单的二维纵横网格上,(也就是一个二维矩阵,虽然生命模型不排除有三角形、六角形甚至更古怪的各种立体网格,但我没考虑过,也没听说过。绝大多数生命模型都是这种平面纵横网格的)每个格子的状态就是两种,要么空,要么有一个细胞,所有细胞都是相同的。规则是这样: 邻居数:这个单元的8个相邻单元中共有多少细胞。 生:如果一个空单元的邻居数是3,那么下一步,该单元将有一个新的细胞出现。 死:如果一个细胞的邻居数大于3,那么下一步它将因拥挤而死;如果一个细胞的邻居数小于2,那么下一步它将因孤独而死。换句话说,只有邻居是23的细胞才能继续存活下去。 在由当前状态变成下一步状态时,所有单元都是同时考虑的。当给定一个初始状态后(即一个散步着若干细胞的单元矩阵),就可以在这个规则下运行下去了。仔细想一下,这实在是非常简单的。但正是这种非常简单的规则,却也能产生意料不到的结果。除了一些非常简单的原始状态,实在难以预料一种给定的初始状态,最后会发展到什么程度。总的来说,可以有以下几种情况: 死亡:所有的细胞最终消失。 停止:在某一步以后,网格的状态不再有任何变化。 循环:在若干步以后,网格的状态变化将进入一个(有限)周期的循环。显然,上面几种都是简单的情况,停止可以认为是周期为1 的循环。最难以预料的是: 混沌:不论经过多少次有限步数的变化,总是不能再现任何曾经出现过的状态,当然也不死亡、不停止。就是说,不会进入循环。这时,我们无法确定,系统将来是会死亡、还是停止演变,还是进入某种循环,还是继续保持这样的不确定状态。或者说,系统的状态是混沌的。这个软件就是模拟这个细胞模型的,为了加快显示速度,采用了Direct X,所以这个软件需要Direct X支持,在运行过程中,单击鼠标右键可弹出功能设置菜单。 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值