WISS2008

Real Life: ライフゲームの一変形
Real Life: a variation of Conway’s Game of Life寺田 実∗
Summary.
John Conway のライフゲーム (Game of Life) はセルオートマトンの興味深い一種である.
本研究では , 0 と 1 であったセルの状態を [0, 1] の実数値に拡張し , それに見合うように遷移規則を定義した. 遷移規則の設定にあたっては , 等方的であること , 対称であること , 単純であることを重視した. その結果, 変化に富んだパターンの生成を見せるシステムを構成することができた. 観察によって発見したいくつかのパターンについても紹介する.

1

ライフゲーム

数学者の John Conway が考案し , 1970 年に紹介 [1] されたライフゲーム (Game of Life) は , 平面上のセルオートマトンの興味深い一例として, 数学的にも, さらにはエンターテイン メントの対象としても大きな関心を受けてきた. その特徴は以下のようなものである:

期パターンを発見する点に興味が集まる. そうした性質の一例としては ,• 比較的少数のセルを初期パターンとして, 定常状態に至る世代数が長いもの. この一例としては , F-pentomino が有名である• 周期的に形を変えつつ平面を移動していくもの. この一例としては , glider が有名である• 生存セルの数が無限に増加するもの. この一例としては , glider gun が有名である

1. 離散空間
セルは格子状に区切られた無限平面に配置される.

2. セルの値は 0/1
オートマトンとしてはセルは二状態である. セルの初期値は初期パターンとして指定する. 既定値は 0 である.

3. 離散時間, 同期的すべてのセルは世代というクロックにしたがって遷移する. 遷移は同期的であって, すべてのセルが状態遷移のための計算を完了してから一斉に状態を変更する.

4. 単純な状態遷移規則
セル (x,y) の値を vxy , その 8 近傍のセル値の′和を Sxy として, 次の世代のセルの値 vxy
は′vxy=

 1 if vxy = 1 and 2 ≤ Sxy ≤ 3


1 if vxy = 0 and Sxy = 30 otherwise

で計算される. この規則は , 一種の生態系のシミュレーションになっていて, 周囲の個体数が適切な範囲に入っている場合にのみ生存できるという解釈が可能である.
初期状態のパターンがすべてを決めているため ,ゲームとして見た場合, ある性質を満たすような初∗Copyright is held by the author(s).
Minoru Terada, 電気通信大学 情報通信工学科• チューリングマシンを実現するもの [2].
現在でも, 「興味深い」初期パターンを探している人は多い.

2Real Life

本研究のアイデアは , このライフゲームのルールのうち「セルの値」を実数とすることである. (正確にいうと , 0 以上 1 以下の floating point numberにする.) これに伴って以下のような修正を行った:

2.1 遷移規則
Real Life の遷移規則は以下の点を考慮した.
• 等方性
ライフゲームの規則では , 8 近傍を等しく扱う(等方性). Real Life でもこれを踏襲する.

• 生成/死滅は対称の関数適用で値を更新
単純に 0 や 1 に設定するのではなく, 次節で述べる増加と減少の関数を適用して値を更新する.

• 規則の単純化
現在のセルの値で遷移規則を場合分けしないこととした.
′以上を踏まえて, 次の世代のセルの値 vxyを
′vxy=inc(vxy ) if TL ≤ Sxy ≤ TH
dec(vxy ) otherwise

WISS 2008

4

特徴的なパターン

シミュレータを動作させることで , 非常に多様なパターンを生成できることが確かめられたが , ここ
では発見したパターンの一部を紹介する.
定常的なパターン4.1

次のような安定な定常パターンがあることがわかった.

4.1.1

縞模様

たとえば TL = 1, TH = 5 と設定すると , 0 と 1からなる縞模様では , 0 の周辺のセル和が 6, 1 の周辺のセル和が 2 となり, それぞれ減少と増加が適用
されて 0 と 1 の値が保たれる.

図 1. Real Life のスクリーンショット

Rocket を繰り返し発射する rocket factory と呼ぶパターンを実行中である. 右上の制御パネルから ,各種定数の設定や, 実行制御, 初期パターンのファイルへの格納と呼出しが可能である.とする. ここで , inc, dec は次節で説明する増加減少の関数である.

2.2

4.2dec(x) = x/Finc(x) = 1 − (1 − x)/F= x/F + (F − 1)/F
以上をまとめると , 三つの定数 TL , TH , F で遷移規則が決まることになる. これらの定数の範囲は ,0 ≤ TL ≤ TH ≤ 8, 1 < F である.

シミュレータパターンの変化を実際に確かめる目的で , Java によるシミュレータの実装を行った (図 1). 主な仕様は以下のとおり:• セル値は倍精度浮動小数点数 (double) とし ,画面では色相で表現する. (青=0.0, 赤=1.0)• 平面領域の辺縁については , トーラスと 0 固定のいずれかを選べるようにした:

移動するパターン

ライフゲームにおける glider のように , 一定の周期で形を変えつつある方向に移動しつづける. たとえば , F = 2, TL = 1.25, TH = 1.5 という設定のもと ,3/163/16状態変化の関数

ライフゲームにおいては , セルの状態変化は 0/1の値を設定するだけであったが . Real Life においては , 連続的な変化である必要がある. 関数値の範囲が [0, 1] であること , 増加と減少が対称になること , 関数適用を繰り返すと 1 と 0 に収束することなどを考慮して, F を定数として, 以下のように定めた:

34.1.2 二相の振動
F = 2 のとき, dec(inc(1/3)) = 1/3 なる関係が成立する. したがって, TL < 8∗1/3 < TH < 8∗2/3を満たすように閾値をえらべば , 1/3 で一様に埋められた領域は安定した二相の振動を示すようになる.

3/43/4なる初期パターンから出発すると, ほぼ同様な形を保ったまま周期 2 で右方向に飛行する. (rocket と名づけた.) 定数を変化させることで , 振舞に微妙な変化を与えることもできる.

5まとめ

Conway のライフゲームを , 連続値に拡張することによって, 多様なパターン生成のメカニズムを構成することができた. 数学的な興味のほかにも, 動
きのあるデザイン生成系やアートとしての位置づけも可能であると考えている.

参考文献[1] Martin Gardner. The fantastic combinations ofJohn Conway’s new solitaire game “life”. Scientific American. Vol. 223 (October 1970), pp 120123.
[2] PaulRendell.
ATuringMachine
inConway’sGameLife,extendable to a Universal Turing Machine.
http://rendell-attic.org/gol/tm.htm.