『 遺伝的アルゴリズムで歩行動作獲得への道 ~3歩目~ 』
2010 年 5 月 11 日超マイペースでぼちぼち作っていた、AIで歩行動作を学習しようプロジェクト(1歩目、2歩目)なのですが、先日のイベントでお話したこともあり一段落したので、ひとまずトップページで正式公開することにしました。
今回のアップデートは遺伝的アルゴリズムの最適化、インターフェースの強化、そしてエディタ機能です。
今までは頑張るイモ虫君を見ているだけでしたが、これからは好きな構造の生き物を創って歩かせることができます。誰も見たことのない生き物たちが頑張って歩き方を覚えていく様子を、ほほえましく見守ってあげてください。
エディタ機能
生物の作り方をちょっと説明。真ん中の地球にマウスを持っていくとエディタ機能に入れます。その後、地球の下のほうの「HELP!」にマウスを合わせるとエディタの使い方を見ることができます。基本的には動きの軸となる関節を、棒の体で繋いであげれば完成です。左下のNODEやJOINTは身体構造をあらわしていて、それぞれ関節の数、棒の数になっています。
あまりにパーツの多い生物を作るとPCが重くなっちゃうし、たまに物理演算が崩壊して生き物が飛んでっちゃうので注意ですが、やっとコンテンツとして1ステップ進めることができたかなあ、といった感じです。
学習パラメータ
歩行動作のためのパラメータも少し変えました。
0.5秒ごとに各関節の速度が決められた数値に切り替わるようにして、それを5回繰り返します。1回関節の速度が切り替わる単位を1ステップとします。5ステップをまとめて、1回の歩行動作(=1サイクル)とします。個体評価は3サイクルでおこないます。計測前の座標と、3サイクル経過後の座標を比べて、どれくらい進んだのかを評価値として遺伝的アルゴリズムを実行します。
左下のSTEPやCYCLEはこの値となっています。ちなみにAGEは世代数、SCOREはその世代の中での最高得点です。それぞれの生き物にくっついてる数字やグラフ表現は個人的な趣味で、中身は適当です、すみません、でも好きなんですこういうの。
今後の予定
このあとどうするかなのですが、まだノープラン。いろんな人の生き物を見れたりするビューアや、レースさせるバトル機能もおもしろそうですし、進化の系譜をまとめて図鑑にするのもいいかも。やりたいことは尽きないですけど、またマイペースに作っていきます。
今、自分が何を作りたいのか、恥ずかしながら模索中です。色々考えてはみるけど、いつも「たくさんの人に喜んでもらいたい」という結論にたどり着きます。僕にとってテクノロジーは大きなキャンバスであり、プログラムは絵筆なのかな。へっぽこプログラマな僕が言うのは何ともおこがましいのですが、音楽や文学や絵画やスポーツで世界中の人を感動させられるなら、プログラムにも何かきっとできるはず。
イベント会場でも、プロジェクタを使ってこいつを設置させてもらったのですが、多くの人に楽しんでいただき、僕が思いもかけないような生き物がたくさん生まれました。そんな生き物たちがだんだんと歩けるようになっていく様子がかわいくて、ただ感動していました(親心によるところも少なからずあると思いますが)。みなさま、どうもありがとうござました。
学習アルゴリズムというコアな技術の軸をぶらさずに、どう表現すればもっと多くの人に楽しんでもらえるのか。イモ虫君にとても勉強させてもらってます。感謝。
