teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

累積分布について

2018/05/16 23:45

投稿

ozwk
ozwk

スコア13553

answer CHANGED
@@ -1,2 +1,17 @@
1
1
  F_sumが常に0なのでsが常に0です
2
- 恐らくこれはあなたの意図した動作ではないと思います
2
+ 恐らくこれはあなたの意図した動作ではないと思います
3
+
4
+ ---
5
+
6
+ 実際のコードじゃありませんと言われた挙げ句、
7
+ 変数名が暗号じみているので適当に動作を推測して回答します。
8
+
9
+
10
+ kにcs_F[]を足しこんで累積分布を作り、
11
+ kが初めてs=[0,F_sum)を超えるところを探して親を選択していると思いますが、
12
+ コード見る限り1回目と2回目で同じ分布を使って、
13
+ 2回目は被ったら再抽選するという方法だと思います。
14
+ このように同じ分布を使うと、1回目で選択された親は当然2回目でも選択されやすくなります。
15
+ 特にGAは世代が進むと特定の個体の適応度が著しく高くなりがちなので、再抽選が頻発します。
16
+
17
+ 抽選2回目は、1回目で抽選した個体の適応度を抜いて、累積分布を作るようにしましょう。