セルオートマトンシミュレーター(暫定版)

X-window上で動く、1次元2状態セルオートマトンのシミュレータです。 3近傍の一般ルールと5近傍および7近傍のtotalisticルールを扱えます。

準備

以下のURLから、CA.tarというファイルをダウンロードしてください。 NetscapeやMozillaなら、リンクの上で右クリックして、"リンク先を保存"すればいいでしょう。

http://www.cp.cmc.osaka-u.ac.jp/~kikuchi/kougi/simulation/CA.tar

これは実行ファイルと入力データをひとまとめにしたものなので、適当なディレクトリで展開します。 展開はtarコマンドを使って

$tar -xvf CA.tar
これで、CA1, in3, in5, in7というよっつのファイルができます。 CA1が実行プログラムで残りはそれぞれ3,5,7近傍の入力データファイルのサンプルです。

なお、プログラムのソースに興味がある人は、 ここをクリック

実行

このプログラムは実行時に必ず入力データファイルを指定しなくてはなりません。 たとえば、in3を入力データとするときは
$./CA1 in3
start/continueボタンを押すと、シミュレーションを開始し、画面下まで到達すると 一旦停止します。続きを見たければ再びstart/continueを押してください。 また、quitボタンで終了します。

入力データファイル

データファイルの名前はなんでもオッケーですが、中身は書式通りに書かなくてはなりません。 たとえば、サンプルのin5の中身は
2
5
0 0 1 0 1 0 
r
0.8
となっています。一行ずつ解説します
  1. 状態数ですが、暫定ヴァージョンでは二状態しか扱えないので、必ず2としてください
  2. 近傍数です。3, 5, 7のいずれかの数値に限ります。3近傍では一般的なルール、5および7近傍では totalisticルールに限定されます。totalisticというのは近傍内にある1の総数だけで状態が決まり、1の並び方の違いによらないというものです。
  3. ルールです。3近傍のときは
    000 001 010 011 100 101 110 111
    のそれぞれの状態のときに真ん中の状態が0,1のどちらになるかを順に並べます。
    5近傍のときは、左から順に、1の数が0から5のときに真ん中の状態が0,1のどちらになるかを順に並べます。
    7近傍のときは、左から順に、1の数が0から7のときに真ん中の状態が0,1のどちらになるかを順に並べます。
    したがって、3,5,7近傍の場合それぞれこの欄には8,6,8個の数字(すべて0か1)が並んでいなくてはなりません。
  4. 初期状態です。rはランダムに設定すること。sは配置をあらわに指定することを 意味します。
  5. ランダム初期状態の場合には、ここに初期状態での1の密度を入れます。当然、0と1の間の 実数です。
    配置をあらわに指定する場合、最後の二行はたとえば
    s
    1 0 0 1 0 0 1
    
    のようになります。これは7個の格子点だけを指定しています。 この場合、ここで指定した状態は必ず格子の真ん中付近に配置され、それ以外の部分は0になります。 つまり今の例では、初期状態は
    0 0 0 ...... 0 0 1 0 0 1 0 0 1 0 0 0 ...... 0 0 0 
    
    と指定したのと同じです。 暫定ヴァージョンでは、最大80格子点までの状態しか指定できません。