遺伝的アルゴリズムと進化的アルゴリズムの間に違いはありますか?
私は複数の論文を読んだり、遺伝的アルゴリズムや進化的アルゴリズムについて話したことがありますが、非常に似ていますが、それらは同じものではないかもしれません。
遺伝的アルゴリズムは進化的アルゴリズムのクラスです。遺伝的アルゴリズムは最も頻繁に遭遇する進化的アルゴリズムのタイプですが、 進化戦略 などの他のタイプもあります。したがって、進化的アルゴリズムには遺伝的アルゴリズムなどが含まれます。
遺伝的アルゴリズムは、交差(したがって、その名前の「遺伝子」)と突然変異を使用して、可能な解の空間を検索します。
進化的プログラミングは主に突然変異を使用します。
すでに投稿されているように、どちらも進化型アルゴリズムのタイプです。
Z. Michalewicz 1996から-「遺伝的アルゴリズム+データ構造=進化プログラム」[p.289]:
進化プログラムは遺伝的アルゴリズムを多用しています。ただし、「自然な」データ構造と問題に敏感な「遺伝的」演算子を使用して、問題固有の知識を組み込んでいます。 GAとEPの基本的な違いは、前者は弱い問題に依存しない方法として分類されることです。後者はそうではありません。
したがって、GAはEP/EAで解決する問題を解決できるはずですが、EP/EAはGAで解決されるすべての問題を解決できるわけではありません。もちろん、GAの一般性に対して効率的に支払います。
また、候補ソリューションが互いに直接情報を交換しない場合、アルゴリズムはEA/EPではないようです( D。Simon 2013-"Evolutionary Optimization Algorithms" [p.243])。
PS: D。Simon 2013-"Evolutionary Optimization Algorithms" は素晴らしい本です!
進化戦略(Rechenberg 1973)と遺伝的アルゴリズム(Holland 1975)は、ダーウィンの進化理論に基づいています。進化的戦略は、進化的計算、つまり進化的アルゴリズムの基礎です。主に遺伝的アルゴリズム(GA)はEAのサブクラスです。
EAとは対照的に、GAは、計算表現(遺伝子型)とその実世界の表現(表現型)の意味で遺伝的表現を使用する必要があります。