遺伝的アルゴリズム探索記①

ああ、久しぶりだ・・・。世間では山中教授がノーベル賞を受賞し、そして森口さんという新たなゴッドハンドが彗星の如く出現し、世の中いろんな人がいるもんだなと感慨深いのと同時に、静かに生物研究界隈が熱くなっている気がします。


私もそんな生物界にあやかろうと今回このテーマを選び・・・というのは全くなく、単に仕事で役立つかも・・というので最近個人的にチマチマ調べてみてるのを整理しておきたくなったわけです。


そんで、遺伝的アルゴリズムって何さ?という事なんですが、コンピュータによる問題解決手法の一つです。アルゴリズムというのはコンピュータ世界で「算法」と呼ばれ、計算手順を表します。これは少しでもコンピュータに関わる人なら大した事ない話なんですが、問題は「遺伝的」ってほうです。


遺伝が生物界の用語というのはすぐわかりますが、それとなぜコンピュータが結びつくのか、むしろ間逆の世界では?というのが第一印象です。


しかしです。これが調べてみると生物の進化の仕組み、特に遺伝子レベルでの進化の仕組みってのが実にシステマティックにできていて、これが意外にコンピュータと相性がいい。最近だと魚の模様が一定のアルゴリズムに従ってできているという事がわかっているそうです。
チューリングの夢を叶えた魚 | 屋久島 くろしお彩時記


そこで、遺伝的アルゴリズムの目的というのはざっくり言うとこんな感じになるかと思います。

                                                                                      • -

生き物っていうのは与えられた環境に対して遺伝子レベルで変化を起こして少しずつ適応し、最終的にはその環境に対する最適な種を残すようにできている。
ここでこの「最適な種」っていうのをコンピュータにおける解、もっと言うと人間世界の問題の答えに置き換えて、最適な遺伝子が選ばれる過程をコンピュータ上で模倣して計算する事で、効率的に答えに辿りつけるんじゃあないのか。ウダウダ言ってないで自然に学ぼうよ。

                                                                                      • -


さて、これでやっと「遺伝的」と「アルゴリズム」が私の中で結びつきました。いいねぇ、この分野をまたがった雑種感。農学部から文系システム屋になった腐れ生物系の私にはこの辺の雑種感もこいつにシンパシーを感じる所以です。黒魔道士より赤魔道士、クリフトよりミネアですよ。というか人生が雑種になってしまったなぁ・・・



少し遠い目になってしまいましたが、こいつは結構できる子で、現在では乗換の最適スケジューリングや配達物資の最適配置など、現実世界で実際に応用されています。とにかく「答えは星の数ほどいっぱいあるんだけど、その中から色々な条件にかなった最適な奴を選びたい!」って時に威力を発揮するようです。ヒトと一緒ですね、ハァ。。。。


私の場合はこいつをシフト作りに生かせないかと考えてみたのですが・・・・まぁ強敵なんですわ(泣)
どう強敵なのかはまた次回(といって続いたためしがあまりないが)にしたいと思います。


それにしても、生き物の仕組みがコンピュータでも応用できる程にシステム化されているってのは、ほんとなんなんだろうなと思います。いつか自分も物質に還った時にその辺の答えを誰か教えてほしい、結構本気でそう思ったりしますです。


とりあえず現世では私にもどっかの客員教授の肩書くれないかな・・・という妄想を抱くだけですが。