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