Transcript 0 - 同志社大学
PCクラスタシステムにおける
並列分散遺伝的アルゴリズム
廣安 知之 (同志社大学)
三木 光範 (同志社大学)
売上高
1.三井物産
2.三菱商事
3.トヨタ自動車
4.伊藤忠商事
5.住友商事
6.日本電信電話
7.丸紅
8.日立製作所
9.松下電器産業
10.日商岩井
経常利益
1.日本電信電話
2.トヨタ自動車
3.エヌ・ティ・ティ・ドコモ
4.東京電力
5.武田製薬工業
6.ブリジストン
7.関西電力
8.三共
9.セブン・イレブン・ジャパン
10.JT
週間ダイヤモンド 2000年10/7号
売上高経常利益率
1.立飛企業
2.小野製薬工業
3.キーエンス
4.セブン・イレブン・ジャパン
5.SANKYO
6.ユーエスエス
7.大和工業
•不動産賃貸業(必要経費がかからない)
8.ローム
•財務的マネジメントがうまい
9.ヒロセ電機
•競争力のある商品を扱っている
10.大正製薬
週間ダイヤモンド 2000年10/7号
文科省の重点プロジェクト
生命科学
航空宇宙
環境
物質材料
地震防災
IBMのチャレンジ
DEEP BLUE
チェスの世界チャンピオン,カスパロフを破った
他の分野でもこれに比肩する偉業が達成される可能性
BLUE GENE (1PetaFLOPs)
“タンパク質の構造解析”にチャレンジ!!
コンピュータの設計およびアーキテクチャに対して従来と
はまったく異なるタンパク質に適したアプローチをとる
最適化の未来
ますます必要になる
従来とは違う分野の開拓が必要
計算機資源の拡大に伴い、対決をせまられている
PCクラスタシステムにおける
並列分散遺伝的アルゴリズム
廣安 知之 (同志社大学)
三木 光範 (同志社大学)
最適化の流れ
設計変数
最適器
目的関数
制約条件
解析器
PCクラスタ
分散メモリ型並列計算機
スーパーコンピュータ並みのシステムの構築も可能
コストを抑えてシステムの構築が可能
ネットワークがボトルネックとなる
アルゴリズムの並列化
逐次モデルの並列化
Do loopなど
並列モデルの構築
•プログラムの構築は簡単
•並列化効率を上げるのが
困難
•プログラムの構築がや
や複雑
•並列化効率は高い
•場合によっては逐次モ
デルよりも解探索能力が
高い
Evolutionary Computation (EC)
の並列化
EC 生物の進化の仕組みなどを模擬
した計算手法
複数個体による探索(多点探索)
さまざまなオペレーション
潜在的な並列アルゴリズム
遺伝的アルゴリズム(GA)の
並列モデル
マスタ・スレーブモデル
セルラモデル
島モデル
特徴
マスタ・スレーブモデル
逐次モデルと同一
プログラムの変更が簡単
Master
Slave
Evaluation
process 1
Selection
Crossover
Mutation
Criteria
process 2
process n
近傍モデル
特徴
一個体ずつ
プロセッサに割り当て
近傍とのみ遺伝的操作
-可動範囲,近傍
近傍モデルの例
Manderickらのモデル(1989)
Muhlenbeinらのモデル : ASPARAGOS(1989)
分散遺伝的アルゴリズム
特徴
サブ母集団(島)に分割
各島内で遺伝的操作
移住 (migration)
-移住率,移住間隔
分散GA(DGA)の例
Taneseのモデル(1989)
2個体分散遺伝的アルゴリズム
2個体分散遺伝的アルゴリズムとは
(Dual Individual DGA : DuDGA)
1. サブ母集団内の個体数が2
2. 遺伝的オペレータの改良
移住
交叉
突然変異
選択
DuDGAにおける移住
送る側 : ランダムに移住個体を選択.コピーを送る
受ける側 : 適合度の低い方の個体と置き換え
置き換え
複製
複製
置き換え
置き換え
複製
DuDGAにおける交叉
2つの親個体から2つの子個体を生成
(一点交叉)
親個体
子個体
DuDGAにおける突然変異
各子個体を,1ビットずつ反転
反転する位置を1ビットずつずらす
0 0 1 0 0 1 1
0 0 1 1 0 1 1
1 0 0 0 1 1 0
1 0 0 0 0 1 0
子個体
同一の子個体の生成を抑制
DuDGAにおける選択
親個体と子個体から適合度の高い方を選択
移住個体は選択されない
親個体
子個体
次世代の個体
遺伝的操作のまとめ
子個体
親個体
交叉
突然変異
選択
次世代の個体
DuDGAの特徴
島数
個体数を決めると一意に決定
交叉
一通りのペア.交叉率 1
移住
移住率 0.5 (1個体)
パラメータ設定の
困難さの一部を解消
テスト関数
n
Rastrigin
: F 1 10 n x i 10 cos( 2 x i )
2
( 5 . 12 x i 5 . 12 )
i 1
n 1
Rosenbrock
: F2
100 ( x
x ) (1 x i )
i 1
2 2
2
( 2 .048 x i 2 . 048 )
i 1
n
Griewank
: F3 1
i 1
※ F 1 : n 20
i
n
4000
: F 4 xj
i 1 j 1
n
Ridge
2
xi
i 1
xi
cos
i
( 512 x i 512 )
2
F2:n 5
( 64 x i 64 )
F 3, F 4 : n 10
島数と性能について
DuDGAは,DGAにおいて,島数を最大としたもの
DGAにおいて,
島数と解探索性能との関係を調べ,
DuDGAと比較
使用したパラメータ
DGA
個体数
島数
染色体長(L)
選択法
交叉率
交叉法
突然変異率
移住間隔
移住率
試行
DuDGA
240
120
4,8,12,24
設計変数の数 × 10
ルーレット選択
前述
1.0
一点交叉
1/L
5
0.3
0.5
20
最適解発見の割合
1.0
4 islands
Reliability
8 islands
12 islands
24 islands
0.5
DuDGA
0
Rastrigin Rosenbock Griewank
Ridge
※ Reliability : 5000世代後に解を発見した割合 (20試行中)
島数が多いほど信頼性が高い傾向
DuDGAが優れた性能
解発見までの関数評価回数
Number of Evaluations
4 islands
8 islands
1000000
12 islands
24 islands
DuDGA
500000
0
Rastrigin Rosenbock
Griewank
Ridge
島数が多いほど評価回数が少ない傾向
DuDGAの収束が速い
比較対象のFGGA(1)
Manderick(1989)のモデル
各個体を
2次元の格子状に配置
隣接する個体同士
(縦,横,斜め) で
遺伝的操作
典型的な
近傍モデル
比較対象のFGGA(2)
Maruyama(1993)のモデル
近傍を定義しない
通信が少ない
他のプロセスの
個体の情報を格納
FGGAの中でも,
DGAに近いモデル
使用したパラメータ
Manderick
個体数
染色体長(L)
400
Maruyama
8
設計変数の数 × 10
DuDGA
400
選択法
最良個体を選択 ルーレット選択
前述
0.8
0.8
1.0
交叉率
交叉法
一点交叉
1/L
突然変異率
前述
可動範囲 1 格納領域サイズ 3 移住間隔 5
10
試行
テスト関数
n
Rastrigin
: F 1 10 n x i 10 cos( 2 x i )
2
( 5 . 12 x i 5 . 12 )
i 1
n 1
Rosenbrock
: F2
100 ( x
x ) (1 x i )
i 1
2
2
n
xi
cos
i
2
( 2 .048 x i 2 . 048 )
i 1
2
n
Griewank
: F3 1
i 1
n
Ridge
: F4
i 1
xi
4000
xj
j 1
i
: F5
x
2
i
i 1
( 512 x i 512 )
2
n
Schwefel
sin
( 64 x i 64 )
xi
i 1
※ n 30
( 512 x i 512 )
FGGAとの比較結果
2000
DuDGA
Manderick
Maruyama
80
60
40
20
0
0
200000
400000
Number of Evaluations
Rosenbrock
Evaluation Value
Evaluation Value
100
1500
DuDGA
Manderick
Maruyama
1000
500
0
0
200000
Number of Evaluations
Ridge
探索の初期においてはFGGAの収束が速い
Rosenbrockでは,Manderickより良好な性能
400000
FGGAとの比較結果
3000
DuDGA
Manderick
Maruyama
40
30
20
10
0
0
200000
400000
Number of Evaluations
Rastrigin
Evaluation Value
Evaluation Value
50
2500
2000
DuDGA
Manderick
Maruyama
1500
1000
500
0
0
200000
400000
Number of Evaluations
Schwefel
探索の初期においてはFGGAの収束が速い
DuDGAが良好な性能
FGGAとの比較結果
Evaluation Value
1.0
DuDGA
Manderick
Maruyama
0.8
探索の初期においては,
FGGAの収束が早い
解発見能力の優劣は,
問題によって異なる
0.6
0.4
0.2
0.0
0
200000
400000
Number of Evaluations
Griewank
探索の初期においてはFGGAの収束が速い
DuDGAが良好な性能
テスト関数
Rastrigin, n=10
n
f 10 n
x
2
i
10 cos( 2 x )
i 1
( -5.12 < x < 5.12 )
パラメータ
Coding
Crossover
Selection
Mutation
Migration
Terminal
condition
10bit Gray coding
one point crossover, rate=0.6
roulette, elite preservation
rate=1 / gene length
random ring topology, interval=5, rate=0.15
elite not renewed among 100 generations
使用クラスタ
Spec. of Cluster (16
nodes)
Processor
PentiumⅡ(Deschutes)
Clock
# Processors
Main memory
Network
(100Mbps)
Communication
OS
Compiler
400MHz
1 × 16
128Mbytes × 16
Fast Ethernet
TCP/IP, MPICH 1.1.2
Linux 2.2.10
gcc (egcs-2.91.61)
DGA of SPGAとの比較
Total population size
32
64
96
128
160
192
224
256
0.20
Fitness value
-0.20
-0.60
-1.00
-1.40
-1.80
1 island
4 island
8 island
16 island
経過時間と適合度値 (8PE)
El aps ed ti me [s ec]
0
100
200
300
400
0.00
F i tnes s v a l ue
DGA:8PE
-1.00
Master-slave:8PE
-2.00
-3.00
SGA:1PE
-4.00
-5.00
500
経過時間と適合度値(16PE)
El aps ed ti me [s ec]
0
F i tnes s v a l ue
0.00
-1.00
100
200
300
400
Master-slave:16PE
DGA:16PE
-2.00
-3.00
-4.00
-5.00
SGA:1PE
500
適合度計算時間とネットワークの関係
Truss
8 nodes
15 elements
(3 stages)
Iteration
4
40
400
4000
Time
10 μsec
100 μsec
1 msec
10 msec
Analysis of truss structure (FEM)
none
8 nodes 15 elements (3)
66 nodes 160 elements (32)
622 nodes 1550 elements (310)
スピードアップ (DGA model)
10 μsec
25
100 μsec
Speedup
20
1 msec
10 msec
15
ideal
10
5
0
0
4
8
Number of processors
12
16
スピードアップ (Master slave
model)
10 μsec
100 μsec
1 msec
10 msec
ideal
Speedup
15
10
5
0
0
4
8
12
Number of processor
16
補足資料
分散GAの並列化
選択
交叉
突然変異
移住
評価
分散GAは1プロセッサに1つの島を割り当て,
移住によって個体情報を交換する
ISDL, Doshisha Univ.
補足資料
2個体DGAの並列化
(1/2)
選択
移住
交叉
島交換
突然変異
評価
2個体DGAは1プロセッサに複数の島を割り当て,
島交換によって他のプロセッサ上の個体と関係を持つ
ISDL, Doshisha Univ.
補足資料
2個体DGAの並列化(2/2)
Speed Up Rate
25
20
15
10
5
1
5
10
The number of processors
並列化によって解探索能力の向上が見られ,
理想値以上の速度向上ができた
ISDL, Doshisha Univ.
15