GAは、今回の合衆国大統領選挙シミュレーションで、乱数を使ったモンテカルロ方式に似ています。
モンテカルロ方式は、ある問題の解を探索する場合、(例えば、Y=f(X)を最小にするXの値を求めよ"、などでもいいです)、デタラメなXの値を山ほど作って、それをこの式に突っ込んでいき、一番小さいYを求めるという方法です。
これに対して、GAは、なんというか「人間くさい」です。「生物くさい」のです。
まず、でたらめなXを100個くらい用意しておいて、この式に突っ込む ―― というところまでは、モンテカルロ方式と同じなのですが ―― 決定的に異なるところは、一番良い値のYを見つけたXのクローンを作り、そして、一番悪い値を見つけたXの個体を、抹殺することです。
この「抹殺」というのは、例えでも比喩でもなく、本当に亡きものにしてしまうのです。無能な奴は、いらない―― という感じです。
一方、優秀な値を出したXたちは、優先的かつ強制的に、お互いに結婚させられます。この「結婚」も、たとえでも比喩でもなく、本当に結婚させられるのです。優秀なXのカップルからは優秀な子どもXが産まれる ―― という「優生思想」の発想そのものです。そして、このような優秀なXを残していく手法を、GAでは「エリート戦略」と呼びます(本当)。
さらに、ある一定の確率で選ばれたXには、人為的な遺伝子操作を施し、人為的な「突然変異」を発生させます。このようにXを一定の確率で選ぶことを、GAでは「ルーレット戦略」と呼びます(本当)。
なぜこのような「突然変異」を行うかというと、超天才的エリートの発生を担保するためです。大抵は劣勢のXとなって抹殺の対象になりますが、まれに超天才が産まれてくることがあるのです。
そのような超天才の出現によって、これまで隆盛を誇ってきたエリート集団は、たちまち粛清対象に転落し、その後、優秀なXとして生まれ変わらなければ、抹殺されてしまいます。
この様に(1)「優生」に対する産めよ育てよの優遇、(2)「劣性」に対する情け容赦のない抹殺、(3)ルーレットによって選ばれる突然変異、(4)あっという間の下剋上による政権交代 ―― これが、生存競争と自然淘汰という生物の進化のプロセスを模擬して作られた遺伝的アルゴリズム、GAです。
ヒューマニズムの対極にある、この解探索アルゴリズムが、ま、なんと言ったらいいのか、驚くほど"使える"のです。
まず、プログラムが簡単でコードも短い。面倒な分岐判定もいらないのでバグも入り込まない。染色体の設計はちょっと頭を使いますが(致死染色体が発生しないように工夫するなど)、あとは評価関数だけをセットしておくだけで、探索対象のモデル化なんぞ一切不要。ブラックボックスとして動くものとして突っ込んでおくだけでO.K.。
そのくせ、解探索のスピードが驚くほど超高速で、あっという間に最適解*)に至ります。
*)ただし、他の手法と同様に、GAも最適解の保証(証明)はできません。
何よりGAの解探索プログラムの実行プロセスは、見ていてとても楽しい。
GAのアルゴリズム動かしている時には、ジェノサイド(大虐殺)を発令する独裁者の気分になれます。
『はっはっ、 見ろ! 人がゴミのようだ!』(「天空の城ラピュタ」のムスカ大佐)
第二次世界大戦時に、ヨーロッパ全土を焦土と化した某国の独裁者は、同じようなことを、コンピュータの中ではなく現実世界でやりました。私は、私自身が「コンピュータで遊ぶ程度の、無力な、権力なき小市民」であることを、今、本当に感謝しています
まあ、それはさておき。
今回GAについて調べたら、私と同じような(動機が同じかどうかは知りませんが)、GAのファンは非常に多く、ネットにも解説が山ほどありまます。
特にYouTubeなどの動画系の充実度はすごいです。これは、GAがどんな問題にも、ザクッと実装できて、サクッと動き出すことの1つの証拠になっていると思います。
ですから、人工知能技術に期待されていることの1つが、「ほっといても、何か見つけてくれるもの」を意味するのであれば、GAは、その最右翼だと思っています。
Copyright © ITmedia, Inc. All Rights Reserved.