← ギャラリーへ

アーベル砂山

「4粒たまったら隣に1粒ずつ配る」だけの規則で、円い山の中にフラクタルの紋様が現れる。崩す順番を変えても最後の配置は同じで、砂の量だけで一意に決まる。

正方格子の中央に10万粒の砂を積んで崩し切った配置。値0〜3を生成り・砂色・薄藍・藍で塗ると、8回対称のフラクタルの紋様が円形に広がる
格子の真ん中に 100,000 粒を積み、「4 粒たまったマスは 4 隣に 1 粒ずつ配る」を崩れなくなるまで繰り返した。値 0〜3 を 4 色で塗る。規則はこの 1 行だけ

なにか

砂山の模型(Bak・Tang・Wiesenfeld, 1987)は、格子の各マスに砂粒の数を置き、4 粒たまったら 4 隣に 1 粒ずつ配るだけの規則である。真ん中に大量の砂を積んで崩し切ると、円い山の中にフラクタルの紋様が現れる。DLA や乾燥亀裂と同じ「規則 1 行で模様」の家系だが、この模型には他にない性質がある。崩す順番をどう変えても、最後の配置が同じ(アーベル性・Dhar 1990)。だから「砂山の紋様」は乱数も順番も関係なく、砂の量だけで一意に決まる。

順番によらない、帳簿はラプラシアン、群には単位元

左に4,000・16,000・64,000粒の砂山(半径が2倍ずつ)、中に64×64の砂山の群の単位元、右に値0〜3の割合がMでまだ動くグラフ
左=M を 4 倍ずつ増やした砂山(半径は 2 倍ずつ=√M)/中=砂山の群の単位元 e(64×64)/右=値 0〜3 の割合(M でまだ動く)

①アーベル性を確かめた。崩す順番を 3 通り(崩れたマスの隣を待ち行列で、行を上から走査して、乱数の順で)変えて 20,000 粒を崩し切ると、最後の配置も、各マスが崩れた回数も、14,641 マスすべてで一致した(崩れた回数 7,274,878 回)。

②帳簿は厳密に閉じる。各マスの崩れた回数を u と書くと、崩れは「4 粒出て隣から 1 粒ずつ入る」だけなので、最後の配置は zfinal = z0 + Δu(Δ は離散ラプラシアン: 隣 4 つの和 − 4 倍)で、全マスで等号が成り立つ(最大ずれ 0)。紋様の全情報は「どこが何回崩れたか」という 1 枚の帳簿に入っている。

③群には単位元がある。安定な配置のうち「砂を足して戻れる」ものは足し算(足して崩し切る)で群をなし、その単位元 e は e = (2δ − (2δ)°)°(δ = 全マス 3・° は崩し切る)で作れる。64×64 で作った e は自分自身がフラクタルの紋様で、e + e → e、e + δ → δ となる。足して崩し切っても相手を変えない配置であることを確かめた。

④半径は √M で伸びる。高さが 3 以下に抑えられるので面積は砂の量に比例する。4,000 → 16,000 → 64,000 粒で半径 24.7 → 48.5 → 96.2 と、2 倍ずつに近い比(1.961・1.983)で伸びた。

単位元の式を Dhar に帰していたのは誤りだった。Dhar 1990(Phys. Rev. Lett. 64, 1613)を開いて読んだ。あるのはアーベル性(p.1614 の式 (5)「[a_i, a_j] = 0」)と、再帰的な配置の数が行列式に等しいこと(p.1615 の式 (13)「N_R = Det Δ」)までで、群の単位元は出てこない。単位元の配置と作り方を示したのは Creutz 1991 である。Dhar 自身の共著論文がそう書いている(Dhar・Ruelle・Sen・Verma の 1994 年の論文の p.10「A simple recursive algorithm to compute C_id has been given by Creutz」)。Creutz の原論文は有料で開けなかったので、ここは Dhar らの共著を経由した確認になる。上の式が単位元を与えること自体は、e + e → e と e + δ → δ を機械で確かめてある。

Pegden と Smart が 2013 年に示したのは、縮めた最終配置が L∞ で弱 * 収束することである(arXiv:1105.0111v2 の定理 1.1)。各点で収束するのではない。論文は「どんな点ごとの収束も成り立たないと思われる」と書き、さらに「極限に値 3 の領域があることの証明も、境界が円に収束しないことの証明も無い」と断っている。「紋様の形が収束する」と読むと原典より強い。値 3 の割合は 1,000 → 64,000 粒で 39.5% → 52.5% とまだ上がり続けていて、形の収束は確かめていない(256,000 粒は 39 秒かかるので図は 64,000 まで)。ラスタなので図は自前の PNG エンコーダで SVG に埋めた。復号して画素が戻ること、base64 の中に偶然「NaN」の 3 文字が入っても検査が誤らないことを固定した。

→ DLA(乱数で育つフラクタル。こちらは順番も乱数も関係ない)

→ 太鼓の節線(同じラプラシアンが、連続では音を決める)

どう作ったか

生成器は generators/sandpile.js で、崩し切る手続きを 3 通り持っている。崩れたマスの隣を待ち行列(環状バッファ)に積む型、行を上から走査する型、乱数の順で選ぶ型である。どれも崩れた回数の帳簿を一緒に返すので、3 つの結果をマスごとに突き合わせられる。紋様はラスタなので、PNG を自分で符号化して SVG に埋めた。

出典

数理
P. Bak, C. Tang, K. Wiesenfeld, "Self-organized criticality: An explanation of 1/f noise", Phys. Rev. Lett. 59 (1987)/D. Dhar, "Self-organized critical state of sandpile automaton models", Phys. Rev. Lett. 64, 1613–1616 (1990)=アーベル性は p.1614 の式 (5)、NR = Det Δ は p.1615 の式 (13)(単位元は出てこない)/M. Creutz, "Abelian sandpiles", Computers in Physics 5 (1991), 198–203=単位元の配置と作り方(原論文は有料で開けず、Dhar–Ruelle–Sen–Verma, arXiv:cond-mat/9408022, p.10 の記述で確認)/W. Pegden, C. K. Smart, "Convergence of the Abelian sandpile", Duke Math. J. 162 (2013), 627–642=弱 * 収束は arXiv:1105.0111v2 の定理 1.1
親戚
DLA・乾燥亀裂・誘電破壊(規則 1 行で模様)・太鼓の節線(ラプラシアン)
生成
generators/sandpile.js(sandpile.svg 100,000 粒・sandpile-book.svg 帳簿)・generators/lib/png.js(PNG エンコーダ)