アプリ版:「スタンプのみでお礼する」機能のリリースについて

遺伝的アルゴリズムのプログラムの基本的な流れが↓のページ
http://www.sist.ac.jp/~suganuma/kougi/other_lect … に
【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/ … 
に当てはめるとどの部分がどこに当たるのでしょうか…(また、このプログラムはどこからどのように読んでいけばいいのでしょうか…)。一応コメントが書かれていますがよく分かりません><;
わかる方がいらっしゃいましたらよろしくお願いしますm( _ _ )m

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

A 回答 (1件)

> 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 とかでやってるのではないかと。
    • good
    • 1
この回答へのお礼

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

お礼日時:2008/05/01 01:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!