いちばん簡単なルール — 1次元の基本CA
いちばん痩せた格子は、マスを横一列だけにしたもの。各セルは自分と左右の2マス、合わせて3セルだけ見て次の自分を決める。3セルがそれぞれ 0/1 なので、入力は 2×2×2 で8通り。その8通りそれぞれに「次は 0 か 1 か」を割り当てると、ルールは8ビット=0〜255 の数ひとつで決まる。
1次元なので、1世代を縦に1行ずつ積むと、横が空間・縦が時間の絵になる。中央の1マスだけ立てて始める。下のコードは規則番号 rule を変えられる。
(rule >> pattern) & 1 の一行で次の状態が決まる。pattern は左中右の3セルを (l << 2) | (m << 1) | r で 0〜7 の番号にしたもの。規則番号 rule を pattern ビットだけ右にずらして最下位ビットを取ると、その並びに対する答えが出る。ルールが整数一個のビット並びに畳み込まれているので、rule を書き換えるだけで模様が総入れ替えになる。
rule に 90 を入れるとシェルピンスキーの三角形が出る。左右の XOR が次の状態になる規則で、30 はほぼランダムな点の散らばり、110 は規則的な領域と乱れた帯が同居し、184 は塊が一方向へ流れる。8ビットの違いだけで、整然と乱雑のどちらにも、その境界にもなる。
Stephen Wolfram は 1983 年、この256個の基本CAを片端から走らせて4つのクラスに分けた。一様に潰れる(クラス1)、周期に落ち着く(クラス2)、カオス的に乱れる(クラス3)、秩序と乱れが共存して複雑な構造を保つ(クラス4)。rule 110 はクラス4にあたり、のちにチューリング完全だと示された。横一列のマスと8ビットのルールだけで、原理的にはどんな計算でもできる。rule 184 は各セルを車、1 を「車あり」と読むと交通流のモデルになり、密度がある閾値を超えると渋滞の塊が後ろへ伝わる。