Qt-生命游戏开发记

细胞自动机(英语:Cellular automaton),又称格状自动机、元胞自动机,是一种离散模型,在可计算性理论、数学及理论生物学都有相关研究。它是由无限个有规律、坚硬的方格组成,每格均处于一种有限状态。整个格网可以是任何有限维的。同时也是离散的。每格于t时的态由t-1时的一集有限格(这集为该格的邻域)的态决定。每一格的“邻居”都是已被固定的。(一格可以是自己的邻居。)每次演进时,每格均遵从同一规矩一齐演进。

就形式而言,细胞自动机有三个特征:

  1. 平行计算(parallel computation):每一个细胞个体都同时同步的改变;
  2. 局部的(local):细胞的状态变化只受周遭细胞的影响;
  3. 一致性的(homogeneous):所有细胞均受同样的规则所支配。

以上引自wikipedia 细胞自动机

生命游戏

生命游戏(game of life)为1970年由英国数学家J. H. Conway所提出 某细胞的邻居包括上、下、左、右、左上、左下、右上与右下相邻之细胞 游戏规则如下:

  • 孤单死亡:如果细胞的邻居小于等于1个,则该细胞在下一次状态将死亡;
  • 拥挤死亡:如果细胞的邻居在4个及以上,则该细胞在下一次状态将死亡;
  • 稳定:如果细胞的邻居为2个或3个,则下一次状态为稳定存活;
  • 复活:如果某位置原无细胞存活,而该位置的邻居为2个或3个,则该位置将复活一个细胞。

以上引自生命游戏网页版

这是一个非常适合并行实验的例子,并且还可以试验一下并行和链表。