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
”:
文章图片
据说结果神似织锦芋螺
的花纹。
Wolfram认为这正是我们宇宙的本质;我们的世界就是计算,就是一套简单的规则生成的复杂现象。其关于元胞自动机的研究获得了超过一万次引用。
随手附上xkcd的一幅漫画:
文章图片
【Python模拟现象,matplotlib模块,Python实现生命游戏】生命游戏具体实现过程详见主页简介相关文件中的源代码。
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- Python数据分析(一)(Matplotlib使用)
- Python|Python 9.20