2010-12-13 4 views
6

における選択のためにのみ上位のx%を選択すると、私は、ガスで使用することができる特定の用語についてはかなりよく分かりません。私は現在<a href="https://github.com/dreasgrech/StringEvolver" rel="nofollow">StringEvolver</a>に取り組んでいます遺伝的アルゴリズム

遺伝子アルゴリズムでは、エリート論は、次世代に直接昇進する集団のサブセットを指す。正しい?

しかし、母集団全体ではなく、選択、交叉および突然変異プロセスのための現在の母集団の上位75%などの特定の用語がありますか?基本的に、そのx%レートとは何ですか?

私は何を意味することは


(すなわち人口の最高のx%の間でのみ繁殖)の代わりに、言うためにルーレット選択プロセスを全体の人口を使用しての、私はトップのx%を使用することです

世代を進めるのではなく、完全なを使用するための選択、交叉および突然変異のプロセスのために、例えば、人口のトップ10から25パーセントを使用しているとき、私は大幅なパフォーマンス向上(より速い収束を)気づいたので、私が尋ねる理由があります人口。

答えて

3

弱い候補を単に破棄するという単純な選択戦略は、切り捨ての選択と呼ばれることがあります。多くの問題では、それは早期収束につながりますが、Traveling Salesmanの問題ではかなりうまく機能しています。

2段階の戦略があります。まず、切り抜きの選択を使用して弱い候補を取り除き、より洗練された戦略(ルーレットホイール?)を適用して選択を確定します。

弱い候補が生き残る可能性を完全に排除するのではなく、その確率を微調整できる選択戦略を選択する方が良いかもしれません。たとえば、トーナメントの選択では、しきい値を調整して、弱い候補が強力な候補の代わりに生き残る可能性を判断することができます。

+0

+1はい、それは基本的に私が探していたものです。乾杯! –

1

特定の選択方法について話しているようです。線形にではなく、より高いレートで増加するようにフィットネス関数をスケーリングすることによって、ほぼ同じことを行うことができます。私は毎回、あなたの人口の底部を投げを警戒だろう、と述べた

。小さなGAの場合、より迅速に収束することができますが、実際の問題では、これがローカルミニマムにつながり、ソリューションの品質が低下します。

つまり、デシメーションと呼ばれる用語があります。これは、あなたが交叉と突然変異の前にあなたの人口の下のX%を捨てるときです。これは、一般的に各世代では行われません。 GAの最初の100g程度で最大の利益を得ることが多いため、検索スペースを広げ、X世代後にデシメートするためには、通常、難しい人口から始めます。より小さく、扱いやすい人口に進む。

これが役に立ちます。

1

が上位x%の要素に選択を制限するための具体的な用語はありません、それはちょうどあなたが選択戦略を実装する際に設定する必要が要因の一つです。

あなたはそれのx%の数字を制限するいくつかのケースではより高速な収束を得るかもしれないが、私は、異なる長さの文字列をしようと提案すると、これは収束にどのように影響するかを見ることになります。私はこれまで(thisthisのプロジェクトを進化しているストリングの両方のプロジェクトを参照してください)、遺伝子プールが小さすぎると個体を選択すると、ストリングの長さに関して突然の確率が急上昇する可能性がありますあなたは真剣に多様性を損なっている

関連する問題