とても古いコンピュータゲームのひとつに「ライフゲーム」というゲームがあります。イギリスの数学者ジョン・コンウェイが1970年に考案しました。英語では「ゲーム・オブ・ライフ」と言って、文字通り「生命のゲーム」という意味です。
ライフゲームはコンピュータを相手にする一人遊びです。将棋盤のような盤面がありますが、コマの代わりに1種類の石だけを使います。最初に好きなだけ石を置けますが、石を置いたらあとは見るだけです。その代わり、あとはコンピュータが続きをやってくれます。
コンピュータは図1のルールに従って、1ターンごとに石を盤面から取り除いたり、逆に置いたりします。
空いているマスの隣に石がちょうど3個あれば、次のターンでそのマスに石を置く。
石の隣に石が2個または3個あれば、その石は次のターンでもそのままにしておく。
石の隣に石が1個以下しかなければ、その石は次のターンで取り除く。
石の隣に石が4個以上あれば、その石は次のターンで取り除く。
ルールは以上のよっつだけです。これのどこが「生命のゲーム」なのでしょうか。コンウェイは次のように考えたのです。「ルール1」は生命の誕生に相当します.3個の石が集まると、1個の石が生まれるわけですね。「ルール2」は生存を意味します.2個または3個の石に囲まれていると、その石は次の世代まで生き残れるのです。「ルール3」と「ルール4」はそれぞれ、過疎と過密を表しています。そのどちらでも、次世代には生き残れないという設定なのです。
言葉だけでは分かりづらいと思いますから、ぜひ次のページで試してみてください。
もし盤面に石をひとつだけ置いておくと、ルール3によって「絶滅」してしまいます。人間の集落がある程度の規模でないと消滅してしまうのと同じですね。
盤面に石を4個、正方形状に並べると、その集落は永遠に形を変えません。とても安定しているわけですね。次は石を9個、3x3の正方形に並べてみましょう。そうすると、ライフゲームはあるパターンを繰り返すようになります。
みなさんもいろんな初期配置を試してみてください。中には「グラインダー」として知られている、移動していくパターンもあります。それどころか、増殖していくパターンすら見つかっています。図2に示した「Rペントミノ」配置は1,103ターンまで変化を続けます。
たった4個のルールしかないのに、想像を超える多様性を示すのがこのライフゲームの面白さです。ほとんどの初期配置は動かなくなる(あるいは消滅する)か、繰り返しパターンに入るか、移動していくかですが、先程見たように増殖することも、一見すると無秩序になることもあることが知られています。どんな初期配置が知られているか、気になる方はこちらから見てみてくださいね。
1970年に考案されたゲームですが、研究者たちはいまだにこのゲームに取り組んでいます。
ところで、イギリスの数学者アラン・チューリングは1930年代に、逐次実行、条件分岐、繰り返しの3要素がコンピュータプログラムの本質だと発見しました。どのようなプログラミング言語もこの3要素を備えています。
ここでライフゲームのルールを思い返してみましょう。ライフゲームはターンがありますから、逐次実行されます。ライフゲームのルールは条件分岐そのものです。そして、繰り返しパターンが見つかったことから、ライフゲームには繰り返し能力があることがわかります。
ということは、ライフゲームは一種のプログラミング言語なのでしょうか。
そうなんです。驚くべきことに、ライフゲームは入出力の方法が独特なだけで、どんなプログラムも書ける言語なんです。実際,2018年には「ライフゲームをライフゲームで作る」というとんでもない初期配置が見つかり、この説は工学的にも証明されました。
ライフゲームはその名の通り、生命を模倣するゲームとして考案されました。しかし、たとえばイギリスの理論物理学者スティーブン・ウルフラムはライフゲームを通して「複雑系」の研究に進みました。彼は、この宇宙が巨大なライフゲームなのかもしれないと想像してみたのです。彼の研究を受けて、アメリカの計算機科学者クリストファー・ラングトンは「カオスの縁(ふち)」や「人工生命」という新しい概念を生み出しました。
またたとえばオーストリアのメディア芸術家クリスタ・ソムラーは、ライフゲームを芸術に昇華させました。彼女の作品は見るものに「生命とは何か」を考えさせます。
ぜひ皆さんも、ライフゲームの奥にあるものを、探してみてください。
掲載大学 学部 |
長崎大学 工学部 | 長崎大学 工学部のページへ>> |
私たちが考える未来/地球を救う科学技術の定義 | 現在、環境問題や枯渇資源問題など、さまざまな問題に直面しています。 これまでもわたしたちの生活を身近に支えてきた”工学” が、これから直面する問題を解決するために重要な役割を担っていると考えます。 |