人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

ライフゲーム

人工知能というより人工生命の分野ですが最初はライフゲームを作ってみます。ライフは人生という意味もありますがライフゲームは人生ゲームとはまったく関係ありません

とある理由でJARではなく自己解凍exeにしました。解凍したらclickme.batをダブルクリックすれば実行できます。本当はjarにしたかったんですがjarの中からサブフォルダのリソースにアクセスする方法がわからなかったのです・・・

lifegame.exe

操作法

f:id:aidiary:20100518151046g:plain

まず、キャンバス(黒い部分)をマウスでクリックすると、黄色い■が出てきます。もう一度押すと■が消えます。キーボードで描くこともできます。キャンバスを一回クリックしてフォーカスを移します。キーボードで上下左右へ移動できスペースで■を描けます。細かい図形はキーボードを使うのが楽です。

キャンバスに適当に描いたら、Startを押してください。徐々に図形が変化していきます。Stopを押すと止まります。またStepを押すと1ステップずつ経過をみることができます。Clearを押すとキャンバスをきれいにします。Randを押すと適当に■をばらまきます。

これだけでもライフの複雑な動きが楽しめますが、ライフゲームの研究を通してすでに明らかにされている面白いパターンがたくさんあります。コンボボックスの▼を押せば登録済みライフの一覧が表示されます。この中から好きなのを選んでみてください。キャンバスに選んだライフが表示されます。そのライフの簡単な解説が下のテキストボックスに表示されるようにしてあります。

面白いライフができたらファイルにセーブすることもできます。まず始めにコンボボックスの空白を選んでライフの名前を入力します。その後キャンバスに自分で作ったライフを描きます。解説を追加することもできます。SAVEボタンを押せばlifeディレクトリにそのライフが保存されます。

(注)キャンバスに描いてからライフの名前を入力しようとするとキャンバスがクリアされてしまいます。保存機能は暫定的なものなので改良の余地はたくさんあります。

ライフゲームとは

ライフゲームは1970年ごろにイギリスの数学者コンウェイが考案したゲームです。ゲームといってもユーザにできることはライフの初期配置を決めることだけで、あとは画面上の変化を楽しむものです。万華鏡みたいなものですね。

ライフゲームはとても単純な規則から成り立っています。そのような単純な規則からさまざまな図形が生み出されます。その振舞いは非常に複雑でまるで生命のように感じられます。このように単純な規則から複雑な振舞いが生じることは人工生命分野では創発と呼ばれます。ライフゲームは人工生命分野の古典的プログラムと言えます。

ライフゲームで興味深い点は、ライフゲームの世界に生命を持った物体が存在する可能性があることです。えっ?コンピュータの中に生物がいるはずないって?世の中にはそう考えない人もいるんです。私たちが知っているタンパク質でできた生物がすべてではない。生命の本質は自己再製(複製)にあってタンパク質でできていようがソフトウェアでできていようが関係ないって・・・ライフゲームの仮想世界で生物の自己再製を研究した人の中にはパソコンの原理を発明したフォン・ノイマンや人工生命の研究を始めたラングトンがいます。彼らは自己複製ループを実際に作り、生物と同じ現象を再現することに成功しています。詳細を知りたい方は参考文献を参照してください。

(注)フォン・ノイマンやラングトンが対象とした世界は見た目はライフゲームに似ていますが、ライフゲームよりはもっと複雑なセル・オートマトンという環境です。

ライフゲームの規則

ライフゲームの1つのマスはセルと呼ばれます。セルとはドラゴンボールに出てくる・・・じゃなくて細胞のことですね。セルには「生」と「死」の2つの状態があります。「生」の状態は黄色の■です。「死」の状態は黒です。各セルは周囲8つのセルと接しています。セルの次の世代の状態は周囲の8つのセルの状態によって決まります。その規則はとても単純です。

  • 生きているセルの周囲に2つまたは3つの生きているセルがあればそのセルは次の世代も生きている
  • 死んでいるセルの周囲に3つの生きているセルがあればそのセルは次の世代で生き返る(子供が生まれる)
  • それ以外の場合には次の世代で死ぬ
  • この規則を全セルに適用する

周囲に適度なセル(2つか3つ)があれば快適なので生き残れるがそれ以上いるとストレスで、少なすぎるとさびしくて死んでしまうってことですね。3 ついると子供が生まれるって想像すると何か変ですがそういう決まりです(笑)。数にいくつか例を示します。

f:id:aidiary:20100518151047g:plain

関連リンク

  • Conway's Game of Life - ライフゲームの素晴らしいアプレットがあります。私のものより広い範囲を見られます。

ライフゲイムの宇宙

ライフゲイムの宇宙

  • 作者: ウィリアム・パウンドストーン,William Poundstone,有澤誠
  • 出版社/メーカー: 日本評論社
  • 発売日: 2003/06/12
  • メディア: 単行本
  • 購入: 5人 クリック: 280回
  • この商品を含むブログ (41件) を見る

おすすめの本です。ライフゲームの説明だけでなく、熱力学や現代物理学、天文学、生物学の話題も散りばめられています。少し難しいですがとても面白いです。初版は1990年ですが2003年に復刊されました。