やべぇ、遺伝的アルゴリズムって奴やりてぇ
な気分になってまいりました。暑いですね。スライパです。
[nico]http://www.nicovideo.jp/watch/sm16333192[/nico]
これに触発されました。
けど、これと似た事をするにはまず3Dの勉強が必要な雰囲気です。
3Dのゲーム?を覚えられる良いサイト、またはやり方があれば教えてください、お願いします。
遺伝的アルゴリズム
Re: 遺伝的アルゴリズム
遺伝的アルゴリズム楽しいですよ。 私も一時期ハマりました。
私はもっぱら、TSP問題ばかり解いてましたが。
遺伝的アルゴリズムは非常にシンプルで簡単な構造であるが反面、恐ろしくチューニングが難しいんですよね。
例えばこの動画の場合、交叉させる個体の選択に、エリート選択法を用いているようですが、この方法だと進化の速度は早いものの、進化の収縮もまた早く起こります。
つまり進化に対する多様性を得られず、かなり早い段階で、いわゆる進化の袋小路に陥ります。
また、当代のエリート達が、総合的に環境に高い適合力(動画の場合は、移動距離)を持っていたとしても、同時に、その環境に対して致命的な因子を持っていることも珍しくありません。
その場合は、さながら遺伝病のように、ずーーーーーと子々孫々とその悪性な遺伝子が受け継がれる事も意味します。
後、交叉方法ですが。 これにはセンスが問われます。 両親の遺伝子を引き継ぐ。 と言ってしまえば簡単ですが、どの情報をどのように遺伝子化するのか、時々信じがたい変態がおられるようで目からウロコです。
事ほど左様に、遺伝的アルゴリズムというアルゴリズムの中にあって、採択すべき小さいアルゴリズムは無数にあります。
また、それらの微調整も必要不可欠ですので、意外と奥が深いのです。
そして、ダーウィンの進化論によると、生物が進化を起こすのに適した群れというのがあるのですが、こういった条件も遺伝的アルゴリズムに当てはまりますので、
色々と調べてみると楽しいですよ。
ただ、実用的な解を得るには、物足りないというか決定打に欠けるというか、とにかく至難の業です。
私はもっぱら、TSP問題ばかり解いてましたが。
遺伝的アルゴリズムは非常にシンプルで簡単な構造であるが反面、恐ろしくチューニングが難しいんですよね。
例えばこの動画の場合、交叉させる個体の選択に、エリート選択法を用いているようですが、この方法だと進化の速度は早いものの、進化の収縮もまた早く起こります。
つまり進化に対する多様性を得られず、かなり早い段階で、いわゆる進化の袋小路に陥ります。
また、当代のエリート達が、総合的に環境に高い適合力(動画の場合は、移動距離)を持っていたとしても、同時に、その環境に対して致命的な因子を持っていることも珍しくありません。
その場合は、さながら遺伝病のように、ずーーーーーと子々孫々とその悪性な遺伝子が受け継がれる事も意味します。
後、交叉方法ですが。 これにはセンスが問われます。 両親の遺伝子を引き継ぐ。 と言ってしまえば簡単ですが、どの情報をどのように遺伝子化するのか、時々信じがたい変態がおられるようで目からウロコです。
事ほど左様に、遺伝的アルゴリズムというアルゴリズムの中にあって、採択すべき小さいアルゴリズムは無数にあります。
また、それらの微調整も必要不可欠ですので、意外と奥が深いのです。
そして、ダーウィンの進化論によると、生物が進化を起こすのに適した群れというのがあるのですが、こういった条件も遺伝的アルゴリズムに当てはまりますので、
色々と調べてみると楽しいですよ。
ただ、実用的な解を得るには、物足りないというか決定打に欠けるというか、とにかく至難の業です。
最後に編集したユーザー へろりくしょん on 2012年8月12日(日) 16:33 [ 編集 1 回目 ]
Re: 遺伝的アルゴリズム
3Dのお勉強が終わった頃には遺伝的アルゴリズムへの熱が冷めてしまうので遺伝的アルゴリズムからお勉強をしたほうが良いと思います
遺伝的アルゴリズムって焼きなましのような山登り法に比べてあまり優れていないイメージがあるんですがどうなんでしょうかね
遺伝的アルゴリズムって焼きなましのような山登り法に比べてあまり優れていないイメージがあるんですがどうなんでしょうかね
Re: 遺伝的アルゴリズム
実用的な分野だと、探査衛星のイオンエンジンの制御とかに用いられたことがありますね。
たしかエンジン寿命の増加を目的として、使われてそこそこの成果を出していたと思います。
たしかエンジン寿命の増加を目的として、使われてそこそこの成果を出していたと思います。