セルオートマトン シミュレータ - ライフゲーム・1次元ECA

1次元セルオートマトン シミュレータ - 全256ルール一覧つき

1次元セルオートマトン(ECA)全256ルールをシミュレータと出力マッピング一覧表で探索できます。ルール番号を入力すればリアルタイムで動作を確認でき、一覧表で全ルールの出力を比較可能。チューリング完全なRule 110やカオス的なRule 30など、注目ルールの解説も充実。ECAの仕組みやウルフラムの4クラス分類については下のセクションで詳しく説明しています。

ヌルルール - 全セルが死滅

初期状態

ルールテーブル
現在の3セル111110101100011010001000
次の世代00000000

ルール

1次元セルオートマトンは、次のステップで動作します。

  1. 初期状態として横一列にセルを並べる。各セルは0(死)か1(生)の状態を持つ。端のセルは反対側とつながったリング状になっている(周期境界条件)
  2. 各セルについて、左隣・自分・右隣の3セルの状態を見る
  3. 3セルの組み合わせをルールテーブル(各組み合わせに対して次の値を定めた対応表)に照合して、次の世代のそのセルの値を決める
  4. すべてのセルを同時に更新し、次の世代を得る(1セルずつではなく全セルの次の値を計算してから一斉に置き換える)
  5. 2〜4を繰り返して世代を重ねる。このシミュレーターでは各世代を1行として上から下に描画する

ルール番号の決まり方

3セルの組み合わせは 2³ = 8通り(111〜000)あり、ルールは8通りそれぞれに対して次の世代の値(0か1)を指定する対応表です。Rule 110の対応表は次のようになります。

現在の3セル111110101100011010001000
次の世代01101110

この8つの出力を並べた 01101110₂ を10進数に変換すると 110₁₀ — これがルール番号になる。全部で 2⁸ = 256通りのルールが存在する

動作の具体例

1. 初期状態を用意する

  1列のセルが並んでいて、それぞれ 0 か 1 の状態を持つ。

  世代0: [0] [0] [1] [0] [0]
2. 各セルの近傍を見る

  セルごとに、左隣・自分・右隣の3つをセットで見る。
  端のセルは反対側とつながったリング状として扱う(周期境界条件)。

       左 中 右
        ↓  ↓  ↓
  [0]  [0][1][0]  [0]
3. ルールテーブルで次の状態を引く

  3つの組み合わせをルールテーブルに照合して、次の世代のそのセルの値を決める。

  例: Rule 110の場合
  (0,1,0) → ルールテーブル参照 → 1
4. 全セル同時に更新する

  これを全セルに対して同時に適用して、次の世代を作る。

  例: Rule 110の場合
  世代0: [0] [0] [1] [0] [0]
                ↓ 全セル同時に遷移
  世代1: [0] [1] [1] [0] [0]
5. 繰り返す

  2→3→4を繰り返して世代を重ねていく。2Dに並べると模様ができる。

1次元セルオートマトンとは

1次元セルオートマトン(Elementary Cellular Automaton, ECA)は、スティーブン・ウルフラムが1980年代に体系的に研究した最もシンプルなセル・オートマトンです。わずか256通りのルールしかないにもかかわらず、その振る舞いは驚くほど多様で、ウルフラムはこれを4つのクラスに分類しました。

クラス1 — 均一
どんな初期条件から始めても数世代で全セルが同じ状態に収束します。初期条件の情報が完全に失われる、最も単純な振る舞いです。
クラス2 — 周期的
ストライプや固定点のような安定したパターンに落ち着き、それを繰り返します。初期条件の影響は局所的に残りますが、全体としては予測可能な秩序に収まります。
クラス3 — カオス
ランダムに見える非周期的なパターンを際限なく生成し続けます。初期条件のわずかな違いが全く異なる結果を生み、長期的な予測はできません。しかし決定論的なルールから生成されるため、擬似乱数として応用できるという面白い性質を持っています。
クラス4 — 複雑系
秩序(クラス1・2)とカオス(クラス3)のちょうど境界に位置します。クラス1・2のように情報が固定されてしまうこともなく、クラス3のように情報が拡散して消えてしまうこともありません。この絶妙なバランスの中で、「グライダー」と呼ばれる形を保ったまま移動する構造が自然に出現します。グライダーは情報を運ぶことができ、グライダー同士の衝突で新しいパターンが生まれます。この「情報を保持しながら伝達・変換できる」性質が、計算と同じ仕組みを実現しています。

256通りのルールの中には、カオス的な乱数生成に使われるRule 30、チューリング完全が証明されたRule 110、シェルピンスキーのガスケットを生成するRule 90、交通流モデルとして知られるRule 184など、興味深い性質を持つルールが数多く存在します。以下では、特に興味深い振る舞いを見せるルールをクラスごとに紹介します。

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

クラス1・2の代表例 — 秩序的

クラス1では、Rule 0(すべて0に収束)やRule 255(すべて1に収束)のように、数世代で全セルが同じ状態になります。一方、クラス2には興味深いルールが多数あります。フラクタル模様を生成するシェルピンスキー系ルールや、交通流をシミュレートするルールなどが代表的です。

シェルピンスキーのガスケット

ECAの中で最も有名なパターンのひとつがシェルピンスキーのガスケット(Sierpinski triangle)です。1つのセルだけをONにした初期条件から、自己相似的なフラクタル三角形が生成されます。

正統なシェルピンスキー
Rule 18, 90, 146 は左右対称のシェルピンスキー三角形を生成します。Rule 60 は右に傾いた三角形、Rule 102 は左に傾いた三角形を生成します(この2つは左右反転の関係)。
シングルセルでのみシェルピンスキー
Rule 26, 154, 210, 218 はシングルセルの初期条件ではシェルピンスキー三角形を生成しますが、ランダムな初期条件ではそれぞれ異なる挙動を示します。
シェルピンスキー風フラクタル
Rule 22, 122, 126, 150 はシェルピンスキーに似たフラクタルパターンを生成しますが、厳密にはシェルピンスキー三角形とは異なります。

交通モデル

Rule 184 は粒子保存則を持つルールで、交通流のシミュレーションに使われます。黒セルを車、白セルを空きスペースとみなすと、車は前方が空いていれば1マス前進し、詰まっていれば停止します。

クラス3の代表例 — カオス

ランダムに見える非周期的なパターンを生成します。Rule 30 はMathematicaの乱数生成に使われたことで有名です。Rule 45、Rule 106 もカオス的な挙動を示します。

クラス4の代表例 — 複雑系

上で説明した「グライダー」は、クラス4のルールをシミュレータで実行すると実際に観察できます。Rule 110やRule 54では、背景の周期的パターンの中を形を保ったまま移動する構造が現れ、異なる速度のグライダー同士が衝突すると消滅・合体・分裂といった複雑な相互作用を引き起こします。

クラス4補足 — チューリング完全

チューリング完全とは、適切な初期条件を与えれば任意の計算を実行できる能力のことです。クラス4(複雑系)の「秩序的すぎず、カオス的すぎない」性質がこれを可能にしています。秩序的なルールでは情報が固定されてしまい、カオス的なルールでは情報が拡散して消えてしまいますが、クラス4ではグライダーによって情報を保持・伝達できるため、計算が成り立ちます。

Rule 110
2004年にMatthew Cookによってチューリング完全であることが証明され、この極めて単純なルールがあらゆる計算をシミュレートできることが示されました。
Rule 54
チューリング完全の有力候補です。Rule 110 と同様にグライダーを持ちますが、証明はまだ完了していません。シングルセルの初期条件では左右対称な出力を生成します。

等価ルールとは

256個のルールの中には、同じ構造のパターンを生成する「等価ルール」が存在します。等価ルールは以下の3つの変換で結ばれています。

左右対称
近傍パターンの左セルと右セルを入れ替える操作(swap)を行うと、左右対称なパターンが得られます。シングルセルからの出力が左右対称なルール(例: Rule 26と82、Rule 30と86)では変換しても同じに見えるため、ランダム初期条件で確認してください。
白黒対称
ビット列を逆順に並べ替えてから0と1を入れ替える操作(reverse+flip)を行うと、白黒対称なパターンが得られます。単純なビット反転(complement)とは異なります。初期条件も白黒反転すると、出力も白黒反転した同じパターンになります。ただし Rule 110 と Rule 137 のように、シングルセルの初期条件で白黒反転したパターンが現れるケースもあります。
左右対称 + 白黒対称
上記2つの変換を組み合わせた操作です。近傍パターンの左右を入れ替えたあと、ビット列を逆順にして0と1を反転させます。
白黒対称の特殊ケース — ルールが回文の場合
ルールのビット列が回文(左右どちらから読んでも同じ配列)の場合、入力のビットを反転するだけで出力もビット反転されます。通常の白黒対称では reverse+flip(逆順+反転)が必要ですが、回文ルールではビット列が逆順にしても変わらないため、flip(反転)だけで白黒対称が成り立ちます。例えば Rule 90(01011010)は回文なので、255 - 90 = Rule 165(10100101)と等価です。

注意 左右対称のswapは、近傍パターン(3ビット)の左右を入れ替える操作です。例えば近傍パターン 110(位置6)の左右を入れ替えると 011(位置3)になるため、ルールのビット列(8ビット)ではビット位置6と3の値が入れ替わります。同様に 100(位置4)と 001(位置1)も入れ替わります。対称なパターン(111, 101, 010, 000)は左右を入れ替えても変わりません。例えば Rule 110(01101110)の場合、ビット位置6と3の値(どちらも1)はそのまま、ビット位置4の値(0)と位置1の値(1)が入れ替わり、01111100 = Rule 124 になります。

88個の独立ルール

上記の3つの等価変換を適用すると、256個のECAルールは88個の独立な代表ルールに集約されます。残りのすべてのルールは、これらのいずれかと等価です。

セルオートマトンによる知能シミュレーション

PR

セルオートマトンによる知能シミュレーション — 天然知能を実装する

Amazon.co.jp で見る →

全256ルール — 出力マッピング一覧表

全256ルールの出力マッピング一覧
ルールクラス111110101100011010001000備考
0100000000独立ルール - ヌルルール - 全セルが死滅
1200000001独立ルール
2200000010独立ルール
3200000011独立ルール
4200000100独立ルール
5200000101独立ルール
6200000110独立ルール
7200000111独立ルール
8100001000独立ルール
9200001001独立ルール
10200001010独立ルール
11200001011独立ルール
12200001100独立ルール
13200001101独立ルール
14200001110独立ルール
15200001111独立ルール
16200010000Rule 2の等価ルール(左右対称)
17200010001Rule 3の等価ルール(左右対称)
18200010010独立ルール - シェルピンスキーのガスケット
19200010011独立ルール
20200010100Rule 6の等価ルール(左右対称)
21200010101Rule 7の等価ルール(左右対称)
22200010110独立ルール - シェルピンスキー風フラクタル
23200010111独立ルール
24200011000独立ルール
25200011001独立ルール
26200011010独立ルール - シングルセルではシェルピンスキー、ランダムでは正統なシェルピンスキーと異なる挙動
27200011011独立ルール
28200011100独立ルール
29200011101独立ルール
30300011110独立ルール - カオス的 - Mathematicaの乱数生成に使用
31200011111Rule 7の等価ルール(白黒対称)
32100100000独立ルール
33200100001独立ルール
34200100010独立ルール
35200100011独立ルール
36200100100独立ルール
37200100101独立ルール
38200100110独立ルール
39200100111Rule 27の等価ルール(白黒対称)
40100101000独立ルール
41200101001独立ルール
42200101010独立ルール
43200101011独立ルール
44200101100独立ルール
45300101101独立ルール - カオス的
46200101110独立ルール
47200101111Rule 11の等価ルール(白黒対称)
48200110000Rule 34の等価ルール(左右対称)
49200110001Rule 35の等価ルール(左右対称)
50200110010独立ルール - 周期的な交互パターン
51200110011独立ルール
52200110100Rule 38の等価ルール(左右対称)
53200110101Rule 27の等価ルール(左右対称+白黒対称)
54400110110独立ルール - 複雑系 - 万能計算の候補
55200110111Rule 19の等価ルール(白黒対称)
56200111000独立ルール
57200111001独立ルール - 複雑な規則パターン
58200111010独立ルール
59200111011Rule 35の等価ルール(白黒対称)
60200111100独立ルール - シェルピンスキー三角形(右傾斜)- 加法的ルール
61200111101Rule 25の等価ルール(左右対称+白黒対称)
62200111110独立ルール - 過渡的なカオスの後、安定した繰り返しパターンに収束
63200111111Rule 3の等価ルール(白黒対称)
64101000000Rule 8の等価ルール(左右対称)
65201000001Rule 9の等価ルール(左右対称)
66201000010Rule 24の等価ルール(左右対称)
67201000011Rule 25の等価ルール(左右対称)
68201000100Rule 12の等価ルール(左右対称)
69201000101Rule 13の等価ルール(左右対称)
70201000110Rule 28の等価ルール(左右対称)
71201000111Rule 29の等価ルール(左右対称)
72201001000独立ルール
73301001001独立ルール - 局所的カオス(Li-Packard分類)
74201001010独立ルール
75301001011Rule 45の等価ルール(白黒対称)
76201001100独立ルール
77201001101独立ルール
78201001110独立ルール
79201001111Rule 13の等価ルール(白黒対称)
80201010000Rule 10の等価ルール(左右対称)
81201010001Rule 11の等価ルール(左右対称)
82201010010Rule 26の等価ルール(左右対称)
83201010011Rule 27の等価ルール(左右対称)
84201010100Rule 14の等価ルール(左右対称)
85201010101Rule 15の等価ルール(左右対称)
86301010110Rule 30の等価ルール(左右対称)
87201010111Rule 7の等価ルール(左右対称+白黒対称)
88201011000Rule 74の等価ルール(左右対称)
89301011001Rule 45の等価ルール(左右対称+白黒対称)
90201011010独立ルール - シェルピンスキーのガスケット
91201011011Rule 37の等価ルール(白黒対称)
92201011100Rule 78の等価ルール(左右対称)
93201011101Rule 13の等価ルール(左右対称+白黒対称)
94201011110独立ルール
95201011111Rule 5の等価ルール(白黒対称)
96101100000Rule 40の等価ルール(左右対称)
97201100001Rule 41の等価ルール(左右対称)
98201100010Rule 56の等価ルール(左右対称)
99201100011Rule 57の等価ルール(左右対称)
100201100100Rule 44の等価ルール(左右対称)
101301100101Rule 45の等価ルール(左右対称)
102201100110Rule 60の等価ルール(左右対称) - シェルピンスキー三角形(左傾斜)
103201100111Rule 25の等価ルール(白黒対称)
104201101000独立ルール
105201101001独立ルール - XNORルール - NOT(p XOR q XOR r)
106301101010独立ルール - カオス的、(p AND q) XOR r
107201101011Rule 41の等価ルール(白黒対称)
108201101100独立ルール
109201101101Rule 73の等価ルール(白黒対称)
110401101110独立ルール - チューリング完全
111201101111Rule 9の等価ルール(白黒対称)
112201110000Rule 42の等価ルール(左右対称)
113201110001Rule 43の等価ルール(左右対称)
114201110010Rule 58の等価ルール(左右対称)
115201110011Rule 35の等価ルール(左右対称+白黒対称)
116201110100Rule 46の等価ルール(左右対称)
117201110101Rule 11の等価ルール(左右対称+白黒対称)
118201110110Rule 62の等価ルール(左右対称)
119201110111Rule 3の等価ルール(左右対称+白黒対称)
120301111000Rule 106の等価ルール(左右対称)
121201111001Rule 41の等価ルール(左右対称+白黒対称)
122201111010独立ルール - 近シェルピンスキー風フラクタル - 出力が左右対称(amphichiral)
123201111011Rule 33の等価ルール(白黒対称)
124401111100Rule 110の等価ルール(左右対称) - チューリング完全
125201111101Rule 9の等価ルール(左右対称+白黒対称)
126201111110独立ルール - シェルピンスキー風フラクタル
127201111111Rule 1の等価ルール(白黒対称)
128110000000独立ルール
129210000001Rule 126の等価ルール(白黒対称) - 回文
130210000010独立ルール
131210000011Rule 62の等価ルール(白黒対称)
132210000100独立ルール
133210000101Rule 94の等価ルール(白黒対称)
134210000110独立ルール
135310000111Rule 30の等価ルール(白黒対称)
136110001000独立ルール
137410001001Rule 110の等価ルール(白黒対称) - チューリング完全
138210001010独立ルール
139210001011Rule 46の等価ルール(白黒対称)
140210001100独立ルール
141210001101Rule 78の等価ルール(白黒対称)
142210001110独立ルール
143210001111Rule 14の等価ルール(白黒対称)
144210010000Rule 130の等価ルール(左右対称)
145210010001Rule 62の等価ルール(左右対称+白黒対称)
146210010010独立ルール - シェルピンスキーのガスケット
147410010011Rule 54の等価ルール(白黒対称)
148210010100Rule 134の等価ルール(左右対称)
149310010101Rule 30の等価ルール(左右対称+白黒対称)
150210010110独立ルール - 加法的ルール - フラクタルだがシェルピンスキーではない
151210010111Rule 22の等価ルール(白黒対称)
152210011000独立ルール
153210011001Rule 60の等価ルール(左右対称+白黒対称)
154210011010独立ルール - シングルセルではシェルピンスキー、ランダムでは正統なシェルピンスキーと異なる挙動
155210011011Rule 38の等価ルール(白黒対称)
156210011100独立ルール
157210011101Rule 28の等価ルール(左右対称+白黒対称)
158210011110Rule 134の等価ルール(白黒対称)
159210011111Rule 6の等価ルール(白黒対称)
160110100000独立ルール
161210100001Rule 122の等価ルール(白黒対称)
162210100010独立ルール
163210100011Rule 58の等価ルール(白黒対称)
164210100100独立ルール
165210100101Rule 90の等価ルール(白黒対称) - 回文
166210100110Rule 154の等価ルール(白黒対称)
167210100111Rule 26の等価ルール(白黒対称)
168110101000独立ルール
169310101001Rule 106の等価ルール(白黒対称)
170210101010独立ルール
171210101011Rule 42の等価ルール(白黒対称)
172210101100独立ルール
173210101101Rule 74の等価ルール(白黒対称)
174210101110Rule 138の等価ルール(白黒対称)
175210101111Rule 10の等価ルール(白黒対称)
176210110000Rule 162の等価ルール(左右対称)
177210110001Rule 58の等価ルール(左右対称+白黒対称)
178210110010独立ルール
179210110011Rule 50の等価ルール(白黒対称)
180210110100Rule 154の等価ルール(左右対称+白黒対称)
181210110101Rule 26の等価ルール(左右対称+白黒対称)
182210110110Rule 146の等価ルール(白黒対称)
183210110111Rule 18の等価ルール(白黒対称)
184210111000独立ルール - 交通モデル - 粒子保存則
185210111001Rule 56の等価ルール(左右対称+白黒対称)
186210111010Rule 162の等価ルール(白黒対称)
187210111011Rule 34の等価ルール(白黒対称)
188210111100Rule 152の等価ルール(左右対称+白黒対称)
189210111101Rule 24の等価ルール(左右対称+白黒対称)
190210111110Rule 130の等価ルール(白黒対称)
191210111111Rule 2の等価ルール(白黒対称)
192111000000Rule 136の等価ルール(左右対称)
193411000001Rule 110の等価ルール(左右対称+白黒対称) - チューリング完全
194211000010Rule 152の等価ルール(左右対称)
195211000011Rule 60の等価ルール(白黒対称) - 回文
196211000100Rule 140の等価ルール(左右対称)
197211000101Rule 78の等価ルール(左右対称+白黒対称)
198211000110Rule 156の等価ルール(左右対称)
199211000111Rule 28の等価ルール(白黒対称)
200211001000独立ルール
201211001001Rule 108の等価ルール(白黒対称)
202211001010Rule 172の等価ルール(白黒対称)
203211001011Rule 44の等価ルール(白黒対称)
204211001100独立ルール
205211001101Rule 76の等価ルール(白黒対称)
206211001110Rule 140の等価ルール(白黒対称)
207211001111Rule 12の等価ルール(白黒対称)
208211010000Rule 138の等価ルール(左右対称)
209211010001Rule 46の等価ルール(左右対称+白黒対称)
210211010010Rule 154の等価ルール(左右対称) - シングルセルではシェルピンスキー、ランダムでは異なる挙動
211211010011Rule 38の等価ルール(左右対称+白黒対称)
212211010100Rule 142の等価ルール(左右対称)
213211010101Rule 14の等価ルール(左右対称+白黒対称)
214211010110Rule 134の等価ルール(左右対称+白黒対称)
215211010111Rule 6の等価ルール(左右対称+白黒対称)
216211011000Rule 172の等価ルール(左右対称+白黒対称)
217211011001Rule 44の等価ルール(左右対称+白黒対称)
218211011010Rule 164の等価ルール(白黒対称)
219211011011Rule 36の等価ルール(白黒対称) - 回文
220211011100Rule 140の等価ルール(左右対称+白黒対称)
221211011101Rule 12の等価ルール(左右対称+白黒対称)
222211011110Rule 132の等価ルール(白黒対称)
223211011111Rule 4の等価ルール(白黒対称)
224111100000Rule 168の等価ルール(左右対称)
225311100001Rule 106の等価ルール(左右対称+白黒対称)
226211100010Rule 184の等価ルール(左右対称)
227211100011Rule 56の等価ルール(白黒対称)
228211100100Rule 172の等価ルール(左右対称)
229211100101Rule 74の等価ルール(左右対称+白黒対称)
230211100110Rule 152の等価ルール(白黒対称)
231211100111Rule 24の等価ルール(白黒対称) - 回文
232211101000独立ルール
233211101001Rule 104の等価ルール(白黒対称)
234111101010Rule 168の等価ルール(白黒対称)
235111101011Rule 40の等価ルール(白黒対称)
236211101100Rule 200の等価ルール(白黒対称)
237211101101Rule 72の等価ルール(白黒対称)
238111101110Rule 136の等価ルール(白黒対称)
239111101111Rule 8の等価ルール(白黒対称)
240211110000Rule 170の等価ルール(左右対称)
241211110001Rule 42の等価ルール(左右対称+白黒対称)
242211110010Rule 162の等価ルール(左右対称+白黒対称)
243211110011Rule 34の等価ルール(左右対称+白黒対称)
244211110100Rule 138の等価ルール(左右対称+白黒対称)
245211110101Rule 10の等価ルール(左右対称+白黒対称)
246211110110Rule 130の等価ルール(左右対称+白黒対称)
247211110111Rule 2の等価ルール(左右対称+白黒対称)
248111111000Rule 168の等価ルール(左右対称+白黒対称)
249111111001Rule 40の等価ルール(左右対称+白黒対称)
250111111010Rule 160の等価ルール(白黒対称)
251111111011Rule 32の等価ルール(白黒対称)
252111111100Rule 136の等価ルール(左右対称+白黒対称)
253111111101Rule 8の等価ルール(左右対称+白黒対称)
254111111110Rule 128の等価ルール(白黒対称)
255111111111Rule 0の等価ルール(白黒対称) - 回文 - 恒等ルール - 全セルが生存

関連ツール & ゲーム