Javaプログラミング/Javaプログラミング関連情報

Lifeゲームって、知っていますか?(2ページ目)

今回は、数学シミュレーションの古典ともいえる「ライフ」ゲームを作ってみます。単純ですが、意外にはまりますよ。

執筆者:掌田 津耶乃



ライフの世界を検証しよう


ライフの繁殖/死滅ルールはごく単純なものです。あるマス目は、その周囲に8つの隣接するマス目を持っています(上下左右と斜め)。この周囲8つのマス目の状態に応じて、繁殖/死滅が決められます。そのルールは以下の4つです。

●あるマス目に生物が存在し、その周囲に2または3の生物が存在する時、そのマス目の生物は次の世代も生き延びる。
●ある生物のいないマス目の周囲に3つの生物が存在する時、そのマス目には新たに生物が誕生する。
●ある生物の存在するマス目の周囲に0または1の生物が存在する時、そのマス目の生物は孤立により死滅する。
●ある生物の存在するマス目の周囲に4以上の生物が存在する時、そのマス目の生物は過密により死滅する。

たったこれだけのルールなのですが、実際にやってみると非常に面白い変化が楽しめます。思いがけない発展をするもの、たくさんあった集落が数世代のうちに滅んでしまうものなど、想像のつかない変化が起こるのですね。この不思議なパターンを眺めていると、なんとも奇妙な錯覚に陥ります。まるで顕微鏡で微生物の世界を覗き見ているような、画面の中に本当に生きている生物がいるような、そんな錯覚に。

変化しないパターン。
上と下のパターンを繰り返し続けるもの。
常に移動し続けるグライダー。
ライフでは、現在までにさまざまなパターンが確認されています。まったく変化しないパターン、常に同じ変化を繰り返すパターン、一定の変化を繰り返していくパターンなどなど、多くの不思議なパターンが見つかっています。以下に、有名なものをあげておきましょう。

●変化しないパターン
完全にパターン内部で生存状態が固定されてしまい、まったく変化をしないパターンです。これは外部から刺激が与えられない限り永遠に現在の状態のまま存続します。

●振幅するパターン
2つのパターンを交互に繰り返し続けるものです。同じことの繰り返しですから、変化はあってもやはり永遠に存続します。

●移動するパターン
これは「グライダー」と呼ばれる、ちょっと不思議なパターンです。一定の変化を繰り返しながら、少しずつ位置を移動していくのです。まるでその集落が落ち着く場所を探してさまよっているようですね。

他にも、グライダーを永遠に発射し続ける「グライダーガン」であるとか、宇宙船の周りにいくつもの小さな船を従えて進み続ける「宇宙船団」など、実に魅力的なパターンが見つかっています。ひょっとしたら、新しいパターンをあなたも発見できるかも知れませんね?

  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます