2016-04-24 23 views
-1

私は、世代を実行するループforループを持っています。このfor私はwhileを持っています。これは古いものを新しいものに置き換えています。どうすればこれを並列化できますか?私はthis topicを見つけました、彼らは私が小さな部分に分割すべきだと言いますが、この部分は何ですか?遺伝的アルゴリズムの並列実行

答えて

1

遺伝的アルゴリズムにおける計算上の努力の大部分が、集団内の各個体の適応度を評価することに関係しているのが通常です。また、通常、各個人の適応度評価が現在の世代の人口に依存しない場合もあります。

したがって、一般的な並列化のアプローチは、世代内の複数の個人の適応度を並行して評価することです。

また、ある世代から次世代へ移動するときに、新しい人物の作成を簡単に並列化することもできます。それぞれの個体はその親を選び、他の個体と並行して交叉および突然変異のステップを実行することができる。

多くの場合、進化を複数回(異なる初期条件または異なるパラメータ設定のいずれかで)実行したいことに気付くでしょう。もちろん、パラレル化されていないGAインスタンスを並行して実行することもできます。