イモガイの貝殻 — 模様は空間ではなく、時間の記録だった
なにか
このギャラリーの模様はほとんど「空間の模様」だが、貝殻だけは違う。巻貝は殻の縁に新しい材料を足していくことしかできないので、殻の面には縁の履歴がそのまま残る——縦軸が時間になった図なのである。だから1次元の規則で描ける。
使うのは初等セルオートマトン。「左・自分・右」の3マスの並びから次の1マスを決めるだけの規則で、入力は8通りなので割り当ては 2⁸ = 256 通り(この番号がルール番号)。ルール30 は三角形が不規則に入れ子になり、ルール90 はきれいなシェルピンスキー、ルール110 は規則的な地に走る筋がぶつかる。
なぜ三角形になるのか。情報は1手に1マスしか進めない(隣しか見ないので)。だから中心の1マスから始めた模様は必ず「中心から t マス以内」に収まり、輪郭が三角形になる——検査で例外ゼロを確認した。物理でいう光円錐と同じ理屈が、貝殻の三角形の正体だった。
ルール90 は、パスカルの三角形そのもの
ルール90 は「左と右の XOR」だけの規則で、中央を見ない。この n 行目は二項係数 C(n,k) の偶奇とぴったり一致する。パスカルの三角形を偶数・奇数で塗り分けるとシェルピンスキーになる、という有名な話の、成長する側からの言い方である。
数の側からも確かめられる。n 行目にある1の個数は、ちょうど 2^(n を2進表記したときの1の個数)(Kummer の定理)。200行まで例外なし。さらに自己相似も厳密で、64行の三角形は「32行の三角形3つ」と1マスも違わない。
ルール30 は、乱数のように見える
いっぽうルール30 の中央列を縦に読むと、0と1がほぼ半々(0.5063)で、ラグ1〜8 の自己相関は最大 0.0148 しかない。20,000 手のあいだ周期は見つからない(⚠️「無い」の証明ではなく、探した範囲での不在)。規則は完全に決まっていて乱数をひとつも使っていないのに、出てくる列は乱数と区別しにくい。
左右の非対称も規則に書かれている。規則の左右を入れ替えると ルール90 は自分自身に戻る(だから図も左右対称・ずれ0マス)が、ルール30 は 86 に変わる(図は 7,124 マス非対称)。実物の貝殻の模様が左右で違う流れ方をすることと、同じ種類の非対称である。
どう作ったか
規則表・時間発展・二項係数の偶奇・自己相似の照合・中央列の統計を自前で。図は1セル1矩形だと SVG が 2MB を超えたので、行ごとの走りを1枚のパスに整数座標で書いて 215KB にした。機械検査は14件: ①ルール90 が「左右のXOR」・ルール30 の表 ②パスカル mod 2 と 32,896 マス一致 ③1の個数 = 2^(2進の1の個数) ④自己相似 ⑤中央列の割合・自己相関・周期の不在 ⑥鏡像ルール(90→90・30→86)と図の対称性 ⑦光円錐(1手1マス)⑧完全再現 ⑨出荷SVG2枚。
出典
- 数理
- S. Wolfram, "Statistical mechanics of cellular automata", Rev. Mod. Phys. 55 (1983) と A New Kind of Science (2002)。ルール90 と二項係数の関係、Kummer の定理は標準的な結果。実物の貝殻の模様を反応拡散で説明したのは H. Meinhardt, The Algorithmic Beauty of Sea Shells (1995)。⚠️ セルオートマトンは離散版の漫画で、実物の測定と突き合わせたわけではない——Wolfram が Conus textile を CA と並べて論じたのは有名だが、ここでは「似た見え方をする」以上の主張はしない。連続版(1次元の反応拡散=時間記録版のチューリング)は未実装=空白棚
- 生成
- generators/shell-ca.js(規則表・時間発展・二項係数の偶奇との照合・自己相似・中央列の統計・鏡像ルール・図2枚。依存ゼロ・乱数ゼロ)