遺伝的アルゴリズムと進化的アルゴリズムに違いはありますか?
遺伝的または進化的アルゴリズムについて話している複数の論文を読みましたが、非常に似ていますが、同じものではない可能性があると思います。
遺伝的アルゴリズムと進化的アルゴリズムに違いはありますか?
遺伝的または進化的アルゴリズムについて話している複数の論文を読みましたが、非常に似ていますが、同じものではない可能性があると思います。
遺伝的アルゴリズムは、進化的アルゴリズムの一種です。遺伝的アルゴリズムは最も頻繁に遭遇するタイプの進化的アルゴリズムですが、進化戦略などの他のタイプもあります。したがって、進化的アルゴリズムには遺伝的アルゴリズムなどが含まれます。
遺伝的アルゴリズムは、クロスオーバー (そのため、名前に「遺伝子」が含まれています) と突然変異を使用して、可能な解決策の空間を検索します。
進化的プログラミングでは、主に突然変異を使用します。
すでに投稿されているように、どちらも進化的アルゴリズムの一種です。
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 - 「進化的最適化アルゴリズム」は素晴らしい本です!
このスレッドが古いことは知っていますが、私自身、一箇所から単純に理解するのに苦労したため、ここで説明します。進化の法則に従うアルゴリズムは「進化的アルゴリズム」と呼ばれます。EA には 2 つのサブクラスがあります。1つは、クロスオーバーをGAオペレーターとして使用する遺伝的アルゴリズムです。2つ目は、オペレーターとして突然変異のみを使用する進化的プログラミングです。