最終更新日1996/12/21
Random CAs Applet
ランダムにいくつかのCA(セルラーオートマトン)を切り替えて、
表示するアプレット。
現在、入力機能はない。乱数で初期化してスタート。
うちのホームページのフレーム版メニューの飾り用に作成。
パラメーターについて
- width
アプレットの画面の横幅を変える。偶数のみ
- height
アプレットの画面の縦幅を変える。偶数のみ
- ca.***
セルオートマタの種類。どれか一つは選んでおかないといけない。
いくつか選ぶと、選んだものがランダムに表示されます。
- wrap
縁を反対側につなげるか?
パラメーターを変更したら、リロードボタン(フォームの)を押すと、画面に反映されます。
セルオートマタの説明。
セルオートマタってーのは、なんか、空間をブロックに分けて、
ブロックがそれぞれある状態を持ち、周りのブロックの状態に応じて、
自分の状態を変化させるってーもんです。
まー、うまく説明できんので、LifeGameのアルゴリズムを説明するっす。
LifeGameは、それぞれのブロック(セル)が0か1かの状態をとります。
で、自分の周りのセルを調べて、1のセルが三つなら、誕生といって、
自分が0であっても、1になります。
で、1のセルの数が、二つの場合は、生存といって、自分が、1に
なっていたら、そのままですが、0の場合もそのままです。
で、もし、周りの1のセルの数が、1以下や4以上だった場合は、
死んでしまいます。(0になる)
で、これだけのルールですが、斜めにずーっと移動するグライダー
と言われるパターンや、固定して変化しない四角や、丸。信号と
いわれる三つの点が、直列になり、横と縦を交互に繰り返すものなど、
いろいろなパターンが出てきます。
実現しているCA
作ったけど、エラーが出たりなんかいまいちなので使用してないCA
- Melt
- Rug
- Zhabotinsky
- Faders
変更
1996/12/21
JavaScriptを利用して、パラメーターを変更できるようにする。
ソースコード
RandomCAs.javaアプレット本体
CAs.javaセルラーオートマタの親クラス
Life.java
Vote.java
Brain.java
Melt.java
Rug.java
Zhabotinsky.java
Faders.java
ダウンロード用アーカイブ
CAs.lzh
ポップアップメニューのSave asで保存するようにしてください。
参考文献:ルーディーラッカーの人工生命研究室と、CAのプログラムの本など、、、