1

進化的アルゴリズムの理解に問題があります。私はこの手法を数回使用しようとしましたが、常に同じ問題に遭遇しました。それは、シミュレーテッドアニーリングへの縮退です。

かっこで囲まれたフィットネスを使用した最初の人口は次のとおりです。

A(7)、B(9)、C(14)、D(19)

交配と突然変異の後、私には次の子供がいます:

AB(8.3)、AC(12.2)、AD(14.1)、BC(11)、BD(14.7)、CD(17)

最も弱いものを排除した後、私たちは

A、AB、B、AC

次のターン、ABは再び交尾し、結果は約8になり、ACを押し出します。次のターン、ABは再び、Bを押し出します(突然変異が主に> 1の範囲で適応度を変えると仮定します)。

現在、わずか数ターン後に、プールには元々最も適切な候補(A、B)とそれら2つの突然変異(AB)が入力されます。これは、初期プールのサイズに関係なく発生しますが、少し時間がかかります。たとえば、初期人口が50の場合、50ターンかかり、その後、他のすべてが排除され、より複雑なシミュレーテッドアニーリングでセットアップ全体が回転します。初めに、私も候補者を自分たちと交配させ、問題を悪化させました。

だから、私は何が恋しいですか?私の突然変異率は単純に小さすぎますか?それを増やすと消えますか?

これが私がそれを使用しているプロジェクトです: http ://stefan.schallerl.com/simuan-grid-grad/ ええ、コードはバグがあり、インターフェースはひどいです、しかし私は今それを修正するのが面倒です-そして注意してください、それはあなたのブラウザをロックするかもしれません。Firefoxは一度はクロームより遅くないと思っていても、クロームを使用する方が良いでしょう(おそらく、画像比較のトレースは効果があります、イェーイ!)。興味のある方は、ここでコードを見つけることができます

ここで私はev-algのアイデアを捨てて、シミュレーテッドアニーリングに行きました。

ps:シミュレーテッドアニーリングについてさえよくわかりません-それは進化的アルゴリズムのようなもので、人口サイズが1だけですよね?

4

2 に答える 2

3

あなたがしているように見えるのは、可能なすべての子孫を生成し、次に適者を選択することです。これは非効率的であり (必要以上の候補を生成しているため)、早期収束につながります。

代わりに、次世代の人口を置き換えるのに十分な数の子孫を生成する必要があります。親として使用する適切な数の候補を選択し (より適した個体を優先)、子孫を保持して親を破棄する場合は、最初に使用したのと同じ数の個体が必要です (今のところエリート主義について詳しく説明します) - これがあなたの次世代。終了条件が満たされるまで繰り返します。

前の段落の「フィッター個人を優先する」という条件は、意図的にあいまいです。選択を行うには、さまざまな方法があります。厳密に最適な個人を選択しているようです。これが切り捨て選択です。特定の種類の問題に対してのみ効果的です。弱い個体を無慈悲に淘汰しているため、時期尚早の収束につながることがよくあります。

理想的には、弱い個体に生き残るチャンスを与えたいと考えています。なぜなら、適切なパートナーとペアになったり、適切な方法で突然変異したりした場合、適切な子孫を生み出す可能性があるからです. そのため、ほとんどの選択戦略は確率論的です。たとえば、ルーレット ホイールの選択では、フィットネス スコアに比例する確率が各個人に割り当てられます。したがって、健康な人はより頻繁に生き残ることができますが、弱い人はまだわずかな可能性があります。

通常、選択は置換を伴うため、同じ個体が特定の世代の親として複数回選択される可能性があります。

もう 1 つの一般的に使用される選択戦略は、トーナメント選択です。さまざまな選択戦略とエリート主義について説明した、私が書いたこのドキュメントに興味があるかもしれません。

于 2010-02-17T22:31:41.683 に答える
1

進化的アルゴリズムでは、より多くの子孫を生み出すために、集団内のすべての人と他のすべての人を必ずしも交配させる必要はありません。繁殖段階の結果を決定する方法は多数ありますが、最も基本的な方法は、すべての要素の適合度を取得し、それらを重みとして使用して、集団の各メンバーのパートナーをランダムに選択することです。これは通常、次の世代が前の集団と同じ数のメンバーを持つことになりますが、いくつかの交配計画では (目前の問題についての何らかの推論に基づいて) より多くのメンバーが得られ、最も低い値が切り落とされます (これもまた何らかの種類のために)。ドメイン固有の推論の)。また、ほとんどの問題で前の世代を破棄します。

また、あなたの適性は生殖の目標によって決定される必要があり、各シナリオで適切に導き出すことは非常に困難な場合があります.

于 2010-02-17T21:00:50.090 に答える