• 検索結果がありません。

第 3 章 最適なノード遷移の選択を行う学習進化型 GNP 27

3.4 進化フェーズ

Fig. 3.4は学習と進化の流れを示している。

進化フェーズは,すべての個体がタスクを終了した後,選択,交叉,突然変異を通じ て,すべてのノード遷移の中から,複数の候補を選択することが目的である。学習フェー

3章 最適なノード遷移の選択を行う学習進化型GNP 29

node i Ki IDi di Qi1 A

...

di1

Ni1A A Qin-1

A

din-1 Nin-A1 A

0

1 2

3 4

start node d1

d12

P1

P2 J1

J2

0 2 1 1 2

2 1 00 10 10

1 5

5 2 1 1

0 0 10 00 00 00

10 00 00

00 00 10

10 00 10

Q12 A

A B

A B

A

1.0

0.1 0.1 0.5

0.0 0.8

0.0 0.0

0.3 0.0 2.0

0.6 0.3 0.0 3.1 0.7

00 0 0 10

1 0 1 0 00

1.3 0.1 0.0

0.0 4.0 0.8 node 0

node 1 node 2 node 3 node 4

...

Qi1 B

di1

Ni1B B Qin-1

B

din-1 Nin-B1 B

...

Node gene Connetion gene

A B

Q31 B

Q32 B

A

Fig. 3.1 Basic Structure of GNP with Learning and Evolution for selecting appropriate node transitions

Ni1A Ni2

Nin-1

...

A

A

1 0 Ni3A 0

1 Ni4

A

1

Ni1B Ni2

Nin-1

B

B

1 1 Ni3B 0

1 Ni4B 1

Ni1C Ni2

Nin-1

C

C

0 1 Ni3C 0

0 Ni4C 1

... ...

state siA state siB state siC

Fig. 3.2 An example of a setting of Nij

3章 最適なノード遷移の選択を行う学習進化型GNP 30

Judgement/Processing/Start classification of node i

judge process

judgment result

...

A B

Judgement

Processing

i 0 (start node) start

Q-learning

Yes

Trial ends ?

No

stop

step 1:

select transition(s)

A

step 1:

select transition(s)

B

with Nij=1 step2:

select one transition among the ones selected

QAij in step 1 using and ε-greedy

step2:

select one transition among the ones selected

QBij in step 1 using and ε-greedy

step 1:

select the transition(s) with NijA=1

step2:

select one transition among the ones selected

QAij in step 1 using and ε-greedy with Nij=1

Start

(Ki=1) (Ki=0)

(Ki=2)

i j

Fig. 3.3 Flowchart of node transition

3章 最適なノード遷移の選択を行う学習進化型GNP 31

start

generate an initial population

Judgement/Processing

reproduction

mutation crossover

last generation ? stop No Yes

Trial ends ?

No

ind 1

ind=the number of individuals?

Yes No

ind ind+1

Evolution phase Learning phase

Yes

Reinforcement Learning

ind : individual number

Fig. 3.4 Flowchart of Learning and Evolution

3章 最適なノード遷移の選択を行う学習進化型GNP 32 ズは,タスク実行中に与えられる報酬を基にして,最適なノード遷移を選択することが 目的である。次節では遺伝的オペレータの適用法について述べ,3.5節でQ値の学習法に ついて述べる。

学習進化型GNPは交叉,突然変異を用いてプログラムの進化を実現する。各世代ごと に前世代の個体数と同数の個体を生成し,入れ替えを行う。各世代で交叉および突然変 異によって生成される個体数を,それぞれ交叉個体数,突然変異個体数と呼び,常に一 定数の新しい個体を生成する。また,適合度の高い個体を優先的に残す,エリート保存 選択も用いている。

3.4.1 交叉

交叉は2個の親個体間で行われ,2個の子個体を生成する[Fig. 3.5]。交叉のアルゴリ ズムを以下に示す。

1.トーナメント選択を2回行い,親となる2個体を選択する。

2.各ノードを確率Pcで交叉ノードとして選択する。

3. 2個体間において,2. で選択された交叉ノード(同ノード番号)の遺伝子を交換する。

4.生成された2個体を次世代の個体とする。

Fig. 3.5は簡単のため処理ノード3個のみのグラフ構造の例であるが,判定ノードでの交

叉を考える場合は,判定結果,BC,· · · に関する遺伝子も同時に交換する。また,交 叉を行う場合,交換されるノードに付随するQ値は保持し,次世代の初期値として使用 する。

3.4.2 突然変異

突然変異は1個体で行われ,1個の子個体を生成する[Fig. 3.6]。突然変異オペレータ の作用する遺伝子はNij である。

1.トーナメント選択を1回行い,親となる個体を選択する。

3章 最適なノード遷移の選択を行う学習進化型GNP 33

parent1 parent2

1 1

2 3 2 3

crossover

offspring1 offspring2

1 1

2 3 2 3

N31=0

N31=1 *

N31=1 N31*=0

N32=1 N32=0

N32=0 N32*=1

*

Crossover node is selected with the probability of Pc

d32

d32

d32

d32

*

*

d31 d31

d31* d31

*

d3 d3

d3 d3

*

*

A A

A A

A A

A

A

A A

A

A A

A

A

A A

A A

A

Q31A * QA32*

Q32 A

QA32 QA32*

feasible transition unfeasible QA31

Q31 A

QA31*

Fig. 3.5 Crossover of GNP with Learning and Evolution

1

2 3

mutation

Mutation node is selected with the probability of Pm

1

2 3

"Nij" are set at 0 or 1 based on the setting rule.

N32=0 N32=1

N31=0 N31=1

feasible transition unfeasible

A

A A

A

Fig. 3.6 Mutation of GNP with Learning and Evolution

3章 最適なノード遷移の選択を行う学習進化型GNP 34 2.各ノードを確率Pmで突然変異ノードとして選択する。

3.各突然変異ノードのすべてのNijA, NijB, NijC. . . について0または1に,決められた規 則1にしたがって変更する。

4.生成された個体を次世代の個体とする。

Fig. 3.6も簡単のため処理ノード3個のみのグラフ構造の例を表しているが,判定ノー

ドでの突然変異を考える時は,判定結果A, BC· · · に関してそれぞれ同様の操作を行 う。また,新たに発生したノード遷移(Nij = 0からNij = 1に変化した場合)に対応す るQijは0に設定する。