3

私は学校のプロジェクト用に GA を開発していますが、関数の適合性を評価すると、個人はその逆数に相当することに気付きました。

たとえば、セット(1, 1, -1, 1)は と同等(-1, -1, 1, -1)です。検索スペースを縮小し、より効率的に解に到達するには、クロスオーバーが検索スペースの後半で検索しないようにするにはどうすればよいですか?

4

3 に答える 3

2

スペースを半分にカットします。最初の要素が非負である必要があります。(x_1、..、x_n)とその逆(-x_1、..、-x_n)がある場合、検索スペースには1つだけが含まれます。(x_1 = 0の場合、それらは同じです)ところで、あなたが解決している問題は何ですか?

于 2010-02-16T06:46:47.880 に答える
1

計算コストが高くなりますが、このようなものが仕事をするはずです。第 1 世代を無視して、すべての世代 >=2:

交差/突然変異によって生成された子が逆である場合は、それを無視して、「良い」子になるまで別の子を生成します。

于 2010-02-20T10:41:59.743 に答える
1

個人に適切に重みを割り当てるように、フィットネス関数を書き直してみてください。解決しようとしている問題や、重みを再割り当てする方法がわからない場合。覚えておいてほしいのは、最も適した個人がプールにいるべきであり、交差のために選択される可能性が高いということです。遺伝的アルゴリズムの目的を無効にする優れたソリューションと同じ適合度を持つダミーでいっぱいのプールは望ましくありません。

于 2010-02-16T05:16:40.650 に答える