3

だから私は進化的アルゴリズムを読んでいて混乱しています。

現代では基本的に同じものに収束していると私が信じているように、進化的プログラミング、進化的戦略、遺伝的アルゴリズムの「伝統的な」違いは何ですか?

私の理解では、遺伝的アルゴリズムは結果を生み出すために「遺伝子」を変化させ、進化戦略はパラメーターを変化させ、それが何らかの形で個人を変化させます。numerical parameters(http://en.wikipedia.org/wiki/Evolutionary_algorithm)のとおり、正確にはどういう意味 ですか?進化的プログラミングは、主に実数の突然変異によって異なりますか?

進化的プログラミングと遺伝的プログラミングは問題を解決するためのプログラムを見つける方法ですか、遺伝的アルゴリズムと進化的戦略は候補を使用して問題の解決策を見つける方法ですか?区別は私には見えません。進化戦略と遺伝的アルゴリズムで見られる唯一の違いは、パラメーターと染色体、実数と整数のリストです。

ありがとう。

4

1 に答える 1

5

これがあなたのために少し物事を明らかにすることを願っています:

進化的アルゴリズム:特定の候補ソリューションの母集団内で、「最適な」ソリューションを見つけようとするアルゴリズム。アルゴリズムはランダムな候補から始まり、生殖、突然変異、組換え、選択によってそこから進化しようとします

そこから、進化的アルゴリズムのいくつかのファミリーを呼び出すいくつかの「標準的な方法」があります。これらの名前は、学術研究によって付けられました。命名規則の微妙な違いは、微妙な理由と、時間が経つにつれて利用可能な語彙の不足の両方に起因すると思います。

  • 遺伝的アルゴリズム:与えられた母集団は「数字の文字列」(伝統的には0と1のベクトル)として定義されます。

  • 遺伝的プログラミング:与えられた母集団は、構造的に異なるコンピュータープログラムのセットです。問題は、特定の問題を解決するためにどのプログラムが「最適」であるかということです。Lisp処理に精通している場合は、プログラム全体をツリーとして表すことができることをご存知でしょう。アルゴリズムがこれらのツリーを変更または再結合するとします。あなたはあなたの元の候補者から発展する多くのプログラムに行き着き、あなたの問題を解決するのに他のものより優れているものもあります。

  • 進化的プログラミング:構造は固定されているがパラメーターを持つ特定のコンピュータープログラムが与えられた場合、調査対象の母集団は、それらのパラメーターのバリエーションによって取得されたプログラムのセットです。たとえば、問題が有限状態マシンで表される可能性があると思われる場合、この手法は、状態の数、状態間の許可された遷移、これらの遷移の確率を見つけるのに役立ちます。

  • 進化戦略:与えられた母集団は実数のベクトルであり、研究対象の候補者間の突然変異率が最適に到達しようとするようなパラメーターです。(c1、c2、c3)3次元ベクトルの母集団から始めると想像してください。各世代で、c1、c2、およびc3にランダムな値を追加してそれらを変更します。ランダム値は、標準偏差Sのガウス分布に基づいている場合があります。Sの値を大きくして開始すると、突然変異によってあらゆる場所にベクトルが生成され、興味深いベクトルを見つけ始めると、Sが減少し始めます。これらの興味深いベクトルに「焦点を合わせる」ために。

これらの名前は単なる命名規則であることに注意してください。意味を説明するのが得意な人もいれば、最適化されていない人もいます。AIの分野での進化的な命名は、まだ進行中の作業です;-)

于 2012-05-31T20:23:15.873 に答える