游戏

元胞自动机和康威生命游戏

2019-05-25  本文已影响0人  Cloud_J

简介

发展和应用

元胞自动机(Cellular Automata, 简称CA),是冯·诺依曼在20世纪50年代初为模拟生物发育中细胞的自我复制而提出的,但当时并未引起关注和重视。

1970年,剑桥大学的康威(J.H.Conway)设计了“生命游戏”,它是具有产生动态图案和动态结构能力的元胞自动机模型,吸引了众多科学家的兴趣,推动了元胞自动机研究的迅速发展。

之后,Stephen Wolfram对初等元胞自动机的256种规则产生的所有模型进行了详细而深入的研究。他还用熵来描述其演化行为,把元胞自动机分为:平稳型、周期型、混沌型、复杂型四类

现在,元胞自动机在交通流模型、火灾模拟模型、肿瘤细胞的增长机理模拟、股票投资心理模型、计算机的并行计算等很多领域都有应用

元胞自动机的构成

标准元胞自动机是一个由「元胞、元胞状态、邻域和状态更新规则」构成的四元组,用数学符号可以表示为A=(L,d,S,N,f)

元胞空间

元胞是构成元胞自动机的基本单元,而元胞空间是元胞所分布的空间网点集合。
说白了就是所有元胞可以存在的位置的集合
理论上,元胞空间是在各维向上无限延展的,但实际中无法在计算机上实现。因此,需要定义不同的边界条件。
元胞空间的边界条件主要有三种类型:周期型反射型定值型

元胞状态

在一般情况下,某一时刻一个元胞只能有一个状态,取自一个有限集合,比如{0,1},{生,死},{a1,a2,...,an}等等
在不同的应用模型中,这种状态也可以用来表示不同的特征,比如在社会科学中常用来表示个体所持的态度或行为等。

邻域

在空间位置上与元胞相邻的位置称为邻元,所有邻元组成的区域就是元胞的邻域。
一维情形中,常用半径r来确定邻域,距离元胞距离为r的所有元胞都是他的邻域。
如下图中灰色的位置就是黑色元胞的邻域。

邻域.png

在二维的情况下,通常有以下几种类型的邻域:

二维邻域类型.png 马哥勒斯型.png

状态更新规则

是指根据元胞当前状态及其邻域中元胞的状态决定下一时刻该元胞状态的状态转移函数。
状态更新规则可以写为
f:S^{t+1} = f(S^{t},S_N^{t})
其中,S_N^t表示t时刻的邻域状态集合

标准元胞自动机的特征

一维双色元胞自动机

概念简介

命名规则

为了方便,往往会给每种元胞自动机起一个名字,根据一维双色元胞自动机的状态更新函数,一共有3个变量,每个变量都有两种状态0和1,所以一共有2^3种不同的组合 111,110,101,100,011,010,001,000

根据不同的规则这8中组合对应的函数值可能为0,也可能为1。因此一共有28个函数值的组合,对应着28种规则。比如下面这个就叫#规则90#

规则90.png

迭代演化

以#规则90#为例,我们将初始状态为{0 0 0 1 1 0 0 0}的一个一维双色元胞自动机进行迭代演化,背景空间为定值0.

初始状态.png

迭代四次后

迭代四次.png

迭代100次后

90迭代100次.png

康威生命游戏

生命游戏是剑桥大学的康威(J·H·Conway)在1970年提出的一个二维元胞自动机,因其模拟和显示的图像看起来颇似生命的出生和繁衍过程而得名为“生命游戏” 。游戏中没有玩家之间的竞争,只有细胞的不断死亡和产生,在游戏进行中,杂乱无序的细胞会逐渐演化出各种精致、有形的结构。

其规则也很简单:一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。

其规则为

生物图鉴

虽然生命游戏规则很简单,但是却能产生很多有趣的细胞集群,通过合理改变其规则,还能产生更多复杂有趣的生物。

科学家们总结出来的生物图鉴如下

它们的名字分别为”方块“、”蜂巢“、”吐司“、”小船“、”浴缸“

信号灯 脉冲星 轻型飞船 繁殖者 河豚

参考资料

https://www.cnblogs.com/bellkosmos/p/introduction_of_cellular_automata.html
简单明了的讲解一下元胞自动机及其应用? - 王茂南的回答 - 知乎
https://www.douban.com/note/690728776/

上一篇 下一篇

猜你喜欢

热点阅读