「ライフゲーム」シミュレーターで実験してみよう!簡単なルールなのに生物のような複雑な動作に!
今回は、「ライフゲーム」シミュレーターを用意してみました!これは簡単なルールで動く生物でも、すごく複雑な動きをすることが理解できるゲームです!
後の記事で解説しますが、まずは実験して動きを見てみましょう!本当に色んな動きをして、見ているだけでも飽きないですよ!
ライフゲームとは?
ライフゲームのルール
ライフゲームとは↓のようなマス目上で「黒」か「白」の状態を持たせ、各マスを1つの生物とみて観察するゲームです。
黒が生存、白が死亡状態を指します。
そして、各マスは↓のように「周囲8個のマスのうち、何個が生存状態か」によって動きを変えます。
周囲の黒が2個か3個 ⇒ 生存したまま
その他 ⇒ 消滅
対象マスが白(死滅)の場合
周囲の黒が3個 ⇒ 復活
その他 ⇒ 死んだまま
例えば、↓の場合は中心のマスの周りに3つ生存マスがあるので「生存のまま」です。
逆に↓の場合は周りに5個の生存マスがあるので「死滅」となります。
また死滅したマスも、判定を行っていて↓の場合は周りに3つの生存マスがあるので、真ん中のマスは「復活」となるんです!
このような「死亡」と「復活」を繰り返すことで、まるで生きている生物のように複雑な動作を繰り返すんです!
意味合いとしては「適度に仲間が多い環境でのみ生存でき、過密すぎる環境だと死滅する生物」をモデルとしています。
また、「最適な環境でのみ、子供が誕生する」状態をモデル化しているんです。(復活=誕生という解釈)
今回の設定:両端はつながっている
上記ルールの場合「端をどのように判定するか」という問題があります。今回は↓のように「上下と左右で地球のようにつながっていている」ことを想定します。
つまり、↓のように上下端の赤い線同士で隣あっており、左右端の青線同士で隣り合っているものとします!
「ライフゲーム」計算シミュレーター!
- ↓のようにマス目があり、ランダム生成ボタンを押すと↓ランダムに生存マスを生成します
- 黒率スライバーで、どれぐらいの率で黒(生存マス)を生成するかも指定可能です
- 実行/中断ボタンを押すと、動かしたり、一時停止したりできます。↓で何ターン目か確認できます
- 各マスはタッチ/クリックすると白黒反転するので、手動でマスの状態を設定することも可能です!中断して、追加することも可能です
- 周囲生存数表示をONにすると、各マスの隣接の生存数が紫色で表示できます。次回生存になるマスは濃く表示されます
- 各マスがどんな動きをするか、確認してみましょう!
周囲生存数表示 OFF ON
シミュレーター結果考察
非常に複雑な動きになりますし、パターンによってすぐに収束したり、永遠と動き続けたりします、、、
これらは実はいくつかの「典型パターン」があって、それによって動き続けるか止まるかが決まるんです!
- 簡単な生物の生死のルールでも複雑な動きが観測できる
⇒「ライフゲーム」カテゴリ記事一覧
その他関連カテゴリ