人間は、コンピュータに命令をして、決められた動きを実現する「生物」を作り出すことができます。ところが近年の研究で、作成者にも前もって「動きが予想できない生物」をコンピュータ内に生み出せるようになりました。この「動きが予想できない生物」をどのように作り出すのでしょうか。独自な方法で、コンピュータ上の生物、いわば「人工生命」に「人間の知性」を生かす研究をしている山本雅人さん(情報科学研究科教授)にお話を伺ってきました。
【坂本菜緒・経済学部1年*】
人工生命とは具体的にどのようなものなのでしょうか?
コンピュータ上につくられる生物のことです。通常、プログラミングなどで生物をつくるときは、作成者が生物の動きを決め、コンピュータ内に動きを入力します。そのため生物は決められた動きしかしません。しかし、私の研究では違う方法で生物をつくりだしています。作成者がどのように動くべきかあらかじめ指示していないため、作って初めてその動きを知ることができます。
また、この方法では、本当の生物のように個性ができます。同じように歩かせても右に寄るものや左に寄るもの、テンポが異なるものが出てきます。不規則に動くことがさらに本物の生物のように感じさせます。
今までにどのような生物を作り出したのでしょうか?
魚、鳥、ムカデ、アゲハ蝶、海藻、コガネムシ、バッタなどを作りました。今はカエルも制作しています。変わったものではサラマンダーという両性類も作っています。これらの生物は飛ぶ、歩く、泳ぐ、跳ぶなど、さまざまな動きをすることから、作ろうと思いました。どの生物も不規則に動くため、どれも本物の生物のように見えます。
(山本さんのウェブサイトから動画が見られる。画面は「サラマンダーの人工生命」)
そのような人工生命を作るためにはどのような器具が必要なのでしょうか?
パソコン内ですべての作業を行うことができるので、特別な実験器具はありません。研究室には机とパソコンが並んでいます。学生も個人で実験を行っていて、ボードゲームをプレイするプログラム、震災のガレキ量を高速に推定する画像技術、人間を超えた学習を行えるニューラルネットワークなど、さまざまな分野で人間の知性を生かす研究をしています。
(パソコン上で人工生命の研究をする山本さん)
パソコンだけで、知性を持つ人工生命をどのように作るのでしょうか?
まず、コンピュータ内に、現実に起こる状態と同じようにするため摩擦などが生じるようにし、関節が動く生物のモデルを用意します。その生物のモデルの関節を適当に動かし、200個ほどの行動パターンを作ります。その200個を一斉に歩かせてみると、その場でバタバタするものが多い中、少しだけ前に進むものが出てきます。前に進んだ2,3個だけを取り出して、それらの動きから少しだけ動きを変えたものを、また200個作ります。これは、実際の生物が子どもを作るときと同じような仕組みです。それを300世代ほど繰り返すと、どんどん生物は前に動くようになり、本物の生物と同じように動く生物が完成します。
(人工生命について説明する山本さん)
この研究はどのように社会に役立ちますか?
リアルな生物の動きを作れるのでCGやエンターテイメントに利用することができます。また実際の動物だけでなく、8枚の羽をもった鳥や恐竜など、現在いない生物を人工生命で作ることで、実際にいたらどのように動いたのか、解明することもできます。
将来、ロボットが身の回りで使われるようになったときに、ロボットがより生物らしく動き親近感を持つことができるようにするために、この研究を活用できると思っています。こうした人の知性をコンピュータ内に実現する研究を発展させ、さらに世の中に広めていきたいです。
「人工生命」の本物のような動きや、実際の生物と似た方法で生み出されているということに大変驚きました! とても興味深いお話が聞けて非常に良い経験になりました。山本さん、ありがとうございました!
※ ※ ※ ※ ※
この記事は、坂本菜緒さん(経済学部1年*)が、2014年度一般教育演習「北海道大学の「今」を知る」の履修を通して制作した成果です。
*所属と学年は執筆当時のものです。