こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

関数の最大値を遺伝的アルゴリズム(GA)を使って解くプログラミングについてですが

http://www.sist.ac.jp/~suganuma/cpp/3-bu/18-sho/18-sho.htm#e-18-10
こちらのページの真ん中やや下あたりで巡回セールスマン問題や関数の最大値を遺伝的アルゴリズムを使って求めるプログラミングが紹介されていますが、ここに乱数の初期値12345というのがあります。
この12345というものがプログラムの中でどこでどのように扱われているかがわかりません。乱数の初期値がseedで表されているのは分かるのですが…
詳しい方教えてください。お願いします。

関数の最大値を求めるプログラムhttp://www.sist.ac.jp/~suganuma/cpp/3-bu/18-sho/genetic/C++/gene_f.txt
( ケーススタディデータというところに書かれてある
12345 data\species.10 data\data10.tsp
123 data\species.10 data\data10.tsp
1 data\species.10 data\data10.tsp
の12345 123 1の部分が乱数の初期値でこれがseedとなっているのは分かるのですがこの数値が適応度などにどう関係してくるのか分かりません>< )

巡回セールスマン問題
http://www.sist.ac.jp/~suganuma/cpp/3-bu/18-sho/genetic/C++/gene.txt

投稿日時 - 2008-05-24 10:58:20

QNo.4046053

困ってます

質問者が選んだベストアンサー

コンピュータで乱数を発生させる場合、void srand(unsigned seed);
をコールしないと本当の乱数を出力してくれません。
ここらへんに誤解があるのかな?

実際seedは現在時刻から求める場合が多いですが、デバッグ時には同じ乱数で動かしたいので、seedを固定にする仕掛けをプログラムに残すことが多いです。

見当違いの回答だったらごめんなさい。

参考URL:http://www9.plala.or.jp/sgwr-t/lib/srand.html

投稿日時 - 2008-05-24 15:05:57

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問