A-Life'A-Life'では、Artificial Life(人工生命)の概説のようなものを掲載しています。これは、もともと僕が所属していた部の文化祭の時に書いた文章で、内容的に古いところや、間違いもあるかもしれません。もし、なにか間違い等を見つけましたら、是非連絡してくださるとありがたいです。CONTENTS |
人工生命への招待この文章についてこの文章は、1998年度の文化祭での発表「人工生命」に関する基本的なことなどをまとめた文章です。この原稿の第一版は、「 筑波大学附属駒場中高パーソナルコンピュータ研究部」のホームページに最初に掲載されました。はじめに1998年度の文化祭で、私たちは「人工生命」に関する展示を行いました。文化祭では、人工生命のプログラムを実際に動かしながら人工生命について説明し、多くの人にその面白さを知ってもらうことができました。ここでは、それを再現しようと考えています。しかしながら、このホームページ上で文化祭と同じような状況を作り出すのには無理があり、文章主体の構成になってしまいます。ただ、文章主体の中でも、人工生命の魅力を十分に伝えられる内容になっていると思います。ぜひ、みなさんも人工生命の魅力を感じ取ってください。人工生命とは何か?人工生命とは何かを考える前に、「生命とは何か?」ということを考えてみましょう。さて、生命とは何でしょうか?。考えてみると、いろいろな考えが浮かんできます。たとえば、生命を「生殖能力をもったもの」と定義するとどうでしょう。一見それらしいのですが、もし生殖能力を失ってしまったら、生命とはいえないのでしょうか?。ほかにも考えは浮かんできますが、どれもこれも曖昧なものばかりです。つまり、「生命とは何か、と定義づけることは難しい」ということがわかります。では、なぜ私たちは「生命」を明確に定義づけられないのでしょうか?。人工生命の創始者である、クリス・ラングトン氏は、「それは、我々が地球上の生命しか見たことがないからだ」と説明しています。何も、地球上だけに生命が存在するわけではありません。広い宇宙の中に、他の生命が存在する可能性は十分にあります。つまり、そのような「考えられる生命すべて」を見なければ、生命の本質は見えてこない、ということです。では、そのためにはどうすればよいのでしょうか?。まず考えられるのは、宇宙にいって生命を探すことです。しかし、これは実現不可能ではありませんが、現状ではほぼ不可能でしょう。そこで考えられたのが、「人工生命」です。人工的に生命を作ることによって、生命の本質に迫ろうとする試み、それが「人工生命」という研究分野なのです。 とはいっても、実際の生命と同じような生命を作ることは現在の技術では不可能です。ですから、人工生命の研究では、実際の生命の機能の一部分をコンピュータなどで再現してみることによって研究を行っています。また、人工生命では、生命の材質ではなく、機能に注目します。そうすることで、コンピュータなどの人工的なメディアによって、生命現象を作り出し、地球上の生命とは違った形の生命として研究することができるのです。 ライフゲームでは、実際に人工生命の例を見てみましょう。ここで取り上げる「ライフゲーム」は、「セル・オートマトン」といわれる人工生命の一種で、人工生命関連のプログラムの中では、もっともよく知られているものの1つです。セルオートマトンがどういうものなのかを簡単に説明すると、マスが並んでいて(何次元でもよい)、各マスは周りのマスの状態に応じて変化していく、というものです。言葉だけではよくわからないと思うので、ライフゲームを実際に起動してみてください。(ここ(Zip形式で圧縮)にあります。C言語版です。まだ開発途中なのでバグや使いにくさはあると思いますが、一応動くので、よければ試して見てください。ただし、このプログラムを用いたことによって起こった損害については責任は負えませんので注意してください。)。たくさんのマスが並んでいるでしょう。一つ一つのマスをセル(細胞)といいます。ライフゲームでは、各マスには状態が2つあります。それは、「生きている」という状態と「死んでいる」という状態です。そして、ライフゲームには、マスがどのように変化していくのか、というルールがあります。ライフゲームでは、周りの8つのマス(上下左右と斜め4マス:これをムーア近傍という)の状態に応じてマスが次にどの状態になるのか、ということが決まります。では、周り8つのマスがどのようなときに、マスはどのように変化するのかを見てみましょう。ライフゲームのルール
さて、なぜここでライフゲームの話をしたのでしょうか?。人工生命の主要な結果である、「創発」という考え方を知ることによって、それは明らかになります。その話に入る前に、「Lシステム」という、植物の生長をモデル化したものを見てみましょう。 Lシステム「文字の列を作り出す仕組み」、それがLシステムです。これは、1968年に、リンデンマイヤーが提唱したシステムで、植物の成長と関係があることで有名になりました。どうして、文字列を作り出す仕組みと植物の成長が関係あるのでしょうか?。そのことを説明する前に、Lシステムの仕組みを説明しましょう。Lシステムの仕組みLシステムでは、「初期状態」と「ルール」が与えられています。以下の例を見てください。
Lシステムで木のグラフィックを描くここでは、ルールの中に、( )と[ ]を用いています。これは、木の枝分かれを表現したものです。
創発という考え方Lシステムもライフゲームも、「単純なルールを設定したら複雑な現象が起こった」という似たような結果を生みだしています。そうです!。ここに、人工生命研究の重要な結果である「創発」という考え方が潜んでいるのです。創発を簡単に説明すると、「単純なものが相互作用しあって複雑な挙動を示す(発する)」ということです。ライフゲームもLシステムも、ルール自体は単純でした。しかし、マスとマスが相互作用しあって、また、文字列が複雑に絡み合って、あのような結果を生みだしたのです。生命も、「創発」の考え方と結びついているのではないか?。今のところ、まだ答えはでていません。しかし、「創発」という考え方が生命を解く鍵となることはほぼ確実であるのではないのでしょうか?おわりに「人工生命への招待」はいかがだったでしょうか。私の知識不足のせいもあり、曖昧なところもあったのではないかと思います。ただ、人工生命の面白さは伝わったのではないかと思います。人工生命の研究では、他にもいろいろとおもしろいことが行われています。人工生命をゲームにしたり、遺伝的アルゴリズムで問題を解いたりと、様々な興味深い試みがなされているのです。興味があれば、人工生命について調べてみるのもおもしろいのではないかと思います。最後に、参考文献をあげておきますので、興味を持たれた方はぜひ読んでみてください。参考文献
|