遺伝的アルゴリズムを楽しく理解できるサイトをまとめてみた

女優の菊川怜さんが学生時代に研究テーマにしていたという事で有名な「遺伝的アルゴリズム」ですが、名前の仰々しさとは裏腹に、意外と直感的に理解できる取っ付きやすいアルゴリズムだったりします。

それにしても菊川怜さん、美人ですねー。こんな先生にイロイロと教えてもらいたかったなぁ。。。


という願望はおいといて、「遺伝的アルゴリズム」を目で見て&手で触って、直感的に「理解したつもり」になれそうなサイトをまとめてみました!

学術的なことはガン無視でいきます。



動画で見て雰囲気を知る

まずは動画で見て楽しみましょう。ニコ動から何本か動画を紹介します。

人工知能物理エンジンで人工生命つくって学習させた
http://www.nicovideo.jp/watch/sm6392515

D
いきなりですが、強烈なインパクトをはなつ動画です。
人工生命がうにょうにょ動きながら、勝手に「歩き方」を学んでいきます。超キモイですが、スゴイ作品だと思います。物理エンジン遺伝的アルゴリズムを駆使してるらしいです。


anlife
http://masayosshi.com/anlife/


これも同じ作者の人のものなのかな?ちょっと定かではありませんが、人工生命を育成するゲームのようなシミュレータです。

ちなみに、だいぶ脱線になりますが、ニコニコ動画で「anlife」で検索すると、人工生命が増殖する動画がたくさん出てきます。尺の長い動画ですが、我慢して見ていくと、2分30秒過ぎあたりから人口爆発的に増殖していって、寒気がするほど気持ち悪いです。
D




次もニコ動から。
ミクが出てこないと何も理解できない、という人にはおすすめ。

MMD遺伝的アルゴリズムをやってみた
http://www.nicovideo.jp/watch/sm10944345

D
一応、局所最適解のこととか説明していて、それなりにしっかりした内容かと思います。


デモを触って雰囲気で知る

続いて、実際のデモプログラムなどを見たり触ったりして雰囲気をつかめるサイトを紹介します。

遺伝的アルゴリズムで進化していく車
http://www.wreck.devisland.net/ga/
ここで紹介されてた→ http://sasapong.s41.xrea.com/diary/archives/003503.php


海外ネタですが、車がどんどん進化してでこぼこ道を走れるように進化していくデモです。

赤い車輪を地面に接触させないで進んでいけるようになることが目的のようです。
4つの車輪の大きさ,初期位置,8つのバネの長さとバネ定数,ダンピング係数といったパラメータを変えていくようです。

最初のうちは全くのダメダメくんですが、しばらく我慢してみていてると結構走れるようになってきます。やや面白いです。



Image evolution
http://alteredqualia.com/visualization/evolve/
http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
ここで紹介されてた→ http://sasapong.s41.xrea.com/diary/archives/003503.php


こちらも海外ネタです。
ランダムにポリゴンを配置していって、徐々に進化を重ねて、モナリザの顔に近づいていきます。
実際にデモプログラムを動かすと長時間かかりますが、これはちょっとスゴイかも。。。




続いて3本、国内のデモアプリを紹介。大学の教材的なものもあるので、基本からちゃんと勉強したい人にはオススメです。

Web教材 Chapter.1 遺伝的アルゴリズム
http://carnation.is.konan-u.ac.jp/xoops/CJcontents/chapter01/chapter1.html

甲南大学の研究室のサイト。
全体的に丁寧に解説された教材ですが、特にページの下部にある「GAシミュレータ」が、きれいでわかりやすい。パラメータを色々いじって何度か試してみてください。


遺伝的アルゴリズム
http://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/GA/GA.htm

静岡理工科大学 の研究室のサイトです。いかにも大学のサイトって感じですが、
ページの真ん中らへんにjava appletによるデモがあります。あまり面白くはありませんが、遺伝アルゴリズムの仕組みを実感的に理解するにはとてもよいデモかと思います。


遺伝的アルゴリズムを用いたTSPデモ
http://orfeon.blog80.fc2.com/blog-entry-68.html

巡回セールスマン問題というやつです。
適当に配置された複数の点を、どういう順番で回ったら一番効率的に巡回できるか、というのを解く問題です。flashで実際に操作できるので一度やってみるとよくわかります。




実ビジネスでの利用事例

ちょっと嗜好を変えて、ネット広告での活用事例の紹介です。

http://www.mm-lab.jp/news/110/
広告文の最適化 〜リスティング広告のタイトル&説明文が自動進化

ADエビスで有名なロックオンのサイトから。
Googleリスティング広告の広告文を題材に、どのクリエイティブが最も効果が高くなるかシミュレーション的にわかるエクセルファイルがダウンロードできます。エクセルで触れるってところが、なんとなくうれしいですね。


iogous
http://www.iogous.com/top.html

これもネット広告で実際に遺伝アルゴリズムを使っている実例になります。

最近話題の「クリエイティブ最適化」を商用化したサービスです。

自動的に生成した複数の広告バナーのうち、徐々にクリック率の高かったものが生き残っていき、最終的にはCTRが何倍にもなるよ、という仕組みです。興味深いシステムですね。



読み物の紹介

新型新幹線「N700系」の“顔”を生んだ「遺伝的アルゴリズム」の秘密【その1】
http://trendy.nikkeibp.co.jp/article/column/20070620/1001047/

新幹線のデザインにも遺伝アルゴリズムが使われたよ、というお話。
自分は鉄っちゃんではないので、ふーんとしか思いませんでしたが、その筋の人にはどうなんでしょう?垂涎ものなんでしょうか?ちなみにこのデザイン変更で東京〜新大阪間の所要時間を5分短縮したとか。へぇー。

ほぼ日刊イトイ新聞 - がんばれ森川くんの遺伝子くん
http://www.1101.com/morikawa/index_AI.html


最後におまけ。昔から人気のある有名サイトですね。

遺伝アルゴリズムのことだけなく、人工知能のこと全般をわかりやすく面白く紹介したコンテンツです。
全くの初学者の人でも安心してよめるわかりやすい記事なので、AIに興味はあるけど、どこから入ったらいいかわからない、という人に超オススメです。







以上、遺伝的アルゴリズムとそれに関係ありそうな面白サイトを紹介してみました。

表面を撫でただけの記事になってしまいましたが、まずは興味を持ってもらえればいいかなーと思ってます。