生命游戏-JAVA语言代码-细胞自动机-毕业论文 联系客服

发布时间 : 星期五 文章生命游戏-JAVA语言代码-细胞自动机-毕业论文更新完毕开始阅读2c24c0c77f1922791688e85b

浙江理工大学本科毕业设计(论文)

图3-6 个体平均速度变化图

图3-7 个体平均力量变化图

15

生命游戏的计算机模拟以及参数对运行结果的分析

图3-8 个体平均体型变化图

可以看到力量,体型,由于肉食性的取消,不断的往小型生物方向发展,而速度由于拥有更高的性价比,个体在进化时任然保留了该属性,这个结果非常的说明问题,速度一直保持在较高的水平,个体一直没有放弃这个属性,而力量对个体的收益远没有速度大,因为几乎在个体的进化中完全消失(当然不能保证每一次运行结果生物都一定会往这个方向发展,这只是一个更高概率的合理解释),显然这也是在这样的系统中趋于稳定的个体自适应过程的结果。

寿命并不能直接影响个体的竞争力,因为在达到基本稳定之前,大部分个体在竞争中已死亡,并非达到寿命再死亡,这个属性需要程序运行时间达到一定长度才能反映出一定问题,在这里并不能说明什么问题。寿命的结果曲线并为给出,但是数据上结果是寿命几乎是一个无序状态,个体的寿命时高时低,系统的平均寿命表现出随机性,无法预测(这只是短时间的运行结果,长时间的运行由于性能限制无法进行)。

由于本人在设计系统时并未考虑计算机性能,导致在实际运行中,由于算法过于庞大,导致计算机在个体数量达到1000左右的时候已经无法流畅运行,所以最终修改了一定参数,简化了程序算法以控制个体数量。

原本打算加入的智力/天敌由于算法过于复杂严重影响运行效果,没有加入系统。 原本打算加入的飞行/游泳能力的进化由于在用较简单的方法无法模拟,没用加入系统。

原本已经加入的食性,即食肉/食草由于严重影响运行效率,在结果分析时并没有加入程序运行。

16

浙江理工大学本科毕业设计(论文)

由于人为限制了单个单元格中最大的食物量,又去掉了肉食的可能性,人为减少了系统的稳定性,所以事实上体型大,力量、速度强的个体无法表现出更强的竞争力,系统的运行结果并不是每次都很理想。

由于肉食性的取消,每次生物爆发完之后,有可能生存下来的必然是食物需求量小的那部分(本来会有以这些生物为食的个体出现,因为资源充分而大量繁殖),所以个体确实往体型,力量,速度越来越小的方向发展,大型个体根本无法生存。

如果要达到理论理想状态需要将程序进行适当修改,并分布式部署程序,增加植物的生长速率,减少个体消耗食物的倍率。在一个计算机群上运行,预计将会达到更好的效果。

由于计算性能限制,生物的初始状态已被设置为固定,而初始位置,对运行的结果并没有决定性作用,故选了几个简单的初始状况仿真生命演变过程。

总结:

1. 个体初始状态是由人为初始设定的,并不能非常好的适应环境。如果个体没有去适应环境,所有属性不会变化,个体将会在非常短的时间内就死亡。 2. 力量、速度两属性对个体的影响是近似的,只是设定上速度优于力量,结果个体进化过程中确实优先保留了速度属性,而很大程度上放弃了力量。 3. 虽然个体随着进化,增强了适应性,理论上应该会使系统稳定度不断的上升,直到个体数目曲线基本持平,但是从图3-4可以切实的看到虽然会有很多时间系统是稳定的,但是由于整个系统的稳定是依靠个体之间的相互作用共同达到的,所以个体突如其来的变化仍然会表现出系统的不确定性。 4. 由于肉食性的取消(个体只有争夺资源时竞争,没有相互生死搏斗),个体体型的不断的变小并不会导致生存能力下降(虽然竞争力下降了,但是所需资源少了),所以个体不断的往体型小的方向发展,这也是个体适应环境的表现。 5. 成年年龄作为我特意加入的属性,就是为了观察个体在复杂系统中的适应性,因为该属性只对个体产生负面影响,而进化的结果确实是该属性被完全抛弃,无限趋于0.

结果表明:生命游戏的演变过程是及其复杂化的。真实的世界要比我的生命游戏复杂的多,但是有一点是肯定的,个体会朝更适合自己生存的方向发展,计算机模拟的细胞自动机在复杂系统中确实拥有一定的适应性,不确定性等。

3.11 本文尚未完成部分

17

生命游戏的计算机模拟以及参数对运行结果的分析

1.本文只是从一个生命游戏的特例对细胞自动机在复杂系统中的行为进行分析,无法从理论上证明其在每一个计算机模拟的复杂系统中都能表现出各种特性。

2. 本文在系统设计时由于过于理想化,并未考虑计算机性能,导致最终进行了大量改动,从很大程度上影响了结果。需要简化算法或并部署为分布式结构进一步进行研究分析。

3. 由于本人能力有限,对复杂系统的理解尚浅,所以本文中对其特性的理解也许会有错误,本文只是最大限度的从实际运行结果对理论进行一定的验证及分析。

18