2011-10-16 24 views
13

私は書籍のいくつかの紹介セクションと両方のトピックに関するいくつかの論文を読んだことがあります。そして、これらの2つの方法がまったく同じであるように私に見えます。遺伝的アルゴリズムと進化戦略の違いは何ですか?

私はまだ実際に深くテーマを研究する時間がなかったと言いましたので、間違っているかもしれません。

遺伝子アルゴリズムと進化戦略の違いは何ですか?何が違うのでしょうか、そして彼らはどこに似ていますか?

答えて

19

ESでは、個体は実数のベクトルとしてコード化されています。生殖時には、両親を無作為に選抜し、最も近い子孫を選択して次世代に挿入する。 ES個体は自己適応的である。ステップサイズまたは突然変異の強さは個体でコード化されるため、良好な個体を選択することによって次の世代に到達する。

GAでは、個体は整数としてコード化されています。選択は、その適応度に比例して親を選択することによって行われる。したがって、最初の選択が行われる前に、個人を評価する必要があります。遺伝的演算子は、ビットレベルで動作する(例えば、ビットストリングを複数の部分に切断し、それらを他の親の部分または交換する単一ビットの部分と交換する)。

それは理論です。実際には、両方の進化アルゴリズムを区別することが難しい場合があり、ハイブリッドアルゴリズム(例えば、遺伝子オペレータのパラメータをコード化する整数(ビットストリング)個体)を作成する必要があります。

+2

標準と元のGAの遺伝的表現は整数ではなく、むしろ1と0のバイナリビット列であると考えて、答えはあまりにも一般的だと思います。また、選択肢はフィットネスに比例していませんが、トーナメントなどの他のものがあります。混乱を避けるため、GAにはこれとその必要があると推測するのではなく、多少異なる言い方をしてください。 – chutsu

+0

それは違いの素晴らしい紹介です。表現を整数の集合と呼ぶことの問題は何ですか?ソフトウェアレベルでは、アルゴリズムによってどのように処理されるかが正確であり、遺伝子コードと同様のものとして視覚化するのに役立ちます。とにかく文字列として表現するのは一般的なアドバイスではありません。少なくとも私はどのように訓練を受けたのですか? – Adam893

+0

ESと、GAが通常適用される場所の例を教えてください。 –

0

主な違いは、進化戦略は実数のシーケンス使用に対し、遺伝的アルゴリズムは、整数のシーケンスを使用して溶液を表すと思われる - 参照:ウィキペディア源としてhttp://en.wikipedia.org/wiki/Evolutionary_algorithm#

0

(HTTP:/ /en.wikipedia.org/wiki/Genetic_algorithm)と@Vaughn Catoは、両方のテクニックの違いは実装に依存していると述べています。 EAは 実数を使用し、GAは整数を使用します。

しかし実際には、問題の定式化やプログラムで整数や実数を使うことができると思います。あなた次第です。例えば、タンパク質の折りたたみの場合、二面角の集合がベクトルを形成すると言うことができます。これは実数のベクトルですが、エントリ は整数でラベル付けされていますので、問題を定式化して、整数計算で に基づいてプログラムを書くことができます。それは単なるアイデアです。

2

GAの最新の教科書では、整数値の代わりに実数値コーディングが導入されています。つまり、個体は実数のベクトルとしてコード化することができます。これは、連続パラメータGAと呼ばれる(例えば、Haupt & Haupt、 "Practical Genetic Algorithms"、J.Wiley & Sons、1998を参照)。したがって、これは実際のES実数コードと同じです。

親の選択に関して、GAのために公開された多くの戦略があります。私はそれらをすべて知っているわけではありませんが、私はすべての中から選択することを前提としています。

関連する問題