状態
セルの状態は 0(空)か 1(塗りつぶし)。集合 S = {0, 1} の要素です。
数学 · 体験しながら学ぶガイド
ひとつのセルに規則を与える。そこから世界が広がる。
セル・オートマトンを動かしながら、集合・論理・数え上げ・グラフ・証明を学びます。微積分の知識は必要ありません。
01 / 実験する
横一列が、ある時刻の世界です。時間は下に向かって進みます。規則の番号や下の出力を変えると、履歴が再計算されます。
規則表 · 出力を押して変更
入力を 111 から 000 の順に並べます。8つの出力を二進数として読むと、規則の番号になります。
02 / 定義する
離散数学は、ビット、整数、集合、ネットワーク、数列など、区別できる対象とその関係を扱います。セル・オートマトンは、これらの考え方を結びつけます。各セルは状態をもち、局所的な規則に従って次の状態へ移り、時間は一段階ずつ進みます。
セルの状態は 0(空)か 1(塗りつぶし)。集合 S = {0, 1} の要素です。
セルは周囲の小さな範囲を参照します。ここで扱う一次元の世界では、左・中央・右の3セルです。
すべてのセルが同じ世代の状態から次を計算し、一斉に切り替わります。これを同期更新といいます。
03 / つなげる
模様は学びの入口です。次の5つの考え方で、この仕組みを読み解けます。
集合とは、異なる要素をまとめたものです。塗られたセルの位置を集めた集合を A としましょう。セルを押すと A が変わります。|A| は要素の個数です。
論理演算は、真偽値から真偽値を求めます。0を偽、1を真とすると、規則90は「左 XOR 右」です。左右の状態が異なるときに限り、次のセルは1になります。
入力が k 個のビットなら、入力パターンは 2ᵏ 通り。規則は各パターンに対し0か1を独立に選ぶので、規則の総数は 2^(2ᵏ) 通りです。入力の数と規則の数を区別しましょう。
グラフは頂点(セル)と辺(隣接関係)からなります。局所規則は関数 f: S³ → S です。これを全セルに適用すると、配置全体を次の配置へ写す関数 F が得られます。
xᵢ(t + 1) = f(xᵢ₋₁(t), xᵢ(t), xᵢ₊₁(t))
時刻 t の3つの状態が、時刻 t + 1 の1つの状態を決めます。影響が及ぶ範囲は、1ステップにつき最大1セル分広がります。
図から予想はできますが、必ず成り立つ理由を示すのが証明です。f(0,0,0) = 0 で、最初は中央だけが1だとします。t ステップ後の1のセルは、中央から距離 t 以内にあります(端を回り込む影響が出る前)。
条件が大切です。規則1では f(0,0,0) = 1 なので、空の領域にも直ちに1が生まれます。上で試してみましょう。
04 / 二次元へ
コンウェイのライフゲームでは、周囲8セルを近傍とします。死んだセルは、生きた隣接セルがちょうど3個なら誕生します。生きたセルは、2個か3個なら生存します。それ以外は次の世代で死んだ状態になります。中央のセル自身は数えません。
32 × 20セル。クリックやタップで状態を反転すると、再生は停止します。キーボードでは下の行・列を選んで編集できます。境界条件を変えると、選択中のパターンに戻ります。
周囲8セルと中央を切り替えましょう。中央の次の状態を予想し、結果と比べてください。
05 / 考えを深める
セル・オートマトンは、離散数学と計算、力学系を結びつけます。配置は状態、規則はアルゴリズム、繰り返す更新は状態の列です。全体を指揮する存在がなくても、複雑な振る舞いが生まれます。
N 個の二値セルからなる盤面の配置は 2ᴺ 通りです。決定論的な規則では、各配置の次は一意に決まります。連続する 2ᴺ + 1 個の配置を考えると、少なくとも2つは同じです(鳩の巣原理)。以後の未来も同じになり、周期に入ります。周期1もありえます。この議論は境界条件を固定した有限盤面についてのもので、無限格子の反復を証明するものではありません。
有限の実験は、模様を発見したり、反例で一般的な主張を否定したり、予想を立てたりするのに役立ちます。ただし、それだけで模様が永遠に続くとは証明できません。この二値格子は数学的モデルであり、生物の生命をそのまま再現するものではありません。
3ビットの近傍は8通り。それぞれに対し2つの出力から独立に選ぶので、2⁸ = 256 通りです。
一般にはなりません。後のセルが更新済みの隣接セルを読んでしまうからです。同期更新では、次世代用の別の盤面を使います。
いいえ。ランダムなのは初期状態の選び方です。初期状態と規則を固定すれば、その後の変化は決定論的です。