第 3 章 最適なノード遷移の選択を行う学習進化型 GNP 27
3.6 シミュレーション
3.6.4 シミュレーション条件
シミュレーションは,学習進化型GNP(GNP-LE),進化型GNP(GNP-E)および GPを用い,それぞれ2種類の環境内(シミュレーションI: 固定環境,シミュレーション II: 変動環境)で行った。実行条件はTable 3.2のとおりである。
個体数は301個であり,各遺伝的操作によって生成される個体数を固定した。つまり,
学習進化型GNPは,120個の個体を交叉,176個を突然変異で生成し,適合度の高い上 位5個体をエリートとして次世代に残す。学習進化型GNPのエリート個体数が常に5に 設定されているのは,すべての個体はタスク実行中にプログラムを変更し続けているた め,エリート個体を多めに残すことによって適合度を安定させるためである。その他の 手法でもシミュレーションIIではエリート個体を5としている。これはシミュレーショ
第3章 最適なノード遷移の選択を行う学習進化型GNP 38
Table 3.1 Node function set
Judgement node Processing node
symbol ID content symbol ID content
JF 1 judge FORWARD MF 1 move forward
JB 2 judge BACKWARD TR 2 turn right
JL 3 judge LEFT side TL 3 turn left
JR 4 judge RIGHT side ST 4 stay
TD 5 direction of the nearest TILE HD 6 direction of the nearest HOLE THD 7 direction of the nearest HOLE STD 8 direction of the second nearest TILE
Table 3.2 Simulation Conditions
GNP-E GNP-LE GP
crossover 120 120 120
the number of mutation 180 [176] 176 120 [116]
individuals inversion —– —– 60
elite 1 [5] 5 1 [5]
the number of nodes 61 61 (depth 4–6)
Crossover rate Pc 0.1 0.1 ——
Mutation rate Pm 0.01 0.01 0.1
Inversion rate Pi —— —— 0.1
learning rate α 0.1
Learning parameters discount rate γ —— 0.9 ——
ε 0.01
[ ]: conditions in Simulation II
第3章 最適なノード遷移の選択を行う学習進化型GNP 39 ンIIは環境が変動し,またタイルと穴の出現場所が確率的であるため,これも適合度を 安定させるために5個を残している。各個体のノード数は61個とし,内訳は,開始ノー ドが1個,判定ノードおよび処理ノードが各種5個ずつとした(判定ノードJF 5個,JB 5個,. . .,処理ノードMF 5個,TR5個,. . .)。交叉確率Pc,突然変異確率Pmは実験 的に良い結果を示すものを選択した。学習率αは学習を細かく行うために0.1とし,割引 率γは将来の報酬を十分に考慮するために0.9とし,εは,探査のために接続ブランチを ランダムに選択しつつも,ランダムになりすぎないよう0.01とした。
遅れ時間の設定について,本論文では,ノード間の遅れ時間dij を0,判定ノードの遅
れ時間diを1,処理ノードの遅れ時間diを5 と設定している。また,エージェントが1
回の行動を行う単位時間を1ステップと定義し,1ステップは遅れ時間を5以上消費した 時点で終了するとした。つまり,エージェントは1ステップに4回以内の判定と1回の処 理,または5回の判定を行うことができる。
初期個体生成時,ノード遷移の可否を決定するNij の設定は,規則(注1,p. 34参照)
にしたがって設定され,Qijは全て0に設定する。
また,比較のため木構造を持つGPによるシミュレーションも行っている。ルートノー ドおよび非終端ノードにGNPの判定ノードを用い,終端ノードに処理ノードを用いた。
GNPの判定ノードには5つの分岐があるため,各非終端ノードにも5つの分岐(引数)
が存在する。エージェントの行動決定は,ルートノードから条件分岐を開始し,非終端 ノードによる条件分岐を続け,たどり着いた終端ノードの内容を実行することになる。こ れを1ステップとして繰り返していく。シミュレーションは深さを固定したGPを用い,
良い結果を示す深さを実験的に求めた。遺伝的操作には交叉,突然変異,逆位を用いて おり,以下各操作について説明する。
交叉は,トーナメント選択を2回行って選択された2個体間で行われるが,交叉オペ レータにはPoliらの一点交叉を用いている。この一点交叉は,文献[61, 62]で詳しく分析 され,通常の交叉[9]と比べて性能が良いことが示されている。また,交叉によって生成 された子個体の木の深さが親個体の木の深さより深くなることがなく,したがって初期集 団内の最大の深さを持つ個体より深い木を生成することがない。これはブロート(注3,
第3章 最適なノード遷移の選択を行う学習進化型GNP 40 p. 3参照)の問題を解決する効果がある。しかし,木構造の深さが深くなるほど解の探 索空間は大きくなるものの,表現能力は増すため,最大の深さの設定は非常に重要であ る。そこで,シミュレーションは最大の深さを様々な値に設定して行った。
突然変異は,トーナメント選択で選ばれた個体の各ノードの内容を確率Pmで他の内容 に変える操作で,非終端ノードの内容は他の非終端ノードの内容,終端ノードの内容は 他の終端ノードの内容に変更されるよう設定した。
逆位は,トーナメント選択で選ばれた個体の各ノードを確率Piで選択し,選ばれたノー ドが持つ5つの引数のうち,2つをランダムに選択して入れ替える操作である。
木構造の初期化には“full method”と“ramped half-and-half method” [9]の二つを用い て様々な形と大きさの木を作った。