分散GAにおける 解探索メカニズム

Download Report

Transcript 分散GAにおける 解探索メカニズム

分散GAにおける
解探索メカニズム
三木 光範 (同志社大学)
廣安 知之 (同志社大学)
金子 美華 (同志社大学大学院)
研究背景
• GA(遺伝的アルゴリズム)は大規模,複雑な
問題に対して有効
• 問題点
– 計算負荷が高い
– 局所解へ収束する可能性がある
並列分散GA
分散GA
分散GA
単一母集団GA Population
分散GA
Subpopulation
Individual
特 ・ サブ母集団毎にGAを行う
徴 ・ 一定期間おきに個体の交換(移住)を行う
利 ・ 高品質な解を速く得ることができる
点 ・ 並列処理に適している
研究目的
分散GAについて
• 単一母集団のGAとの比較
– どのような問題に対して有効か
• 解探索のメカニズム
対象問題
関数名
One Max
定義
染色体長 依存 局所解
128
f ( x i |i  1,128 ) 
 xi
128
なし
なし
100
なし
あり
あり
なし
i 1
 x i
10
Rastrigin
f ( x i |i  1,10 )  100 
2

 10 cos 2 x i 
i 1
(10bit×10変数)
 5 . 12  x i  5 . 12
 100 ( x1
n
Rosenbrock
f ( x i |i  1,10 ) 
2
 x i )  ( x i  1)
2
2
i2

120
(12bit×10変数)
 2 . 048  x i  2 . 048
パラメータ設定
ルーレット選択
エリート保存
一点交叉
グレイコード
交叉率
突然変異率
0.6
1/染色体長
スケーリングウィンドウサイズ
5
移住間隔
5
移住率
0.3
12試行中最大と最小を除く10試行の平均
個体数を変化させ,
単一母集団GAと分散GA(分割数4,8,16)の性能を比較した
分散GAの有効性(One Max関数)
最高適合度の推移 (800個体)
128
126
Number of
Subpopulations
Fitness V alue
124
122
1
120
4
8
118
16
116
114
112
110
0
50
100
G enerations
150
200
分散GAの有効性(One Max関数)
100世代目の解
200
128
180
127
Fitness Value
G enerations
最適解を得た世代数
160
140
126
125
100
123
480
800 1120 1440 1760
P opulation size
8
16
124
160
1
4
120
-160
Number of
Subpopulations
-160
160
480
800 1120 1440 1760
P opulation size
分散GAは単一母集団GAに比較して
・ 少ない世代数で最適解を得ることができる
・ 高品質の解を得ることができる
分散GAの有効性(Rastrigin,Rosenbrock)
Rastrigin関数(1000世代目)
Rosenbrock関数(1000世代目)
0.0
0.0
Number of
Subpopulations
-0.1
-1.0
Fitness Value
Fitness Value
-0.2
-0.3
-0.4
-0.5
1
4
8
-2.0
16
-3.0
-0.6
-4.0
-0.7
0
80
160
240
320
P opulation size
400
480
560
0
80
160
240
320
400
480
560
P opulation size
分散GAは単一母集団GAに比較して
・ 変数間に依存関係のない場合 → 有効
・ 変数間に依存関係のある場合 → 有効とはいえない
ビルディングブロックの移住
1 1 1 1 0 0 1 1 0 0 0 1
0 0 0 0 1 1 1 0 0 1 1 0
Generation n
Generation n+1
1 1 1 1 0 0 1 1 0 0 0 1
0 0 0 0 1 1 1 0 0 1 1 0
1 1 1 1 1 1 1 0 0 1 1 0
実験の概要
サブ母集団ごとに生成されたビルディングブロックが
移住と交叉によって他のサブ母集団のビルディングブロックと
結合するのではないか?
Rastrigin関数(4次元)
Convergence ratio
母集団の個体数
560
サブ母集団数
4
突然変異率
0
ビルディングブロック → 変数
ビルディングブロックが
サブ母集団内で占める割合の遷移
1 .0
x0
x1
0 .5
x2
x3
0 .0
0
50
Generations
100
x0
x1
x2
x3
分散の効果
1 .0 1 .0
1 .0
x0
x1
0 .5 0 .5
x3
0
50 50
SP_0
0 .5
x2
0 .0 0 .0
0
分散GA 移住なし
0 .0
1 0100 0
0
50
100
50
100
Generations
1 .0
SP_1
0 .5
0 .0
0
1 .0
SP_2
0 .5
0 .0
0
50
100
1 .0
Convergence
ratio
Convergence
ratio
単一母集団GA
1 .0
SP_3
0 .5
0 .5
0 .0
0 .0
0 50 10
0
50
Generations
100
x0
x1
x2
x3
移住の効果
分散GA 移住あり
分散GA 移住なし
SP_0
1 .0
0 .5
0 .5
0 .0
0 .0
0
50
100
0
SP_1
1 .0
50
100
50
100
50
1 .0
100
SP_1
1 .0
0 .5
0 .5
0 .0
0 .0
0
50
100
0
SP_2
1 .0
0 .5
0 .0
0 .0
50
100
0 .5
0 .0
0
0
Convergence
ratio
SP_3
1 .0
SP_2
1 .0
0 .5
0
Convergence
ratio
SP_0
1 .0
50
Generations
100
SP_3
1 .0
0 .5
0 .5
0 .0
0 .0
0 50 10
0
50
Generations
100
x0
x1
x2
x3
結論
• 分散GAは変数間に依存関係のない問題に
対して 非常に有効である.
• 分散GAではサブ母集団ごとに生成された
ビルディングブロックが移住と交叉によって
他のサブ母集団のビルディングブロックと結
合することで最適解が求められる.