tpsa における重要温度領域探索と並列化効率

33
同同同同同 同同同同同 同同同同同同同同同同同同同 同同同同同同同同同同同同同 同同 同同 同同 同同 同同 同同 同同 同同 同同 同同 ○同同 同同 同同 同同 ○同同 同同 TPSA TPSA 同同同同同同同同同同同同同同同同同同 同同同同同同同同同同同同同同同同同同

Upload: lareina-macias

Post on 31-Dec-2015

30 views

Category:

Documents


6 download

DESCRIPTION

TPSA における重要温度領域探索と並列化効率. 同志社大学  知的システムデザイン研究室. 三木 光範    廣安 知之 吉田 武史   ○伏見 俊彦. トラス構造物. タンパク質 の構造解析. 最適化問題とは?. 目的関数の最小化(最大化). 連続最適化問題. 組み合わせ最適化問題. LSI 配置問題. スケジュー リング問題. 探索空間の拡大により実用的な計算コストで解くことが困難. 研究背景. 最適化問題の複雑化. 良好な解を短時間で 求めることが重要. ヒューリスティック探索. 遺伝的アルゴリズム(GA). 生物の進化を模倣. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TPSA における重要温度領域探索と並列化効率

同志社大学 同志社大学 知的システムデザイン研究室知的システムデザイン研究室

三木 光範    廣安 知之三木 光範    廣安 知之吉田 武史   ○伏見 俊彦吉田 武史   ○伏見 俊彦

TPSATPSA における重要温度領域探索と並列化効率における重要温度領域探索と並列化効率

Page 2: TPSA における重要温度領域探索と並列化効率

最適化問題と最適化問題とは?は?

目的関数の最小化(最大化)

タンパク質の構造解析

トラス構造物 LSI 配置問題

スケジューリング問題

連続最適化問題 組み合わせ最適化問題

探索空間の拡大により実用的な計算コストで解くことが困難

Page 3: TPSA における重要温度領域探索と並列化効率

研究背景研究背景

最適化問題の複雑化

ヒューリスティック探索

遺伝的アルゴリズム(GA)

ニューラルネットワーク

シミュレーテッドアニーリング(SA)

生物の進化を模倣

ボルツマンマシン

金属の焼き鈍しを模倣

良好な解を短時間良好な解を短時間でで

求めることが重要求めることが重要

Page 4: TPSA における重要温度領域探索と並列化効率

シミュレーテッドアニーリシミュレーテッドアニーリングング焼き鈍し : 金属を溶融状態から緩慢に冷却し,良質な結晶を生成

1.生成処理2.受理判定

3.クーリング

⊿E=Enext - Enow

受理確率:P

SAアルゴリズム

1

exp (   )

- ΔE

温 度温 度

解の動きと温度パラメータが密接に関解の動きと温度パラメータが密接に関係係

⊿E ≦ 0

⊿E > 0

Page 5: TPSA における重要温度領域探索と並列化効率

シミュレーテッドアニーリシミュレーテッドアニーリングング

高 温

低 温

焼き鈍し : 金属を溶融状態から緩慢に冷却し,良質な結晶を生成

1.生成処理2.受理判定

3.クーリング

⊿E=Enext - Enow

受理確率:P

SAアルゴリズム

1

exp (   )

- ΔE

温 度温 度

解の動きと温度パラメータが密接に関解の動きと温度パラメータが密接に関係係

⊿E ≦ 0

⊿E > 0

Page 6: TPSA における重要温度領域探索と並列化効率

温度パラメータ温度パラメータSA実行中の温度の推移:温度スケジュール

温度スケジュールと解の品質が大きく関係

Tem

pera

ture

Time

最高温度最高温度

最低温度最低温度

クーリング率クーリング率

クーリング周期クーリング周期

高温から低温へ緩慢に冷却

SASA

適切な温度スケジュー適切な温度スケジュールルが容易でないが容易でない膨大な計算量膨大な計算量

S A S A の 並 列 化の 並 列 化

Page 7: TPSA における重要温度領域探索と並列化効率

並列並列 SA SA と 温度並列と 温度並列 SASA並列 並列 SA :SA : SASA を並列実行し,計算時間を短縮を並列実行し,計算時間を短縮• 独立型並列独立型並列 SASA• 同期型並列同期型並列 SASA• 非同期型並列非同期型並列 SASA

解交換による解精度向上解交換による解精度向上

温度スケジュールの問題は残る温度スケジュールの問題は残る

温度並列 温度並列 SA(Temperature Parallel SA : TPSA)SA(Temperature Parallel SA : TPSA)

○ ○ 温度スケジュールの自動化温度スケジュールの自動化○ ○ 並列処理との高い親和性並列処理との高い親和性× × 適切な初期温度設定が困難適切な初期温度設定が困難× × 高温プロセスの効果高温プロセスの効果

HighTemp

LowTemp

P =1

exp( )ΔT ・ ΔET ・ T’

ΔT ・ ΔE < 0

otherwise

Page 8: TPSA における重要温度領域探索と並列化効率

研究目的研究目的

温 度 並 列 温 度 並 列 S AS A(( TPSATPSA ))

解探索過程で解探索過程で温度範囲を変更温度範囲を変更

探索温度領域が自律的に探索温度領域が自律的に変化するメカニズム変化するメカニズム++

適応的適応的 TPSA(Adaptive TPSA : ATPSA)TPSA(Adaptive TPSA : ATPSA) の提案の提案

HighTemp

LowTemp 有効な温度領域に有効な温度領域に

Page 9: TPSA における重要温度領域探索と並列化効率

対象問題対象問題巡回セールスマン問題巡回セールスマン問題

全ての都市を巡回する最短の経路を発見

Traveling Salesman Problem : TSPTraveling Salesman Problem : TSP

ch150ch150 gil262gil262 kroA100kroA100 pr152pr152eil51eil51

6528 2378 21282 73682426

代表的な組み合わせ最適化問題

Page 10: TPSA における重要温度領域探索と並列化効率

温度による解の動きの比較温度による解の動きの比較Tem

pera

ture

Time

一定温度一定温度 SASA の実験結果の実験結果 (kroA100) (kroA100)

SASASASA

SASASASA

SASASASASASASASASASASASASASASASA

重要な温度領域重要な温度領域

最適解

それぞれの温度での解の動きを検証それぞれの温度での解の動きを検証それぞれの温度での解の動きを検証それぞれの温度での解の動きを検証

一定温度で解探索を行い一定温度で解探索を行い温度と解の関係を検証温度と解の関係を検証

Page 11: TPSA における重要温度領域探索と並列化効率

温度による解の動きの比温度による解の動きの比較較温度によって解の動きが温度によって解の動きが大きく異なる大きく異なる

重要な温度領域では他の温度と比べ良好な範囲で解が動重要な温度領域では他の温度と比べ良好な範囲で解が動くく

高温度高温度

低温度低温度

重要な温度重要な温度

Page 12: TPSA における重要温度領域探索と並列化効率

温度による解の動きの比温度による解の動きの比較較

重要な温度領域では他の温度と比べ良好な範囲で解が動重要な温度領域では他の温度と比べ良好な範囲で解が動くく

温度によって解の動きが温度によって解の動きが大きく異なる大きく異なる

低温度低温度

重要な温度重要な温度

Page 13: TPSA における重要温度領域探索と並列化効率

温度領域の縮小温度領域の縮小解の動きから解探索に貢献していない温度を排除解の動きから解探索に貢献していない温度を排除

基準値(解平均)基準値(解平均)

平均値と解の差が大平均値と解の差が大きい温度ほど重要なきい温度ほど重要な温度領域に近い温度領域に近い

解の動きを表す値と解の動きを表す値としてして評価値評価値を導入を導入

Page 14: TPSA における重要温度領域探索と並列化効率

評価値評価値

評価値:評価値:小小

評 価 値評 価 値::解の動きを評価する値解の動きを評価する値

評価値 評価値 = Σ(= Σ(基準値 基準値 - - 解解 ))

解探索中に基準値を下回ることで評価値が加算解探索中に基準値を下回ることで評価値が加算

解探索に貢献して解探索に貢献していない温度領域いない温度領域

無駄な温度を排除でき無駄な温度を排除できるる

Page 15: TPSA における重要温度領域探索と並列化効率

適応的TPSA適応的TPSA

同 期同 期

解探索 + 評価値計算

• 探索温度範囲の設定

• 次の周期の基準値決定

• 解 交 換

Page 16: TPSA における重要温度領域探索と並列化効率

適応的TPSA適応的TPSA

同 期同 期

解探索 + 評価値計算

評価値

前周期の温度範囲

次周期の温度範囲

探索に貢献していない温度領域

温度

Page 17: TPSA における重要温度領域探索と並列化効率

適応的TPSA適応的TPSA

同 期同 期

解探索 + 評価値計算

• 探索温度範囲の設定

• 次の周期の基準値決定

• 解 交 換

Page 18: TPSA における重要温度領域探索と並列化効率

適応的TPSA適応的TPSA

同 期同 期

解探索 + 評価値計算

• 探索温度範囲の設定

• 次の周期の基準値決定

• 解 交 換

重要な温度領域重要な温度領域

Page 19: TPSA における重要温度領域探索と並列化効率

実験概要実験概要

初期最高温度

初期最低温度

最大改悪を 50%の確率で受理する温度

総アニーリング数

解交換周期

適応的適応的 TPSA(ATPSA)TPSA(ATPSA) とと TPSATPSA の性能比較実験の性能比較実験

試 行 回 数

最小改悪を解交換周期で 1回は受理する温度

解交換周期 × 160

都市数 × 20

20

温度数 32

11プロセッサが担当する温度数は 温度数/プロセッサ数プロセッサが担当する温度数は 温度数/プロセッサ数

Page 20: TPSA における重要温度領域探索と並列化効率

実験結果実験結果

TPSATPSA における温度推移における温度推移 (kroA100) (kroA100)

重要な温度領域で解探重要な温度領域で解探索索するプロセスが少ないするプロセスが少ない高温部のみで解交換を高温部のみで解交換を行い,温度プロセスに行い,温度プロセスによって解の品質が大きよって解の品質が大きく異なるく異なる

重要な温度領域重要な温度領域

Page 21: TPSA における重要温度領域探索と並列化効率

実験結果実験結果

ATPSAATPSA における温度推移における温度推移 (kroA10(kroA100) 0)

重要な温度領域に多くの重要な温度領域に多くのプロセスが集中プロセスが集中

解交換が頻繁に行われ,解交換が頻繁に行われ,全プロセスが良好な解を持全プロセスが良好な解を持つつ

重要な温度領域重要な温度領域

Page 22: TPSA における重要温度領域探索と並列化効率

実験結果実験結果 解探索能力 解探索能力

適応的 TPSA

最適解発見率 最適解発見率

TPSA

Page 23: TPSA における重要温度領域探索と並列化効率

ATPSAATPSA の並列化効率の並列化効率

eil51 a280 pr1002

問題規模に比例して並列化効率は向上する問題規模に比例して並列化効率は向上する通信時間による影響同期時による待ち時間 speedupspeedup 1CPU time1CPU time

n CPU timen CPU time==

Number of processors

Sp

eed

up

Number of processors Number of processors

11プロセッサが担当する温度数はプロセッサが担当する温度数は温度数/プロセッサ数温度数/プロセッサ数

Page 24: TPSA における重要温度領域探索と並列化効率

ATPSAATPSA の並列化効率の並列化効率問題規模が小さいと通信時間が占める割合が大きい問題規模が小さいと通信時間が占める割合が大きい

計算量が少ない問題では並列化が生かされていない

Problems

Com

mu

nic

ati

on t

ime

/Tota

l ti

me

Page 25: TPSA における重要温度領域探索と並列化効率

結 論結 論

解の動きを評価する評価値の導入解の動きを評価する評価値の導入 重要温度領域に各プロセスの温度が集中重要温度領域に各プロセスの温度が集中

自律的に重要な温度領域を探索する自律的に重要な温度領域を探索する適応的適応的 TPSATPSA の提案の提案

SASA における温度パラメータの検討における温度パラメータの検討解探索を効率的に行える解探索を効率的に行える重要重要温度温度の存在の存在

適応的適応的 TPSATPSA の並列化効率の検証の並列化効率の検証

大規模な問題では高い並列処理との親和性大規模な問題では高い並列処理との親和性

従来の従来の TPSATPSA から解探索能力を向上することができたから解探索能力を向上することができた

Page 26: TPSA における重要温度領域探索と並列化効率

温度並列温度並列 SASA についてについて

P =1

exp( )ΔT ・ ΔE

T ・ T’

ΔT ・ ΔE < 0

otherwise

解の品質より確率的に解を他のプロセスと交換する

ΔE = E – E’ ΔT = T – T’

HighTemp

LowTemp

Page 27: TPSA における重要温度領域探索と並列化効率

重要温度領域重要温度領域Tem

pera

ture

Time

重 要 温 度 領 域重 要 温 度 領 域一定温度で解探索することで一定温度で解探索することで良好な解が得られる温度領域良好な解が得られる温度領域

・対象問題によって大きさが・対象問題によって大きさが 異なる 異なる

・重要温度領域を決定するた・重要温度領域を決定するた めに膨大な予備実験が必要 めに膨大な予備実験が必要

重要温度領域重要温度領域

Page 28: TPSA における重要温度領域探索と並列化効率

高温度高温度高温度高温度

重要温度領域重要温度領域重要温度領域重要温度領域

低温度低温度低温度低温度

一定温度一定温度 SASA

Tem

pera

ture

Time

逐次逐次 SASA

Tem

pera

ture

Time

高温から高温から低温へ低温へ

高温度高温度高温度高温度

重要温度領域重要温度領域重要温度領域重要温度領域

低温度低温度低温度低温度

一定温度で一定温度でアニーリングアニーリング

・良好な範囲で解が動く・良好な範囲で解が動く

・低温と比較して・低温と比較して 解の動きが激しい 解の動きが激しい

重要温度領域の特徴重要温度領域の特徴

重要温度領域の特徴重要温度領域の特徴

Page 29: TPSA における重要温度領域探索と並列化効率

SolutionSolution EvaluationEvaluation

初期解と初期温度を

各プロセスに設定

解探索 + 評価値計算

適応的適応的 TPSATPSA

Page 30: TPSA における重要温度領域探索と並列化効率

適応的適応的 TPSATPSA

MasterMaster Master に各プロセスの評価値と温度を集める

SlaveSlave

T1T1T1T1

T2T2T2T2

T3T3T3T3

T4T4

T4T4

T5

T5

T5

T5

評価値

温度

評価値から次の周期の評価値から次の周期の探索温度範囲を決定する探索温度範囲を決定する

重要温度領域重要温度領域

Page 31: TPSA における重要温度領域探索と並列化効率

適応的適応的 TPSATPSA

MasterMaster

Master 上で各プロセスの温度を決定

SlaveSlave

TT11TT11

TT22TT22

TT33TT33

TT55TT55

評価値

温度

TT44TT44

Slave にそれぞれに割り当てた温度を送信

Page 32: TPSA における重要温度領域探索と並列化効率

ATPSAATPSA の並列化効率の並列化効率ATPSA を並列で実行 (32 プロセス )

number of processor number of processor

spee

dup

spee

dup

問題規模が小さいと並列化効率が悪い問題規模が小さいと並列化効率が悪い

eil51 pr1002

Page 33: TPSA における重要温度領域探索と並列化効率

研究目的研究目的