1970年に,ケンブリッジ大学のコンウェイによって作られたゲームである.二次元の碁盤の目を考える.それぞれのセルは二つの状態をとることができる.ここでは1(生)と0(死)とする.
正方形に碁盤の目は切られているので,すぐ隣のマスは4個ある.斜め隣のも含めると,隣の数は4個増えて8個となる.
ライフゲームはあるステップから次のステップへの変換ルールを与えることで進行していく. そのルールは以下のとおり.
4 <= 生きているセルの数 10 11 11 11 12 11 13 11 <= 生きているセルの座標とする. したがって, データの読み込みは以下のようにすること.
read(1,*) ncell
do i=1,ncell
read(1,*) nx,ny
cell(nx,ny)=1
enddo
write(1,*) ' 'と空白を書き込むことにより一行の空行を作っておくこと. こうしておくとアニメーションがgnuplotで観察できる.
gnuplot> n=0 gnuplot> load 'anim.txt'ここで,anim.txtの中身は以下のとおり.
set xrange [0:101] set yrange [0:101] if (n>ループ回数) exit p "ファイル名" every :::n::n w p 1 print n pause 0.1 n=n+1 reread"ファイル名"に結果を出力したファイル名を記入すること.ループの回数を"ループ回数"に記入すること.xrange, yrangeの範囲は適宜変更すること.
ライフゲームは極めて単純な規則からなっているにも関わらず、極めて多様なパターンを生み出す. 単純な例から順番に見ていってほしい.