セルオートマトン シミュレータ - ライフゲーム・ルール110を体験

ライフゲーム シミュレータ - Conway's Game of Life

1970年にジョン・コンウェイが考案した2次元セル・オートマトンです。誕生・生存・死滅の単純なルールから、グライダーやパルサーなど驚くほど複雑なパターンが生まれます。Bitboardアルゴリズムによる高速な世代交代を体験できます。

ルール

  • ライフゲームでは各セル(マス)を一つの生命として扱います。セルは「生」と「死」二つの状態を持っていて、ゲームを開始すると盤面は世代交代していきます。次世代セルの生死は隣接するセルの生死によって決まります。
  • セルの生死は次のルール(B3/S23)に従います。
  • 1. 誕生(B3):死んでいるセルに隣接する生きたセルがちょうど3つあれば、次の世代が誕生する
  • 2. 生存(S23):生きているセルに隣接する生きたセルが2つか3つならば、次の世代でも生存する
  • 3. 死滅:上記以外の生きているセルは、過疎(1つ以下)または過密(4つ以上)により死滅する

ライフゲームとは

ライフゲーム(Conway's Game of Life)は、1970年にイギリスの数学者ジョン・ホートン・コンウェイが考案したセルオートマトンです。二次元の格子上で「生」と「死」の2状態を持つセルが、単純な4つのルールに従って世代交代を繰り返します。

プレイヤーが操作するのは初期配置のみで、あとはルールに従って自動的に進化するため「ゼロプレイヤーゲーム」と呼ばれます。単純なルールから驚くほど複雑なパターンが生まれることが特徴です。

ライフゲームのパターンは大きく分けて、固定物体(ブロック、ビーハイブなど)、振動子(ブリンカー、パルサーなど)、移動物体(グライダー、宇宙船など)の3種類に分類されます。特にグライダーは盤面上を移動し続けるパターンとして有名です。

ライフゲームはチューリング完全であることが証明されており、理論上はどんなコンピュータプログラムでもシミュレートできます。この性質から、計算理論や複雑系科学、人工生命の研究においても重要なモデルとされています。

このシミュレータではBitboardアルゴリズムを採用しています。盤面の各セルの生死を1ビット(0/1)で表し、64ビット整数1つで64セル分の状態を保持します。ビットシフトで隣接セルの情報をずらし、加算器の原理(AND, XOR)で隣接生存セル数を並列に計算することで、64セル分の次世代判定を数回のビット演算で同時に行え、大幅な高速化を実現しています。

セル・オートマトンの歴史や応用分野について詳しくはこちら

関連ツール & ゲーム