1

模擬アニーリングの基本概念を理解していると思います。基本的にランダムなソリューションを追加して、最初に検索スペースのより良い領域をカバーし、アルゴリズムが実行されている間にランダム性を徐々に減らします。模擬アニーリングの実装

私はこれを私の遺伝的アルゴリズムにどのように実装するのか少し混乱しています。

私は何をする必要があるのか​​簡単な説明を誰にも教えてもらえますか?

+1

ウィキペディアの「遺伝的アルゴリズム」記事 - 「SAは、比較的高い突然変異率で開始し、所定のスケジュールに沿って時間の経過とともに減少させることによって、標準的なGAアルゴリズム内でも使用できます。 これは、GAの言葉でSA技術を記述しているようです。それ以上の具体的な質問はありますか? – mbeckish

答えて

2

遺伝的アルゴリズムでは、個人の新世代を構築する場合、それには3つのランダムな側面があります:親個体へ

  1. マッチング親個体が、その比例フィットネスに応じて優先して、
  2. 選びますクロスオーバーポイント、および
  3. 子孫の変異。

これは通常、一様なランダム分布なので、2番目の方法についてはあまりお手伝いできません。 は、親の個体を選択しているときにランダムな要素をルーレットホイールに追加し、そのランダムな機能をゆっくりと減らすことが考えられます。しかし、それは遺伝的アルゴリズムの精神に反するものであり、(もっと重要なことに)私はそれがあまりうまくいくとは思わない。私はそれが実際に傷つけるだろうと思う。

これは第3の要因を残します - 世代が進むにつれて変異率を高変異から低変異に変えます。

これ以上複雑ではありません。

+0

私はちょっとばかげているように感じました。私は、それについて多くの研究を読んだ後に実装するのがとても簡単だとは気づきませんでした。最後にコードをいくつか追加して実装しました。 あまりにも@mbeckishありがとうも誰がコメントで私の質問に答えた。 – Undefined