Microsoft PowerPoint - 13.ppt [互換モード]

Similar documents
Microsoft PowerPoint - 13approx.pptx

Microsoft PowerPoint - mp11-06.pptx

スライド タイトルなし

Microsoft Word - NumericalComputation.docx

Microsoft PowerPoint - H21生物計算化学2.ppt

memo

Microsoft PowerPoint - ad11-09.pptx

2011年度 大阪大・理系数学

A Constructive Approach to Gene Expression Dynamics

Microsoft PowerPoint - DA2_2019.pptx

PowerPoint プレゼンテーション

グラフ理論における偶奇性の現象

学習指導要領

PowerPoint Presentation

アルゴリズムとデータ構造

Microsoft Word - 微分入門.doc

2011年度 筑波大・理系数学

アルゴリズム論 Theory of Algorithms

Microsoft PowerPoint - 10.pptx

umeda_1118web(2).pptx

横浜市環境科学研究所

Math-Aquarium 例題 図形と計量 図形と計量 1 直角三角形と三角比 P 木の先端を P, 根元を Q とする A 地点の目の位置 A' から 木の先端への仰角が 30,A から 7m 離れた AQB=90 と なる B 地点の目の位置 B' から木の先端への仰角が 45 であ るとき,

学習指導要領

周期時系列の統計解析 (3) 移動平均とフーリエ変換 nino 2017 年 12 月 18 日 移動平均は, 周期時系列における特定の周期成分の消去や不規則変動 ( ノイズ ) の低減に汎用されている統計手法である. ここでは, 周期時系列をコサイン関数で近似し, その移動平均により周期成分の振幅

算法の設計と評価

2018年度 東京大・理系数学

Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint - 9.pptx

Microsoft PowerPoint SIGAL.ppt

三者ミーティング

2011年度 東京大・文系数学

Microsoft Word - 201hyouka-tangen-1.doc

重要例題113

Microsoft PowerPoint - mp11-02.pptx

学力スタンダード(様式1)

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

学習指導要領

PowerPoint プレゼンテーション

2013年度 信州大・医系数学

Microsoft PowerPoint - 10.pptx

<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69

20~22.prt

DVIOUT-SS_Ma

2015-2017年度 2次数学セレクション(複素数)解答解説

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

PowerPoint Presentation

Microsoft Word - 補論3.2

ボルツマンマシンの高速化

データ解析

微分方程式による現象記述と解きかた

DVIOUT-SS_Ma

1999年度 センター試験・数学ⅡB

040402.ユニットテスト

日本内科学会雑誌第102巻第4号

航空機の運動方程式

学習指導要領

オートマトン 形式言語及び演習 1. 有限オートマトンとは 酒井正彦 形式言語 言語とは : 文字列の集合例 : 偶数個の 1 の後に 0 を持つ列からなる集合 {0, 110, 11110,

学習指導要領

オートマトンと言語

DVIOUT

Microsoft PowerPoint - 応用数学8回目.pptx

2017年度 長崎大・医系数学

学習指導要領

Microsoft PowerPoint - DA2_2017.pptx

Microsoft PowerPoint - 09-search.ppt [互換モード]

2018年度 2次数学セレクション(微分と積分)

学習指導要領

Microsoft PowerPoint - mp13-07.pptx

パソコンシミュレータの現状

Microsoft PowerPoint - H20第10回最短経路問題-掲示用.ppt

vecrot

経済数学演習問題 2018 年 5 月 29 日 I a, b, c R n に対して a + b + c 2 = a 2 + b 2 + c 2 + 2( a, b) + 2( b, c) + 2( a, c) が成立することを示しましょう.( 線型代数学 教科書 13 ページ 演習 1.17)

2010年度 筑波大・理系数学

固体物理2018-1NKN.key

Chap2

2014年度 千葉大・医系数学

様々なミクロ計量モデル†

2015年度 金沢大・理系数学

" 01 JJM 予選 4 番 # 四角形 の辺 上に点 があり, 直線 と は平行である.=,=, =5,=,= のとき, を求めよ. ただし,XY で線分 XY の長さを表すものとする. 辺 と辺 の延長線の交点を, 辺 と辺 の延長線の交点を G とする. 5 四角形 は直線 に関して線対称な

平成 年 月 7 日 ( 土 第 75 回数学教育実践研究会アスティ 45 ビル F セミナールーム A 札幌医科大学 年 P ab, を正の定数とする 平面上において ( a, を中心とする円 Q 4 C と (, b を中心とする円 C が 原点 O で外接している また P を円 C 上の点と

ディジタル信号処理

<4D F736F F D2094F795AA95FB92F68EAE82CC89F082AB95FB E646F63>

学習指導要領

喨微勃挹稉弑

計算幾何学入門 Introduction to Computational Geometry

< 中 3 分野例題付き公式集 > (1)2 の倍数の判定法は 1 の位が 0 又は偶数 ( 例題 )1~5 までの 5 つの数字を使って 3 ケタの数をつくるとき 2 の倍数は何通りできるか (2)5 の倍数の判定法は 1 の位が 0 又は 5 ( 例題 )1~9 までの 9 個の数字を使って 3

数学 ⅡB < 公理 > 公理を論拠に定義を用いて定理を証明する 1 大小関係の公理 順序 (a > b, a = b, a > b 1 つ成立 a > b, b > c a > c 成立 ) 順序と演算 (a > b a + c > b + c (a > b, c > 0 ac > bc) 2 図

Microsoft PowerPoint - 第3回2.ppt

相加平均 相乗平均 調和平均が表す比 台形 の上底 下底 の長さをそれぞれ, とするとき 各平均により 台形の高さ はどのように比に分けられるだろうか 相乗平均は 相似な つの台形になるから台形の高さ を : の 比に分ける また 相加平均は は : の比に分けます 調和平均は 対角線 と の交点を

Microsoft PowerPoint - 測量学.ppt [互換モード]

Chap2.key

Math-quarium 練習問題 + 図形の性質 線分 は の二等分線であるから :=:=:=: よって = = = 線分 は の外角の二等分線であるから :=:=:=: よって :=: したがって == 以上から =+=+= 右の図において, 点 は の外心である α,βを求めよ α β 70

頻出問題の解法 4. 絶対値を含む関数 4.1 絶対値を含む関数 絶対値を含む関数の扱い方関数 X = { X ( X 0 のとき ) X ( X <0 のとき ) であるから, 絶対値の 中身 の符号の変わり目で変数の範囲を場合分けし, 絶対値記号をはずす 例 y= x 2 2 x = x ( x

Microsoft PowerPoint - DA2_2018.pptx

<4D F736F F D2097CD8A7793FC96E582BD82ED82DD8A E6318FCD2E646F63>

<4D F736F F D FCD B90DB93AE96402E646F63>

計算機シミュレーション

<4D F736F F D208C51985F82CD82B682DF82CC88EA95E A>

大気環境シミュレーション

Transcription:

13. 近似アルゴリズム 1

13.1 近似アルゴリズムの種類 NP 困難な問題に対しては多項式時間で最適解を求めることは困難であるので 最適解に近い近似解を求めるアルゴリズムが用いられることがある このように 必ずしも厳密解を求めないアルゴリズムは 大きく分けて 2 つの範疇に分けられる 2

ヒューリスティックと近似アルゴリズム ヒュ- リスティクス ( 発見的解法 経験的解法 ) 遺伝的アルゴリズム (GA) アニ-リング ( 焼きなまし法 ) 精度保証無し タブサーチ実験的評価が主ローカルサーチニューラルネット等 近似アルゴリズム定数近似アルゴリズム (APX) 多項式近似スキーム (PTAS) 精度保証付き完全多項式近似スキーム (FPTAS) 理論的解析が主 ここでは 近似アルゴリズムについてみていく 3

α 近似アルゴリズム 最小化問題に対して いつも最適解のα 倍以下の解を入力サイズの多項式時間で求めるようなアルゴリズムをα 近似アルゴリズムという ここで α であり 1 α を近似率という すなわち 最適解を f と表し ( OPT x ) アルゴリズムの解の評価値を f ( AL xと表すと 常 ) に次の式を満足する fal( x) f OPT ( x ) OPT α f ( x ) α f ( x ) AL OPT 4

β 近似アルゴリズム 最大化問題に対して いつも最適解のβ 倍以上の解を入力サイズの多項式時間で求めるようなアルゴリズムをβ 近似アルゴリズムという ここで β であり 1 β を近似率という また βを近似保証ということもある すなわち 最適解をと表し アルゴリズムの解 f ( OPT x ) の評価値をと表すと 常に次の式を満足す f ( ) AL x る f AL ( x) β f OPT ( x) f ( x ) β f ( x ) AL OPT 5

APX α( あるいはβ) 定数であるようなアルゴリズムが存在するクラスを APX(APproXimation) p ) という 6

PTAS と FPTAS 近似率 α(β) を限りなく1に近づけることができるとき そのようなα 近似アルゴリズムをPTAS(Polynomial Time Approximation Scheme, 多項式時間近似スキーム ) という すなわち 任意の正数 ε > 0 に対して とできる入力サイズの多項式時間アルゴリズムを α = 1 + ε PTASという さらに 入力サイズと精度 n の多項 1 ε 式時間アルゴリズムFPTAS(Fully Polynomial Time Approximation Scheme, 完全多項式時間近似スキーム ) という 問題によっては PTASが存在しない ( 知られていない ) ものがある また 定数近似すら存在しない問題もある このようなアルゴリズムの出力は入力サイズに依存した近似値になってしまう 7

近似アルゴリズムの存在 近似アルゴリズムが存在するクラス APX が存在するクラス PTAS が存在するクラス FPTAS が存在するクラス 8

13-2. 巡回セールスマン問題 巡回セールスマン問題には ネットワーク型と 幾何型とがある ネットワーク型の巡回セールスマン問題では 入力は辺重み付きのグラフであり 出力は頂点を全て辿る閉路で重みの総和が最小のものである 5 2 2 9

三角不等式を満足しないようなネットワーク型の巡回セールスマン問題は 近似アルゴリズムを得ることすら NP- 困難である 具体的には 定数近似アルゴリズムが存在するとと NP 完全問題であるハミルトン閉路問題が多項式時間で解けてしまう つまり ハミルトン閉路問題をネットワーク型の定数近似巡回セールスマン問題に帰着できてしまう このことより ネットワーク型の巡回セールスマン問題には定数近似アルゴリズムは存在しないと考えられている 10

ハミルトン閉路問題と巡回セールスマン問題 名称 : ハミルトン閉路問題インスタンス : グラフ G 問い :G 中に 全ての頂点を丁度 1 度だけ通るような閉路は存在するか? 名称 : 巡回セールスマン (NTSP) インスタンス : ネットワークN 正数 K 問い : ネットワーク中の全ての頂点を通るような閉路で重みの総和がK 以下となるようなもの存在するか? 11

巡回セールスマン問題への帰着 ネットワーク型の巡回セールスマン問題を解くα 近似アルゴリズムが存在すると 次のようにハミルトン閉路問題を巡回セールスマン問題に帰着できる つまり ハミルトン閉路問題のインスタンスであるグラフGから巡回セールスマン問題のインスタンスである辺重み付きグラフ ( ネットワーク N) と整数 Kを定めればめることができる まず Gの辺に全て1の重みをつけてネットワークNを構 n 成する 次に Kとして K = として 巡回セールスマ α ン問題へ帰着する このとき αの定数近似であるapxが存在すると 多項式時間でハミルトン閉路の存在判定ができてしまう 以上のことより P NP である限り ネットワーク型の巡回セールスマン問題を解く多項式時間アルゴリズムはない 12

幾何巡回セールスマン問題 (GTSP) 実は 幾何巡回セールスマン問題には 定数近似アルゴリズムが存在する ネットワーク型と 幾何型での最大のちがいは 三角不等式が成り立つかどうかである ここで三角不等式とは 任意の xyz,, 対して 次が成り立つことである dxy (, ) dxz (, ) + dyz (, ) 13

2 次元 ( ユークリッド ) 平面上の点集合を考えれば 2 点間の距離は自動的に三角不等式を満たす このことは 利用できる情報 ( 三角不等式 ) が多くなったということであり ネットワーク型よりも幾何型の方が問題が簡単であることを意味する. 実際 幾何型の巡回セールスマン問題は FPTASを持つことが最近 (19 98 年 ) に示された このアルゴリズムは複雑なので ここでは2 近似アルゴリズムとそれを改善した1.5 近似アルゴリズムを示す 14

NTSP と GTSP 近似アルゴリズムが存在するクラス NTSP APX が存在するクラス PTAS が存在するクラス GTSP FPTAS が存在するクラス 15

2 近似アルゴリズム GTSPに対する2 近似アルゴリズム 1. 点集合を連結する最小全域木 MST Tを求める 2.Tの辺を辿りながら 全ての点を通る巡回路 C を求める (Tの辺を全て2 重化すればいい ) 3. C で一度通過した点をショートカットする順回路を求める C ' 次にこのアルゴリズムの動作を示す 16

2 近似アルゴリズムの動作入力 ( 点集合 ) 最小木 T 2 重化ショートカット 17

近似率の解析 最適な順回路をC OPT とし アルゴリズムで得られる順回路をC AL とする また COPT, CAL でそれぞれの長さを表すものとする 順回路 C OPT から任意に一本辺を除去すると 全域木が得られる よって 最小全域木 T の方が辺の重み総和は小さい ( そもそも 頂点を連結するもののなかで 重みが最小なものが最小全域木であった ) よって 次が成り立つ T C OPT 18

また アルゴリズムで得られる閉路では 最小木を2 重化したものより小さいので 次が成り立つ C 以上より AL C 2 T AL T 2 C AL 2 T C 2 C C C AL AL OPT 2 OPT C OPT 19

1.5 近似アルゴリズム GTSPに対する1.5 近似アルゴリズム 1. 点集合を連結する最小全域木 MST Tを求める 2.T において 次数が奇数の点からなる完全グラフを作り 最小重みマッチングMを求める 3.T+M はオイラーグラフであるのでグラフであるので 一筆書きに対応する順回路 Cを求める 4.3の順回路 Cからできるだけショートかっとして 順回路を構成する C ' 20

2 近似アルゴリズムの動作入力 ( 点集合 ) 最小木 T マッチング M ショートカット 21

近似率の解析 最適な順回路をC OPT とし アルゴリズムで得られる順回路をC AL とする また COPT, CAL でそれぞれの長さを表すものとする 2 近似アルゴリズムの解析と同様にして を得る T C OPT また C OPT 上で 次数が奇数の点 ( 奇点 ) を結ぶパスを考える C OPT 上で 奇点を結ぶパスを交互に選ぶことにより 上の辺集合を2つに分類する C OPT 22

奇点が偶数個しかないことに注意すると いつもきちんと 2 分割することができることがわかる C OPT このように C OPT の辺集合を と分割できる もちろん P1 2 P C OPT = P P 1 2 よって COPT = P + P2 1 23

また 三角不等式がなりたっているので パスで結ぶより直接辺でたどったほうが短い よって 最小マッチング M の重み総和に関して, 次が成り立つ M P P min {, } OPT 1 2 C = P + P 1 2 2min P, 2 M P { } 1 2 24

一方 アルゴリズムより C T + M AL 以上より C T + M AL C C AL opt C + = 3 2 opt C opt 1.5 1 2 C opt 25

このように いろいろな技法を組み合わせて 近似率の改善が行われる NP 完全問題に対しても 厳密解でななくてもよければ 近似アルゴリズムの適用を考えてみると良い 26

13-3. ナップザック問題 ナップザック問題の一般形は次のよう書ける P ナップザック x = 特徴ベクトル 1 2 最大化 n f( x) = vx i i 条件 n i= 1 sx i i i=1= 1 b t (,,, ) x1 x2 x n xi {0,1} 27

ナップザック問題における欲張り法 ( グリーディ法 Greedy 法 ) 連続ナップザック問題のように 単位価値の高い法から順に選んでいく方法を考察する このように 部分的に評価関数を改善するだけの方法を欲張り法 (Greedy y法 ) という ( 欲張り法でも近似アルゴリズムになっていることもある これらは 問題やアルゴリズムをきちんと解析しないとわからない ) 28

ナップザックに対する欲張り法 1. 単位価値の高い順にならべる すなわち 必要なら添え字を付け換えて v v v s s s 1 2 n とする 2. から まで順番に i = 1 1 2 n i 1 n x = 1 s b s x i j j j= 1 そうでないなら x i x = とする 0 なら i とし 29

欲張り法の性能 欲張り法で得られる解を x g = ( x g 1, x g 2,, x g n ) x o = ( o, o,, o ) とおく 最適解を x1 x2 x n とおき x g = 以下では x o x なら 欲張り法と最適解が一致している g x o のときを考えよう このときは 最適解には採用されたが 欲張り解には採用されなかった最初の要素を考えてその添え字をとする すなわち j g o 0 = x < x = 1 j j このとき 任意の i g o x x j j j 1 に対して である 30

よって n j j j g g g o g o f ( x ) = vx vx = vx + v ( x x ) i i i i i i i i i i= 1 i= 1 i= 1 i= 1 v v + = + j j j j j o j g o o j g 0 vx i i si( xi xi ) vx i i sx i i sx i i i= 1 i= 1 sj i= 1 sj i= 1 i= 1 という式が成り立つ ここで 次のようなことに注意する i j 任意の i j + 1 に対して である 欲張り法で j v s i が選ばれなかったことから j j 1 g g sx i i = sx i i > b sj i= 1 i= 1 v s j 最適解でも制約式を満たすので n i= 1 sx i o i b j n 0 0 sx i i b sx i i i= 1 i= j+ 1 31

以上より 次の関係式が導ける v s j j j j n g 0 v j o sx i i sx i i ( b sj) b sx i i i= 1 i= 1 s j i= j+ 1 v n n j o o sx i i s j vx i i vj s j i=+ j 1 i=+ j 1 j n g o vj ( ) o f x vx i i + sx i i s j i= 1 s j i= j+ 1 n o o o vx i i vj f( x ) vj f( x ) v i= 1 max なお ここで vmax は価値 vi の最大値である 32

欲張り法で悪い評価値を出すインスタンス A a 1 s 1 = 1 v = 1 2 a a 2 s = v = 1 2 2 2 s = v = a 3 3 1 3 2 B = 10 a 4 s 4 = 10 v 4 = 10 S = (1,1,1,10) V = (2, 2,2,10) 2 b = 10 x g = (1,1,1, (,,, 0) g f ( x ) = 6 x o = (0,0,0,1) o f ( x ) = 10 33

ナップザックの 1/2 近似アルゴリズム ナップザックに対する 1/2 近似アルゴリズム 1. 欲張り法によって解を求める 2. 価値が最大のものを一つだけ選ぶ a 3. 上の 2 つのうちで大きい方を解 x として出力する x g 34

近似率 アルゴリズムの出力 ( 解 ) が成り立つ a x とする このとき 以下の式 f x a ( ) f x g ( ) + vmax 1 2 2 f x o ( ) 以上より 1/2 近似アルゴリズムであることがわかる 35

ナップザック問題に対する FPTAS ナップザック問題に対しては 任意の正数 ε に対する近似保証のアルゴリズムが知られている ( 1 ε) ナップザックに対する FPTAS εv 1. 与えられた ε max に対して K = とおく n vi 2. 各要素 i に対して 価値を vi ' = と修正する K r 3. 修正した価値のもとで ナップザックの最適解 x を動的計画法で求める x r 4. 上記の解と最初の価値のもとでの最大値を比べて a 評価値の高いものをアルゴリズムの出力 ( 解 ) とする x 36

FPTAS の評価 v i ' v K i = とおいていることにより 0 v Kv ' < K x f '( x) よって 任意の解に対して, その修正後の評価値に関して次式が成立する 一方 また 0 f ( x) Kf '( x) < nk r x は修正した価値での最適解なので r o f '( x ) f '( x ) a f ( x ) v max i i 37

よって f ( x a ) f( x r ) Kf '( x r ) Kf '( x o ) f ( x ) nk = f ( x ) εv f ( x ) εf ( x ) o o o a max 以上より a o (1 + ε) f ( x ) f ( x ) a 1 o o f ( x ) f( ) > (1 ε) f( ) 1 + ε x x 38

計算時間 ステップ 3 の動的計画法の部分について考察しよう まず 動的計画法に基づくナップザックアルゴリズムとして 大きさが決まっているときの価値の最大値を表として構成していた この動的計画法に基づいた場合 Onb ( ) 時間のアルゴリズムが得られた ここでは この動的計画法を以下の方針に切り替える 価値が決まってているときに 大きさの最小値として構成する このような動的計画法も構成できることに注意する この場合 価値の最大値は v max であるので 評価値の最大値は である よって アルゴリズムの計算量は Onv ( ) max 2 max Onv ( ) 時間である FPTASでは修正した値を用いるので 結局 2 vmax 2 n 1 3 On ( ) = On ( ) = O( n) K ε ε 39

ナップザック問題の近似可能性 近似アルゴリズム ナップザック APX PTAS FPTAS 40