Python模拟现象,matplotlib模块,Python实现生命游戏

前言

今天用Python简单复现一下里面介绍的生命游戏,让我们愉快的开始吧~

开发工具

Python版本:3.6.4

相关模块:

matplotlib模块;

numpy模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

主要思路

游戏简介:

想象一下,一望无际的太平洋被分成了许许多多方格子。每个格子里正好能放下一个“细胞”。这个细胞不能运动,它可以是死的,也可以是活的。但它的状态,是由它周围8个细胞的死活决定的。

决定的规则为:

(1)“人口过少”:任何活细胞如果活邻居少于2个,则死掉;

(2)“正常”:任何活细胞如果活邻居为2个或者3个,则继续活;

(3)“人口过多”:任何活细胞如果活邻居大于3个,则死掉;

(4)“繁殖”:任何死细胞如果活邻居正好是3个,则活过来。

题外话:

上面这几条规则大概是元胞自动机中最出名的一套规则了。“麦克阿瑟天才奖”最年轻的得主Stephen Wolfram正是元胞自动机的忠实粉丝。其发现的“Rule 30”规则组,可以从一个活细胞出发,生成一套极其复杂的无尽花纹。后来Mathematica里使用的随机数生成器,就是基于“Rule 30”的。250次迭代后的“Rule 30”:

Python模拟现象,matplotlib模块,Python实现生命游戏_第1张图片

据说结果神似织锦芋螺的花纹。

Wolfram认为这正是我们宇宙的本质;我们的世界就是计算,就是一套简单的规则生成的复杂现象。其关于元胞自动机的研究获得了超过一万次引用。

随手附上xkcd的一幅漫画:

Python模拟现象,matplotlib模块,Python实现生命游戏_第2张图片

生命游戏具体实现过程详见主页简介相关文件中的源代码。

你可能感兴趣的:(Python模拟现象,matplotlib模块,Python实现生命游戏)