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

解決済みの質問

遺伝的アルゴリズムのプログラミングについてですが・・・

遺伝的アルゴリズムのプログラムの基本的な流れが↓のページ
http://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/GA/GA.htm に
【1.初期化 2.生物集団の評価 3.交叉 4.突然変異 5.各個体の評価 6.淘汰】と書かれてあるのですが、
f(x) = sin(3x) + 0.5sin(9x) + sin(15x + 50) [0.1]区間の最大値を求める↓のプログラム
http://www.sist.ac.jp/~suganuma/cpp/3-bu/18-sho/genetic/C++/gene_f.txt 
に当てはめるとどの部分がどこに当たるのでしょうか…(また、このプログラムはどこからどのように読んでいけばいいのでしょうか…)。一応コメントが書かれていますがよく分かりません><;
わかる方がいらっしゃいましたらよろしくお願いしますm( _ _ )m

また、遺伝的アルゴリズムのプログラミングをする際の注意点があれば教えてください。

投稿日時 - 2008-04-29 00:44:25

QNo.3983685

すぐに回答ほしいです

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

> 1.初期化

Init_std()関数

> 2.生物集団の評価

Function::Adap()関数

> 3.交叉

C_copy(); // 親のコピー
C_point(kosa, k_point); // 多点交叉
C_uniform(kosa); // 一様交叉
C_mean(kosa); // 平均化交叉
のいずれか、指定された方法で。

> 4.突然変異

M_alle(mute); // 対立遺伝子への置換
M_move(mute); // 移動
M_inv(mute, wd); // 逆位
M_scram(mute, wd); // スクランブル
M_chg(mute, wd); // 転座
M_dup(mute, wd); // 重複
M_per(mute, wd, m_mean, m_std); // 摂動
のいずれか、指定された方法で。

> 5.各個体の評価

Function::Adap()関数

> 6.淘汰

S_roul(elite)関数


makefileを見る限りは、肝心な所は外部の species.h species.cpp とかでやってるのではないかと。

投稿日時 - 2008-04-29 01:00:03

お礼

丁寧に示してくださりありがとうございました!

投稿日時 - 2008-05-01 01:35:00

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

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

回答(1)

あなたにオススメの質問