名古屋大学 <情報文化学部:人間情報学研究科>広報誌 11号(1998年4月)より

研究紹介

10歳の人工生命


名古屋大学大学院 人間情報学研究科

有田 隆也

ari@info.human.nagoya-u.ac.jp
私が没頭している研究分野を一言で表すなら「人工生命(Artificial Life)」 です。この新しい科学の模索が始まってから10年というところなので、まだ、 海のものとも山のものともつかぬという面もある領域なのですが、なかなか魅 力的な学問だと感じています。私のところで行っている研究をいくつか簡単に 紹介しつつ、人工生命の研究とは何なのか説明したいと思います、魅力の一面 がわかっていただけたらと願いつつ。

コンピュータの中で「生きている」!

人工生命の研究は一体何を目指しているのでしょ うか? 人工生命の生みの親であるC. Langton(人物紹介参照)による次のよ うな言葉があります。
「われわれの知っている生命(Life as we know it)だけを対象としているの ではなく、存在しうる生命(Life as it could be)すべてを対象とするのだ」
我々の知っている地球上の生命を対象としてきたのが従来の生物学だと言えま すが、地球上の生物たちは偶然性にも左右されてたまたま現在のような姿をと ったのかも知れない、つまり、ひとつの実例であると考えるのです。「生命現 象の普遍的な特質や現象を主にコンピュータを使った構成的研究によって解き 明かしたい」というのが,人工生命研究の第一の目的と言えます.構成的研究 というのは、対象とするものを細かく細かく分割していってそれを理解しよう というやり方とは正反対で、対象とするものを完全には理解していなくても、 とりあえずシンプルなものでいいからモデルとして作り、作ったものがその対 象と似た振舞いをするかと調べる研究のやり方です。もし、似た振舞いをする のならば、両者のメカニズムにも共通性があるに違いないと考えるのです。
「1990年1月4日は記憶にとどめておくべき日である。この日、史上初めて、炭 素によらない生命が、コンピュータの中で誕生した」
と、サンタフェ研究所のJ. L. Castiが大げさに形容している、T. Ray (人物紹介参照)のTierra(ティ エラ)モデル(図1)は、人工生命の初期段階の研究としては、もっとも有名 で重要な成果と言えるでしょう。簡単に言うならば、自分自身のプログラムコー ドをコピーするようなプログラムを一個実行させ、さらに突然変異として、で たらめに命令を書きかえることを行うようにしたら、自然の生態に見られるよ うなさまざまな複雑な相互作用(寄生、重寄生など)に基づく多様性が生じた というものです。もちろん、コンピュータのメモリに格納された状態にせよ、 紙に印刷された状態にせよ、数字の列、そのものが生物と言うのは、さすがに 無理があると私は思いますが、メディアとしてコンピュータを用いて、生命現 象に類似した現象を一種の進化の力を使って再現できたということです。ポイ ントは、そのプログラムが実在の生物をシミュレートしたものではなく(それ では単なるシミュレーションになってしまう)、複製するという意味以外にシ ミュレートすべきものなどの意味付けを持たないというところです。

図1 T. RayによるTierraモデル
計算機の中に仮想的な世界があり、プログラム一つの実行が生物一個体に相当する。まず、Rayが書いたプログラムであり、子孫が生み出される最初の先祖にあたるひとつのプログラムを計算機のメモリ上に置き、実行を開始する。プログラムは、単に自分自身のプログラムコードを他のメモリ領域にコピーするというものである。コピーが終わるとコピーされたプログラムの実行を開始するとともに、また新たなメモリ領域へ自分自身のプログラムコードのコピーを繰り返す。コピーされたプログラム(子)も親のプログラムと同様にコピーを繰り返す。プログラムコードのランダムな変更やコピー時のエラーのメカニズム(突然変異)を加えたところ、しだいに、他のプログラムコードをうまく利用したり(寄生)、さらにそれを利用したり(重寄生)、また、お互いに依存し合ったり(社会的重寄生)するなど生態系に見られるような複雑な相互作用が生じてきた。また、コンピュータの高速なコードを生成するために使用されるような巧みなコード生成技術(ループ展開)が自動的に編み出された。写真左上は、実行中のメモリの状態が色分けされて示されている。明るい色のところがプログラムが格納されている部分である。

このTierraモデルは多くの研究者たちの注目を集め、また、若い人たちを魅了 しました。実際、優秀な若者たちがこの研究を知って人工生命の世界に飛び込 んできましたし(嘆いている先生も少なくない)、Tierra風のモデルも多数考 え出されてきました(http://www.hip.atr.co.jp/~ray/tierra/like.htmlにはRay 自身の手でTierra風モデルが20以上挙げられています)。たとえば、1996年に はベル研究所のA. N. Pargellisは、Rayが手で書いた先祖プログラムさえ用意 せずに、それこそゼロから生態を作り上げるのに成功しました。
このTierraモデルに始まる一連の研究は、生命現象の理解を目的とする人工生 命研究の有力なアプローチのひとつと言えます。もう少し抽象的な対象として 「創発(Emergence)」という現象があります。創発という概念自体は主に哲学 の領域で比較的古くから考えられてきましたが、人工生命では、生命の誕生, 個体発生,生物進化、さらには、心の誕生,社会の発生,経済や文化の進化な ど,さまざまな場面でこの創発と呼ばれる現象が作用している可能性があると 考えます。創発とは何かということは、文脈に応じて、生物進化のような長い スケールのメカニズムの中で起こる現象を指す場合もあれば、そうでない場合 もあります。でも、まあ、俗っぽく言うならば、「集団を構成しているひとつ ひとつは阿呆だが、それらの相互作用によって、全体として、少し賢いことを 結果として行うようになる」とでも言いましょうか。
大学院生の小鹿君が中心となって行っている研究をひとつ紹介しましょう(図 2)。被食者と捕食者の間には、食べるほうは早く捕まえて食べたい、捕まる ほうは捕まらずになるべく早く逃げ出したいという関係がありますが、この相 互作用に基づく共進化を利用して、色のついた模様を連続的に自動生成させよ うというものです。自然の風景を見て人間は感動します。生物の体表(蝶の模 様など)に見られる美しい模様はさまざまな原因で作られてきたと考えられま すが、特に捕食者−被食者間の相互作用を抽象化して、それはもうとてもシン プルなモデルとしました。そして、計算機パワーを利用して、何百何千という 世代交代を繰り返して体表パターンを進化させます。また、応用的な面を考え て、「共進化する表層」というコンセプトを練っているところです。これは、 この先、より多くの人工物に囲まれて暮らすようになると考えられる我々の生 活を少しでもナチュラルなものにしようという考えから、人工物の表面をこの ような技術を使っていつも進化させ続けたらどうだろうというものです。

図2 共進化するカラーパターン・モデル
複数種の仮想生物を想定し、種間に捕食―被食関係を設定する(たとえば、A種はB種を餌として食べ、B種はC種を餌として食べる)。各個体は、遭遇した相手の体表カラーパターンを使って、相手が自分にとって、捕食者か、被食者(餌)か、あるいは、背景(生物はいない)かを判断し、それに伴った行動をとるものとする。ランダムにペアを選んで遭遇させる操作を繰り返すうちに、適切に判断した個体の得点(適応度の増加)は大きくなる。遭遇時の判断のための比較パターンは、遺伝子として表現された情報を使って、発生のアルゴリズムを用いて作っている。一定期間ごとに適応度に応じた遺伝的操作(自然選択や突然変異)を行って、次世代の集団を構成する個体群を作る。世代交代を繰り返していくと、被食者や同種を正しく見分けるように、捕食者からは見つからないようにという進化圧がベースとなって、さまざまなカラーパターンが次から次へと限りなく出現していく。写真の中央のウィンドウには、ある時点におけるある種25個体分の体表パターンが示されている。右の縦長のウィンドウには、ある個体の体表カラーパターンを発生する生成規則が示されている。

「創発」を使う

人工生命の研究がエンジニアリングやコンピュータサイエンス の分野の研究者たちに知られるようになって,生命現象に普遍的な特質や現象 というものをロボットや人工知能などの工学的システムへ応用しようと目指す 研究者たちが増えてきました(特に日本ではこの傾向が強い).たとえば、先 に述べた創発という現象をうまくシステムに組み込んで、何かを自動的に作り 上げたり、知的な処理を自動的に行ったりするためのメカニズムとして利用し ようというものです(先に述べた「共進化する表層」というのはすでにこちら 側の話に入ってますね).M. Resnickは、創発的な手法というものをわかりや すく示すために、一面に散らばった木片を仮想的な虫たちに集めさせるという 問題を示しています。この問題をコンピュータを使って解くなら、虫に対する プログラミングとして、木片を集める場所としていくつかの場所を決めておき、 拾ったならば一番近い山まで運び、再び、木片が多く落ちていそうな場所を探 して、..という風に、設計するのがごく自然でしょう。しかし、創発的なアプ ローチによれば、きわめて簡単なルールを2つだけ与えて適当に動かしておけ ば、それでよいというのです。大学院生の永川君が書いたプログラムがありま すので、それを実行した結果を見てもらって「創発的」とはどういうことかイ メージをつかんでもらう(これが創発か、やや疑問はありますが)ことにしま しょう(図3)。

図3 虫のごみ集めにおける創発性の実験
創発的なアプローチによって、散らばっている物体を集める問題をロボット群に解かせる例である。各ロボットは単に特に目的地もなく動いていて、落ちている物体にぶつかったときだけ、次のルールに従う。 1) もし、何も運んでいないのならば、ぶつかった物体を拾い上げる。 2) もし、木片を運んでいるならば、ぶつかった物体のところに運んでいた物体を置く。 このような単純なコントロールで実際に95個の物体が集まっていく様子を示している。左上、右上、左下が、それぞれ、時刻0、65、500の時の様子である。物体が四角、ロボットが星のような形で表されている。右下のグラフは、山の数の変化を表しており、最初の95から、8個の山にまで減っていることがわかる。
エンジニアリングへの応用としては、主に次の3つに関する研究が活発に行わ れてきました。
  1. 生物進化に着想を得て作成されたアルゴリズムを最適化問題(たとえば関数 の最大値を求める)や人工生命環境などに応用する「遺伝的アルゴリズム(Genetic Algorithm)」
  2. 進化的計算手法をコンピュータプログラムの自動生成に応用する 「遺伝的プログラミング(Genetic Programming)」
  3. 進化的計算手法をロボットの知能に応用する「進化的ロボティクス、Animatアプローチ」
人工生命を人工知能(人間の知能というものを解明しようとすると同時に、それをコ ンピュータの中に再現しようとする研究分野)と比較して位置づけることもで きます。最近、チェスの最強チャンピオンをコンピュータが破ったとニュース になりましたが、このような特定の用途専用の人工知能はかなり成果が上がっ てきたと言えます。しかし、汎用的な知能というものの解明や応用は言うまで もなく簡単なことではありません。まだまだといった段階と言えます。そうい う状況の中で、人工生命的手法への期待も小さくありません.従来の典型的な 人工知能システム(と言っても現在はこのような研究はあまり活発ではなくな ってきました)では,こういう状況ではこのように処理をする、こういう場合 にはああするなどと、あらゆる状況を想定したルールを人間が記述して,それ にしたがって処理を行わせるというものでしたが,もし,人工生命的な手法に よって,「創発システム」が実現できた場合には,予期せぬ入力に対しても, 人間が思いもつかないような巧みで柔軟な知的処理が「創発」することを期待 できるというものです。

「言語」を進化させる

近頃の人工生命研究の展開として見過ごせないのが,人 工生命的な研究手法のさまざまな領域への広がりです.計算機科学、工学、生 物学だけではなく、経済学、社会学、言語学、芸術など、多くの分野の研究者 たちが人工生命に興味を持ち始めました(UCLAに滞在していた時には、毎週の ようにさまざまな分野、それこそ文学者までが人工生命がらみのトークをして いたのには驚きました)。人工生命研究の第一の目的として,生物や生命にお ける特質や現象の解明と先に書きましたが,さまざまな社会システムにおいて も,創発現象のような生命や生物に関連するメカニズムが働いており、それこ そがシステムのダイナミックな振舞いを産み出す起源ではないかと考えるので す。つまり、中央でコントロールする装置が全体の動きを決定していると考え るのではなくて、集団を構成する個々間、あるいは個々と環境間の相互作用に ついての簡単なルールがまずあって、その細かな相互作用が集団全体の複雑な 挙動を決めているのではないかというように考えます。このような考えにした がって構成的な研究を行い,そのシステムの成り立ちや動的な特性を解き明か そうとします.そのような社会システムとして,言語,経済,社会、文化など 人類にとって重要で壮大な対象が想定可能なのではないかと考える人も増えて きており、実際、さまざまな領域で研究が開始されてきました.いわゆる、流 行りの「複雑系」の研究と重なるところです。
私は、人工生命の手法を使って言語の起源や進化の謎に迫りたいと考えていま す。言語の起源と一言で言っても、それはそれは難しい問題です。「言語は骨 を残さない」からです。記録された最古の言語でさえ、すでに、現代の言語と 同程度の複雑さを持っているそうです。間接的な手がかりとしては、発掘され た頭骨や道具、子供の発達過程、あるいは、「作り出された」言語(ピジン、 クレオール)などがあるわけですが、それらとは全然別のアプローチとして、 計算機の中で、言語の適応進化を仮定(これに関してはN. Chomskyらをめぐる 論争が興味深い)して、人工生命の手法で、言語を成立させたり、進化させて みようというものです。
そのような研究の一環として、大学院生の小山君と取り組んでいる語彙の進化 の研究を紹介します(図4)。この研究は、近年明らかになってきたサルのコ ミュニケーション・システム(10個ぐらいの語彙を持ち、捕食者や食物に関し て、アラームコールやフードコールでコミュニケーションし合っている!)を モデル化し、それに関する実験を基にして、なぜ人間だけうまく言語を進化さ せることができたのか、だとか、なぜ人間の言語はこうも多様なのだろうか、 などというテーマにチャレンジしようとするものです。特に、言語が貧弱な場 合には、言葉が一致することは、必ずしも有利(適応的)なことではないので は?、そして、このことから言語のダイナミックな性質が生まれるという面も あるのでは?などと、いろいろとコンピュータを使って実験しています。ダー ウィンの進化論以来、動物の一種である人間のアイデンティティを守る砦は崩 されつづけていますが、言語は、その最後の砦と言えましょう。守るにしても、 攻めるにしても、肩に力がつい入ってしまうものです。

図4 語彙の進化モデル
集団を構成する各個体(エージェント)は意味と言葉(それぞれ整数値で表される)の対応関係を保持する表(語彙)をひとつずつ持っている。何か事物(食物や捕食者を想定している)を発見した個体は自分の語彙を調べて、その意味に対応する言葉を発する。残りの個体は、1)その言葉が聞こえなかった個体、2)聞こえた言葉を対応表に持っており、しかも、意味が発信個体と一致する個体、3)聞こえた言葉を対応表に持っているが、意味が発信個体と異なる(誤解する)個体、4)聞こえた言葉を対応表に持っていない個体、の4通りに分けられる。具体的な状況を想定して、それらの各場合における得点(適応度の増加)を定めておき、このような会話ごとに得点を増減する。生物の食物コール(またはアラームコール)を想定しており、意味が理解できた個体が多いと獲得する資源量が減ったり、あぶれたりする。語彙は遺伝的アルゴリズムに準じた枠組みで適応度に応じて子孫に遺伝する。このモデルにより、意味と言葉の対応関係が集団の中でどのように進化していくか調べることができる。図の横方向は時間(世代)の経過で、縦方向は、言葉の割り当ての分布を表しており、同じ色(濃度)で表されているところは同じ言葉が割り当てられていることを表す。ある意味に関して、主に3、4個の言葉が共存している状態と、ほぼひとつの言葉に一致している状態の間の遷移を繰り返していることがわかる。

「生きている」とは?

ところで、私はこの文章の中で気楽に(というか無 神経に)「生命」だとか、「生きている」などという言葉を使ってきました。 そもそも生命とは何なのでしょう? どのように定義すればよいのでしょう? 生きているかどうか見分けるのは簡単だ、見ればすぐわかると思われるかも しれません。確かに、我々のまわりで通常見かける動物や植物が生きているか どうかは誰でも見ればわかりそうな感じですし、あの「たまごっち」を本当に 生きていると思っている人はひとりもいないでしょう。しかし、風邪のウィル スはどうなのでしょうか、コンピュータウィルスはどうでしょうか? あるい は、もし、他の惑星に我々とはまったく構造や素材の違う「生き物みたいな存 在」(「惑星ソラリス」という映画をご存知ですか?)がいた場合、客観的に 生物かどうか判断できるでしょうか? 
生命であるための必要十分条件を挙げ るのは極めて難しい問題です(そもそも答えが存在しないかもしれない)が、 たとえば、成長、自己複製、新陳代謝、環境への適応、遺伝、進化、生物個体 を構成する各部分間の相互依存などを挙げることができるかもしれません。人 工生命研究の立場としては、生物学専門の方々にはとりあえず大目に見てもら って、「生命」とか「生きている」という言葉をやや無造作に使わせてもらお うと思います。今この段階で、まず生命の定義をしてから研究をしたり、上記 のような条件をすべて満たすものをいきなり作ろうとするのではなく、基本的 にはそれらの条件、機能を個別に対象として、構成的にそれらの振舞いを再現 することにより、理解を進めようとします。そして、Langtonの言葉のような 意味での「生命」の定義を少しずつ探っていきたいと考えます。もっと言うな らば、生物学や進化論などのさまざまな知見やその背景にある思想的バックグ ラウンドを踏まえながら、先に述べたような条件をよりどころにして構成的に 研究を進めていくやりかた以外に理解を進めていくのは難しいのではないかと いうスタンスです。生物としてのさまざまな要件を統一すべき、より抽象的な レベルの概念の候補となりうるのが先に述べた「創発」という現象かもしれま せん。
人工生命のパイオニアであるLangton自身が、日本が人工生命研究の一大拠点 になるかもしれないと言っているそうです。ATRなどのような研究所や各地の 大学の研究室で人工生命的な研究が今後ますます盛んになるか、あるいは、流 行としての「人工生命」が15歳になる前にお亡くなりになるかはわかりません が、テーマ自身が普遍的なものなので、没頭するだけのことはあるのではない かと思っています。
アドバイス、質問などありましたら、どんなことでも、電 子メイル(ari@info.human.na goya-u.ac.jp)でどうぞ。また、紹介した研究 に関する文献のリストなどをホームページ (http://www2.create.human.nagoya-u.ac.jp/)に載せて行く予定です。
[人物紹介]
C. Langton (http://www.santafe.edu/~cgl/
ヒッピー野郎であった。ハングライダー飛行中の墜落事故で九死に一生を得るが、 何ヶ月にも及ぶ入院生活中、夢うつつの状態で、人工生命に関するインスピレーションを 得たと言う。その後、大学院で、進化論、計算機科学、数学、哲学などを勉強して、1987年に 人工生命を提唱する。講演者として登録されていても、来るかどうかは1分前にならないと わからない。筆者もアメリカに滞在中すっぽかされた。サンタフェ研究所からSwarm Corporationへ。
T. Ray (http://www.hip.atr.co.jp/~ray/
デラウェア大学にいたが、現在、京都のATRの人間情報通信研究所にいる。とても 品のいい生物学者。彼の書いたTierraに関する論文に彼の奥さんの言葉の引用が出ていて 面白い。「彼らが実在しなくてよかったわ。彼らに食べ物をあげなくてはならないし、家が 埋め尽くされてしまうでしょうから・・・」
(1997.11)