検索結果 3 件

by toru
11年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムの交叉方法
返信数: 7
閲覧数: 5275

Re: 遺伝的アルゴリズムの交叉方法

[quote="たいちう"]toruさんの遺伝子は参考ページの「パス表現」のようですが、「順序表現」に変更するとうまくいくでしょう。
順序型GAの遺伝子表現と操作 "セールスマン巡回問題を例に"

回答ありがとうございます。
ただ、私の参考にしている論文を見ると、このアルゴリズムはパス表現を用いると明記されております。それでも、順序表現の方がよろしいのでしょうか?
by toru
11年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムの交叉方法
返信数: 7
閲覧数: 5275

Re: 遺伝的アルゴリズムの交叉方法

お二方、ご指摘ありがとうございます。 削除に関してはルールの理解不足でした。大変申し訳ございません。以後、気を付けます。 自分が考えたプログラムと同時に、交叉の方法の全文を載せてみます。 変数等、分からないものがあればまた質問してください。お願いします。 3.交叉 選択された両親から子を一つ生成する。まず、ランダムに一都市を選択し子供の出発都市(s)とする。 親1と親2のsの次に訪問する都市をそれぞれc1,c2とする。この時、子において、sの次に訪問する都市候補はc1とc2である。 都市c1,c2がsの次に訪問される確率はsからの距離が近い都市の訪問される確率が高くなるように、式(2)で計算さ...
by toru
11年前
フォーラム: C言語何でも質問掲示板
トピック: 遺伝的アルゴリズムの交叉方法
返信数: 7
閲覧数: 5275

遺伝的アルゴリズムの交叉方法

TSPを解く遺伝的アルゴリズムの交叉についてアルゴリズムがプログラムに書き直せないので、ご教授ください。 単純に5都市の問題として考えています。 定義1:親1の巡回路を(1,2,3,4,5)、親2の巡回路を(2,1,3,5,4)とします。tourという2次元配列には巡回路が入っています。 例えばtour[parent1][]=(1,2,3,4,5)、tour[parent2][]=(2,1,3,5,4)といった具合です。 定義2:子は1次元配列で構成されており、出発都市のみランダムで決定されております。 また、アルゴリズムに従い、どちらの親の都市を受け継ぐか決定しています。 例えば、出発都市が...

詳細検索ページへ移動する