質問内容
質問を評価する
(0ポイント)
|
double[][] a={ {1,1,1,1,1,1,1,1,1,1}, {1,2,1,4,1,1,1,8,1,1}, {2,2,2,2,2,2,2,2,2,2}, {2,2,2,3,2,2,2,3,2,2}, {2,2,2,2,2,4,2,2,3,2},
}; のように予め決められている2次元配列 (a[0],a[1],a[2],a[3],a[4]それぞれが遺伝子)と、 double[] fitness={50,100,60,90,120}; のように遺伝子それぞれに対応している適応度があると して、(適応度は別プログラムで計算済み) 遺伝的アルゴリズムで予め設定された遺伝子と適応度を エリート及びルーレット選択、交叉、突然変異を行う (一世代のみ)プログラムをJavaを用いて作りたいので すが、 Web上にある例となるClassは初期集団をランダムで生成 した上で、ランダムに生成された遺伝子に対し適応度計 算を行い、それを選択、交叉、突然変異を行うClassに 投げるものがほとんんどです。 なので、適応度計算を行わずに既にある遺伝子と適応度 をどのようにして結びつけるのか、もともとランダムに 生成された遺伝子に適応度計算を行うこと、複数世代行 うことを前提に設計されている選択・交叉・突然変異等 のClassをどう変更すればよいのかわからず、手詰まり になってしまいました。 周りの知り合いに聞いても、Javaは少しならわかるが専 門外、遺伝的アルゴリズムは勉強したことがない人ばか りなので、聞きたくても聞けない状況となっておりま す・・・。 遺伝的アルゴリズム及びJavaに詳しい方、どなたか実装 例を教えていただけないでしょうか? 参考にさせていただいたURL: http://www.ics.kagoshima- u.ac.jp/edu/ProgramingJava/samples/SimpleG...
|