2009-04-09 9 views
8

遺伝的アルゴリズムでは、ルーレットホイール選択法を使用してクロスオーバーのメンバーを選択するとき、最初に集団をフィットネスランクでソートする必要がありますか?遺伝的アルゴリズムにおけるルーレットホイールの選択。母集団は最初にソートする必要がありますか?

可能性があるように見える:

  1. ソート人口は最初フィットネス
  2. を降順でフィットネス
  3. ソート集団を昇順にどこがよいの人口&はルーレット球落下させソートしません。..

私はどちらの方法でも並べ替えが効果がないかもしれないと思っています - 異なるサイズの(スライスによる)スライスを含むホイール上のランダムにペブルランディング大きなスライスをグループ化するかどうかはまったく同じ結果のチャンスを持ちます。しかし、私は100%確信していません。

あなたはどう思いますか?

世代ごとにソートを行う必要があるため、アルゴリズムの速度にも影響しますので、(私はソートを行いたいと思いますが、これはエリート主義を使用していますが、私はそうではありません)。 ご存知のように、私はGoogleなどを介して決定的な回答を見つけることができません。

+1

私は、このアルゴリズム+1について読んだ後、全く同じ質問をしました。 – jkp

答えて

3

いいえ、実際にはソートする必要はありません。上位のメンバーが一緒にグループ化されているかどうか(少なくとも良い乱数ジェネレータでは):グループ化されていれば、効果がないということは間違いありません。

あなたの直感はここでは死んでいます - 統計的に、それは並べ替えに効果がありません、あなたが言及したように、あなたは時間と労力を並べ替えるの束を無駄にする必要はありません!

1

このような選択を使用する場合、人口をソートする必要はありません。

また、複雑さについても正しいですが、並べ替えはn * log(n)であり、遺伝的アルゴリズムはかなり遅くなります(ただし、複雑さは遺伝的アルゴリズムの重要な機能である多項式のままです)。ここで

は、私はそれを行う(そして、このための学校で余分なポイントを取得)する方法を次のとおりです。

  1. は、フックを使用して、より汎用的なソリューションを実装 - 突然変異の前に、選択した後などなど

  2. 反復回数とアルゴリズム/各反復の速度を測定する

  3. フックでソートを行います。測定。フックを空にして測定するなど。

あなたの直感があなたに何を伝えるかを実験的に検証します。

+1

男の子、これは私に大学を思い出させる...良い古い時代... –

2

エリート主義を適用しても、人口をソートする必要はありません。

最良のN個体を見つけるには、母集団を通して1回の反復が必要です。