2019年12月31日)2008-09-14ライフゲームPygame人工知能というより人工生命の分野ですが最初はライフゲームを作ってみます。ライフは人生という意味もありますがライフゲームは人生ゲームとはまったく関係ありません。フィールド(黒い部分)をマウスクリックすると、黄色い■が出てきます。一度押すと■が消えます。キーボードの上下左右キーで青色のカーソルを動かしてスペースキーで描くこともできます。細かい図形を描くときはキーボードの方が便利です。キャンバスに適当に描いたら、Sキーを押してください。徐々に図形が変化していきます。一度Sキーを押すと止まります。Nキーを押すと1ステップずつ経過をみることができます。Cキーを押すとフィールドをきれいにします。Rキーを押すと適当に■をばらまきます。pylife.pyライフゲームとはライフゲームは1970年ごろにイギリスの数学者コンウェイが考案したゲームです。ゲームといってもユーザにできることはライフの初期配置を決めることだけで、あとは画面上の変化を楽しむものです。万華鏡みたいなものですね。ライフゲームはとても単純な規則から成り立っています。そのような単純な規則からさまざまな図形が生み出されます。その振舞いは非常に複雑でまるで生命のように感じられます。このように単純な規則から複雑な振舞いが生じることは人工生命分野では創発と呼ばれます。ライフゲームは人工生命分野の古典的プログラムと言えます。ライフゲームで興味深い点は、ライフゲームの世界に生命を持った物体が存在する可能性があることです。えっ?コンピュータの中に生物がいるはずないって?世の中にはそう考えない人もいるんです。私たちが知っているタンパク質でできた生物がすべてではない。生命の本質は自己複製にあってタンパク質でできていようがソフトウェアでできていようが関係ないって・・・ライフゲームの仮想世界で生物の自己再製を研究した人の中にはパソコンの原理を発明したフォン・ノイマンや人工生命の研究を始めたラングトンがいます。彼らは自己複製ループを実際に作り、生物と同じ現象を再現することに成功しています。(注)フォン・ノイマンやラングトンが対象とした世界は見た目はライフゲームに似ていますが、ライフゲームよりはもっと複雑なセル・オートマトン(2012/1/13)という環境です。詳細を知りたい方は参考文献を参照してください。ライフゲームの素晴らしい解説動画です。ライフゲームの深淵を垣間見ることができます(2013/1/5)ライフゲームの規則ライフゲームの1つのマスはセルと呼ばれます。セルとはドラゴンボールに出てくる・・・じゃなくて細胞のことですね。セルには「生」と「死」の2つの状態があります。「生」の状態は黄色の■です。「死」の状態は黒です。各セルは周囲8つのセルと接しています。セルの次の世代の状態は周囲の8つのセルの状態によって決まります。その規則はとても単純です。生きているセルの周囲に2つまたは3つの生きているセルがあればそのセルは次の世代も生きている死んでいるセルの周囲に3つの生きているセルがあればそのセルは次の世代で生き返る(子供が生まれる)それ以外の場合には次の世代で死ぬ周囲に適度なセル(2つか3つ)があれば快適なので生き残れるがそれ以上いるとストレスで、少なすぎるとさびしくて死んでしまうってことですね。3ついると子供が生まれるって想像すると何か変ですがそういう決まりです(笑)。数にいくつか例を示します。:plain面白いパターンライフゲームの研究を通して面白いパターンがたくさん見つかってます。入力する位置はどこでもいいんですが、パターンによって動く方向があるので説明を読んで適当に配置してみてください。ブロック永遠に変化がないパターンである固定物体の代表。なんでタブ???蜂の巣これも個体物体。見た目が蜂の巣に似てる。ボートこれも固定物体。見た目がボートに似てる。ボートを少し豪華にしたので船かな。