ライフゲームのルールを少し変更したセルオートマトン。一世代前のセルの状態を加味したルールになっている。
タグ「FORTH」が付けられているもの
被食者と捕食者のシミュレーションである。
ルールはやや込み入っているが、要点を言えば、捕食者と隣接せず、かつ被食者と隣接するブランクセルには、50%の確率で被食者が誕生し、一世代(1サイクル)で消滅する。捕食者は、隣接する被食者を「食う」ことによって誕生し、その寿命は不定である。この条件に、「死」のルールが適応され、被食者は、50%の確率で、捕食者は20/512の確率で死亡する。
World of Cellular Automataに掲載した「Zhabo-c」へのアクセスが意外に多いので、エンドレスバージョンを投稿しておく。
「ベロウソフ・ジャボチンスキー反応(Belousov Zhabotinsky reaction)」のシミュレーションである。CAM-PCには、4枚のビットプレーンが存在するが、それらを総て使ったやや複雑なルールとなっている。(詳細については、末尾のソースを参照)
上記の化学反応は、20世紀中葉に発見された振動的化学反応で、溶液中の物質の濃度が周期的に変動することにより特異な色彩変化を生ずるというものだ。
CAM-PCのルールテーブルには、三種類のものが用意されているが、ここで紹介するのは三番目のもので、上記の化学反応との視覚的類似性が最も高いとされている。
なお、実機で動作させた場合にモニタに表示される色とムービーの色とは通常は出来るだけ揃えているのだが、これに限っては意図的に変えてある。理由は、CAM-PCのカラーパレットの制約上、実機での表示色が全体的に鈍い印象であることと、当時のスパコンでのシミュレーション画像が、サイケデリックで強烈なインパクトを感じさせるものだったので、当時を偲んでその色彩を再現したかったからだ。また、シミュレーションのスピードも実機の約1/5に設定した。最高速ではセル空間の状態遷移の様子が良く判らないからだ。
このところ、何かと忙しかった上に、十日ほど前には7年前(!)に購入した自宅のマシンのハードディスクが起動時にSMARTアラートを出すようになったので、ディスクを交換したり、ついでにメモリを512MBから1GBに増設したり、DVD R/Wドライブを装着したりしていた。
マシンの更改も考えたのだが、使えるうちはとことん使うという我が家の美風を堅持して、直して使い続けることにした。因みに、これだけやっても総投資額は2万円少々だ。しかし、一応真っ当な職業に就いて定収のある人間がこんなところで経済をしていては、内需拡大など夢のまた夢というところだろう。まあ、今頃になって給付申請をした定額給付金とやらを使い切ったので、政府の景気刺激策に多少は貢献したのだろうが。
という訳で、久しぶりにCAM-PCの動画を投稿。
今回は、"FORGET-ME"と名付けられたフラクタル生成マシンだ。画面中央の正方形からスタートして、セル空間は万華鏡のような対称性 を示しながら成長する。
CAM-PCに付属してくるルールセットの中で私が最も気に入っているのがこれ。HEX-BANGというネーミングは、日本語に訳すと「六角バーン」というところか。FORTHのSCREEN 0に記載された説明を読むと、六角格子上の3状態により構成されたルールであることがわかる。
前回、投稿したCAM-PCの「amoeba」ルールだが、ランダムスープからの状態遷移を何度も試行錯誤していると、色々と面白いセル配置を発見することができる。今回は、それらを組み合わせたものを紹介したい。移動型セル配置の中に、昆虫を思わせるものが多いので、「creatures」と名付けた。
fleetsの記事で、lifegameの艦隊のセル配置がuser contributionに採用されたという話を書いたが、実は、ルールそのものも採用されたことがある。「amoeba」と名付けたものだが、50%のランダムスープからスタートすると、アメーバのようにセル集合が変形を繰り返し、やがて「蒸発」するというものだ。
ライフゲームには、いくつか面白いセル配置がある。とりわけサイクリックな状態遷移を繰り返しながら移動を続ける「グライダー」や「飛行船」といったタイプのものは、数多くのものが発見されてきた。
ここで紹介するのは、「飛行船」の中でも特に大規模なセル配置で、William Poundstoneの"The Recursive Universe"の中で紹介されている「大艦隊(fleet)」を縦横にマトリックス状に組み合わせたものだ。
CAM-PC(CAM 6)を久しぶりに動作させてみた。などと書いても、そんな物など知らないという人がほとんどだろう。という訳で、WIKIにリンクを張っておく。
かれこれ20年も前に、MITで開発されたセルオートマトン用の並列計算機である。計算機と言っても、PC-AT互換機のXTバス(!)に挿入する特殊なカードの形状をしている。256x256のセル空間内で、オートマトンのシミュレーションを並列処理することに特化して開発されたもので、MIT内では「CAM 6」と呼ばれていた。これをベンチャー企業のAutomatrixが「CAM-PC」の名称で販売していたのである。1990年代初頭の頃の話だ。
"FORTH is like the Tao: it is a Way, and is realized when followed. Its fragility is its strength; its simplicity is its direction."
は、Leo Brodieの"Thinking FORTH"の巻末に引用されているMichael Hamの言葉だ。何でもMountain View Pressの「FORTHについて25ワード以内で述べよ」というコンテストの応募作の一つだそうだ。かつて、このマニアックな言語を用いてプログラミングをしていた私にとっては、この文章の言わんとするところは、とてもよく理解できる。老子を意識しているところも好ましい。
と言うわけで、老子風の表現で訳してみた。
「FORTHは道の若し。従はば自から成る。微妙繊細にして剛なり。簡素を以て善しとす。」
それにしても、最近のWindows用開発環境の何と複雑怪奇なことか。FORTHは極端にしても、Cでプログラミングしていた頃のことが懐かしいなどと言うと歳がばれるかもしれない。