Population-based incremental learning
これは、Javaで実装された、ソースコードの一部である。論文では、learnRate = 0.1、negLearnRate = 0.075、mutProb = 0.02、mutShift = 0.05 が使われている。小さな問題の場合、N = 100、ITER_COUNT = 1000 で十分である。
PBIL において、遺伝子は0以上1以下の実数で表現され、その遺伝子において、特定の対立遺伝子が現れる確率を表している。
PBIL のアルゴリズムは以下の通り。
個体群が確率ベクトルから生成される。
個々の個体の適応度が計算され、順位付けされる。
個体群の遺伝子型(確率ベクトル)を個体の適応度に基づいて更新する。
突然変異する。
ステップ1-4を繰り返す。