← ギャラリーへ

イモガイの貝殻 — 模様は空間ではなく、時間の記録だった

ルール30・90・110の1次元セルオートマトンを時間方向に伸ばした3枚の模様
横=殻の縁(1次元)/縦=時間。巻貝は縁でしか成長できないので、殻の面に残っているのは「縁で何が起きたか」の履歴である。左のルール30は三角形が不規則に入れ子になり、イモガイ(Conus textile)の模様に近い見え方をする

なにか

このギャラリーの模様はほとんど「空間の模様」だが、貝殻だけは違う。巻貝は殻の縁に新しい材料を足していくことしかできないので、殻の面には縁の履歴がそのまま残る——縦軸が時間になった図なのである。だから1次元の規則で描ける。

使うのは初等セルオートマトン。「左・自分・右」の3マスの並びから次の1マスを決めるだけの規則で、入力は8通りなので割り当ては 2⁸ = 256 通り(この番号がルール番号)。ルール30 は三角形が不規則に入れ子になり、ルール90 はきれいなシェルピンスキー、ルール110 は規則的な地に走る筋がぶつかる。

なぜ三角形になるのか。情報は1手に1マスしか進めない(隣しか見ないので)。だから中心の1マスから始めた模様は必ず「中心から t マス以内」に収まり、輪郭が三角形になる——検査で例外ゼロを確認した。物理でいう光円錐と同じ理屈が、貝殻の三角形の正体だった。

ルール90 は、パスカルの三角形そのもの

ルール90のセルオートマトンと、二項係数が奇数の位置を塗ったパスカルの三角形mod2が一致することを並べた図
左=セルオートマトン(左右のXOR)を回した結果/右=二項係数 C(n,k) が奇数のところを塗ったもの。255行めまで 32,896 マスすべてが一致(不一致ゼロ)

ルール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枚。依存ゼロ・乱数ゼロ)