東京大学大学院工学系研究科 計数工学専攻 松井知己

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
<最適化の概念> 最適化すべき問 題 数学モデル 変数,数式 数理計画法 定められた計算手 順を用いて解くた めの方法論.
List decoding for Reed-Muller codes and its application to polar codes 安永 憲司 東京工業大学 大学院情報理工学研究科 数理・計算科学専攻 1.
Probabilistic Method 7.7
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp
det(tA)=Σ sgn(σ)aσ(1)1aσ(2)2・・・aσ(n)n
第八回  シンプレックス表の経済的解釈 山梨大学.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
組合せ最適化問題と厳密解法 最小木、ナップサック問題、ビンパッキング、巡回セールスマン問題 LPによる上界・下界 分枝限定法
An Algorithm for Enumerating Maximal Matchings of a Graph
アルゴリズムイントロダクション第5章( ) 確率論的解析
Probabilistic Method.
Approximation of k-Set Cover by Semi-Local Optimization
8.クラスNPと多項式時間帰着.
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
「基礎OR」/「OR演習」 第3回 10/13/2009 森戸 晋.
整数計画法を用いた ペグソリティアの解法 ver. 2.1
9.NP完全問題とNP困難問題.
第 七 回 双対問題とその解法 山梨大学.
      線形写像  線形写像 U,V:R上のベクトル空間 T:UからVへの写像 (1)T(u+v)=T(u)+T(v)  (u,v∈U),
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
3次元での回転表示について.
コンパイラ(9) 情報工学科5年 担当 河田 進.
Selfish Routing and the Price of Anarchy 第2回
第6章 カーネル法 修士2年 藤井 敬士.
情報工学総合演習 D-I 近似アルゴリズム 埼玉大学 理工学研究科 山田 敏規、 橋口 博樹、 堀山 貴史
Linear Relaxation for Hub Network Design Problems
情報学研究科 通信情報システム専攻 小野寺研究室 M1 奥村 佳弘
割当て問題 • 割当問題の記法・定式化 • 拡張 • 特殊ケース(マッチング) • 3種類のものを割当てる問題.
博士たちの愛する線形代数 徳山 豪 東北大学 Linear algebra that professors love
シャノンのスイッチングゲームにおけるペアリング戦略について
シャノンのスイッチングゲームにおけるペアリング戦略の複雑さについて
6.大人数クラスの運営法 ゲーム理論 出席の取り方 まわし方(4通り) →出席表を2回まわす 1回目10:50~ 2回目11:20~
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
ネットワーク上での社会的効用と個人的効用の対立問題に対するアルゴリズム的研究
決定木とランダムフォレスト 和田 俊和.
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
7.4 Two General Settings D3 杉原堅也.
情報理工学系研究科 数理情報学専攻 数理第四研究室 博士三年 指導教員: 駒木 文保 准教授 鈴木 大慈 2008年8月14日
第3回 アルゴリズムと計算量 2019/2/24.
独立成分分析 (ICA:Independent Component Analysis )
3次元での回転表示について.
古代の難問と曲線 (3時間目) 筑波大学大学院 教育研究科 1年                 石井寿一.
半正定値計画を用いた 最大カット問題の .878 近似解法 ver. C.22
25. Randomized Algorithms
計算量理論輪講 chap5-3 M1 高井唯史.
First Course in Combinatorial Optimization
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
C02: 連続と離散の融合による ロバストアルゴリズム構築
進化ゲームと微分方程式 第15章 n種の群集の安定性
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年6月25日 3.1 関数近似モデル
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
第3章 線形回帰モデル 修士1年 山田 孝太郎.
経営学研究科 M1年 学籍番号 speedster
第16章 動的計画法 アルゴリズムイントロダクション.
Selfish Routing 4章前半 岡本 和也.
5.3, 5.4 D2 岡本 和也.
Max Cut and the Smallest Eigenvalue 論文紹介
人工知能特論II 第8回 二宮 崇.
A02 計算理論的設計による知識抽出モデルに関する研究
7.8 Kim-Vu Polynomial Concentration
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
博士たちの愛する組合せ論 徳山 豪 東北大学 Combinatorics that professors love
13.近似アルゴリズム.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
東京工業大学情報理工学研究科 小島政和 第1回横幹連合コンファレンス 2005年11月25,26日 JA 長野県ビル
Presentation transcript:

東京大学大学院工学系研究科 計数工学専攻 松井知己 組合せ最適化問題の近似解法 東京大学大学院工学系研究科 計数工学専攻 松井知己

近似解法とは? MAX SAT問題の近似解法 1/2近似解法 0.632近似解法 3/4近似解法 MAX CUT問題 0.878近似解法 発表の目次 近似解法とは? MAX SAT問題の近似解法 1/2近似解法  0.632近似解法 3/4近似解法 MAX CUT問題 0.878近似解法 半正定値計画 MAX 2SAT問題の0.878近似解法

近似解法:近似精度の存在する解法. 発見的解法:近似精度は不明. 近似比率: (最大化問題の場合) α近似解法: 近似解法とは? 近似解法:近似精度の存在する解法. 得られる解と最適解との距離の見積もりが存在. 発見的解法:近似精度は不明. 近似比率: (最大化問題の場合) =(得られた解の目的関数値)/(最適値) α近似解法: 近似比率α以上の解を必ず求める解法.

MAX SATの近似解法

SAT問題(Satisfiability problem:充足可能性問題) ブール変数:U={a1,a2,a3 } クローズ:Γ={C1 ,C2,C3, C4, C5, C6 } C1 = { a2 }, C2 = { ¬a1, a2,¬a3 } , C3 = { ¬a1,¬a2,¬a3 } , C4 = { ¬a1,¬a2, a3 } , C5 = { a1,¬a2 } , C6 = { a1, a3 } (¬a は a の否定を意味する.) Γ中のクローズを    全て真とする. U への真偽割当は    あるか? クローズが真  ⇔クローズ中のリテラルが    少なくとも1つ真

Γ中のクローズを全て真とする, U への真偽割当は存在しない. SAT問題(問題例と真偽割当)  U={ a1, a2, a3 } T T F C1 = { a2 } ⇒ T C2 = { ¬a1, a2,¬a3 } ⇒ T C3 = { ¬a1,¬a2,¬a3 } ⇒ T C4 = { ¬a1,¬a2, a3 } ⇒ F C5 = { a1,¬a2 } ⇒ T C6 = { a1, a3 } ⇒ T Γ中のクローズを全て真とする, U への真偽割当は存在しない.

SAT問題(Satisfiability problem:充足可能性問題) 入力:ブール変数U,クローズの集合Γ. 質問:∃? U への真偽割当,   Γ中のクローズを全て真となる. リテラル:入力されたブール変数,またはその否定 クローズ:リテラルの集合 クローズが真⇔クローズ中のリテラルが           少なくとも1つは真 NP‐完全である事が示された最初の問題.               [Cook71]

T T F 重み C1 = { a2 } 4⇒ T 4 C2 = { ¬a1, a2,¬a3 } 1⇒ T 1 MAX SAT(問題例) U={ a1, a2, a3 }    例題提供:宮本裕一郎       T T F 重み C1 = { a2 }  4⇒ T 4 C2 = { ¬a1, a2,¬a3 }  1⇒ T 1 C3 = { ¬a1,¬a2,¬a3 } 6⇒ T 6 C4 = { ¬a1,¬a2, a3 }  4⇒ F× C5 = { a1,¬a2 }  3⇒ T 3 C6 = { a1, a3 } 9⇒ T 9 真となるクローズ重みの総和を最大化. 総和=27 クローズ重み輪 23

MAX SAT問題 入力:ブール変数U,クローズの集合Γ. 非負整数のクローズ重みw:Γ→Z. 問題:Γ中の真となるクローズ重みの和が MAX 2SAT問題もNP‐困難      [ Garey,Johnson and Stockmeyer 71]

[D.S.Johnson 74] ●非常に単純なランダム化算法. MAX SATの1/2 近似解法 [D.S.Johnson 74] ●非常に単純なランダム化算法.

1/2近似解法: 各ブール変数を1/2の確率で真とする. 1/2 1/2 1/2 (重み総和=27) 1/2近似解法(数値例) 1/2近似解法: 各ブール変数を1/2の確率で真とする.       1/2 1/2 1/2  (重み総和=27) C1 = { a2 }  4×(1/2) =2 C2 = { ¬a1, a2,¬a3 }  1×(7/8) =7/8 C3 = { ¬a1,¬a2,¬a3 } 6×(7/8) =21/4 C4 = { ¬a1,¬a2, a3 }  4×(7/8) =7/2 C5 = { a1,¬a2 }  3×(3/4) =9/4 C6 = { a1, a3 } 9×(3/4) =27/4 真となるクローズ重みの総和の期待値=22 

1/2近似解法: 各ブール変数を1/2の確率で真とする. 解析:リテラルをk個含むクローズが 真となる確率は 1-(1/2)kとなる. 真となるクローズの重みの期待値zは, z =∑{ Pr[C が真]w(C )|C ∈Γ }  =∑{ ( 1-(1/2)k )w (C )|C∈Γ,|C |=k }  ≧∑{ (1/2)w(C )|C∈Γ } (重みの総和)≧(最適値)より, z≧∑{ (1/2)w(C )|C∈Γ } ≧ (1/2)*最適値.

リテラルをk個以上含むクローズが 真となる確率は 1-(1/2)k以上となる. 任意のクローズが リテラルをk個以上含むならば,  リテラルをk個以上含むならば,  1/2 近似解法ではなく,   1-(1/2)k 近似解法となる.

[Goemans and Williamson 94] ●線形緩和問題を用いる. ●問題例によって確率を変える ランダム化算法. MAX SATの0.632 近似解法 [Goemans and Williamson 94] ●線形緩和問題を用いる. ●問題例によって確率を変える   ランダム化算法.

s.t. xi+xn+i =1 (∀i ), xi∈{0,1} (∀i ), 整数計画への定式化 ブール変数の集合U ={a1,a2,...,an}, クローズの集合Γ= {C1,C2,...,Cm} リテラルの添え字集合{1,2,...,n,n+1,...,2n} ただし1≦i≦nならば,iはリテラルai に, n+1≦n+i≦2nならば,n+i はリテラル¬ai に対応. 変数x1,x2,...,xn , xn+1,xn+2,...,x2n,z 1,z 2,...,z m xi =1 ⇔ リテラルai が真, z j =1 ⇔ クローズCj が真. MS: j=1 m max.∑w j z j s.t. xi+xn+i =1 (∀i ), xi∈{0,1} (∀i ),   z j ≦∑ xi (∀j), z j ∈{0,1} (∀j ).               i ∈ cj

s.t. xi+xn+i =1 (∀i ), 0≦xi≦1 (∀i ), z j ≦∑ xi (∀j), 0≦z j ≦1 (∀j ). 線形緩和問題 ランダム化算法: (x*,z*)線形緩和問題の最適解. 各ブール変数 ai を確率 xi*で真とする. max.∑w j z j s.t. xi+xn+i =1 (∀i ), 0≦xi≦1 (∀i ),   z j ≦∑ xi (∀j), 0≦z j ≦1 (∀j ).               j=1 m i ∈ cj MS:

x4 + x2 + x6≧ z2 x4 + x5 + x6≧ z3 x4 + x5 + x3≧ z4 x1 + x5 ≧ z5 ランダム化算法(数値例) max.4z1+1z2+6z3+4z4+3z5+9z6 s.t. x2 ≧ z1     x4 + x2 + x6≧ z2 x4 + x5 + x6≧ z3 x4 + x5 + x3≧ z4 x1 + x5 ≧ z5 x1 + x3≧ z6 xi + xn+i = 1, 0≦xi , xn+i ≦1(∀ i ) { a2 }  4 { ¬a1, a2,¬a3 }  1 { ¬a1,¬a2,¬a3 } 6 { ¬a1,¬a2, a3 }  4 { a1,¬a2 }  3 { a1, a3 } 9 期待値=21.4 ≧ 0.632*MSの最適値≧ 0.632MSの最適値 9*(1ー(1/4)(1/2)) ランダム化算法:  線形緩和問題の最適解 x* =(3/4,3/4,1/2,1/4,1/4,1/2)   MSの最適値=26.⇒ MSの最適値の上界 各ブール変数 ai を確率 xi*で真とする.

z j z j * (x*,z*)線形緩和問題の最適解. 各ブール変数 ai を確率 xi*で真とする. 真となるクローズ重みの総和の期待値 ランダム化算法(定義) (x*,z*)線形緩和問題の最適解. 各ブール変数 ai を確率 xi*で真とする. 真となるクローズ重みの総和の期待値   = j=1 m i ∈cj ∑w j (1- Π x*[i]) z j [i ]= i +n (i =1,...,n) i ーn (i = n+1,...,2n) |C j |=k ならば,1- Π x*[i]≧ i ∈cj 1‐(1‐1/k )k 補題: z j *

1- Π x*[i]≧1‐ (∑ ( 1‐ x*i )/k) 補題の証明 |C j |=k ならば,1- Π x*[i]≧ i ∈cj 1‐(1‐1/k )k 補題: 証明:   相加相乗平均より, 1- Π x*[i]≧1‐ (∑ ( 1‐ x*i )/k)         ≧ 1‐(1‐ /k)k  z*j の関数 1‐(1‐ z*j /k) の凹性より ≧ 1‐(1‐1/k)   z j * k i ∈cj i ∈cj Z*j k k  z* j

∑ ∑ w j (1- Π x*[i]) ≧∑ ∑ w j z j ≧(線形緩和の最適値) ≧(MAX k’SATの最適値) (1‐(1‐1/k )k)近似解法 真となるクローズの重みの和の期待値は?  Γk :リテラルをk個含むクローズの集合. MAX k’SATならば, i ∈cj ∑ ∑ w j (1- Π x*[i]) k=1 ∞ cj∈ Γk ≧∑ ∑ w j z j k=1 ∞ cj∈ Γk (1‐(1‐1/k )k) ≧(線形緩和の最適値) (1‐(1‐1/k’ )k’ ) ≧(MAX k’SATの最適値) (1‐(1‐1/k’ )k’ )

≧(MAX k’SATの最適値) MAX k’SATならば, 期待値 (1‐(1‐1/k’ )k’ ) 0.632近似解法 MAX k’SATならば, 期待値 k’   (1‐(1‐1/k’ )k’ ) 1  1 2 3/4=0.75‥ 3 19/27=0.703‥ 4 175/256=0.684‥ ∞  1-1/e=0.632‥ ≧(MAX k’SATの最適値) (1‐(1‐1/k’ )k’ )

[Goemans and Williamson 94] ●1/2近似解法 と 0.632近似解法を 組み合わせる. MAX SATの3/4 近似解法 [Goemans and Williamson 94] ●1/2近似解法 と 0.632近似解法を   組み合わせる.

リテラルを k’個含むクローズならば, 1/2近似解法: 真となる確率≧(1‐(1/2)k’ ) 1/2近似解法と0.632近似解法 リテラルを k’個含むクローズならば, 1/2近似解法: 真となる確率≧(1‐(1/2)k’ ) .632近似解法:真となる確率≧(1‐(1‐1/k’)k’ ) k’   (1‐(1‐1/k’ )k’ ) (1‐(1/2)k’ ) 1  1 1/2 2 3/4=0.75‥ 3/4=0.75 3 19/27=0.703‥ 7/8=0.875 4 175/256=0.684‥ 15/16=0.9735 ∞  1-1/e=0.632‥ 1

が成り立つ. ≧ (MAX SATの最適値) (3/4) 4/3近似解法 1/2近似解法と 0.632 近似解法のうち一方を   確率(1/2)で選んで実行する. 任意の正整数k’に対し, [(1‐(1‐1/k’ )k’ )+(1‐(1/2)k’ )]/2≧3/4  が成り立つ. 期待値≧ (MAX SATの線形緩和問題の最適値)           [(1‐(1‐1/k’ )k’ )+(1‐(1/2)k’ )]/2     ≧ (MAX SATの最適値) (3/4)

( z1/2 +zLP)/2 ≦ max{z1/2,zLP} 4/3近似解法(実際) 4/3近似解法 1/2近似解法と 0.632 近似解法のうち一方を   確率(1/2)で選んで実行する.      下の方が同じかより良い. 1/2近似解法と 0.632 近似解法の両方を   実行し良い方を選ぶ. z1/2 :1/2近似解法の期待値 zLP :0.632 近似解法の期待値 ( z1/2 +zLP)/2 ≦ max{z1/2,zLP}

脱ランダム化(derandomization)

a1 a2 a3が真となる確率( x,1/2,1/2) a1 a2 a3が真となる確率(1,y,1/2) 脱ランダム化 { a2 }  4 { ¬a1, a2,¬a3 }  1  { ¬a1,¬a2,¬a3 } 6  { ¬a1,¬a2, a3 }  4  { a1,¬a2 }  3   { a1, a3 } 9  a1 a2 a3が真となる確率( x,1/2,1/2) 期待値= 4(1-1/2)+ 1(1-(1/2)2(1-x)) +6 (1-(1/2)2 (1-x)) +4 (1-(1/2)2(1-x))+3 (1-(1/2) x)+9 (1-(1/2)x) =19+(13/4) x x=1とすれば、22.25 となる. a1 a2 a3が真となる確率(1,y,1/2) 期待値= 4y+ 1(1-(1/2)y) +6 (1-(1/2) (1-y)) +4 (1-(1/2) (1- y))+3 +9 =19+3.5y y=1とすれば、22.5 となる. a1 a2 a3が真となる確率(1,1,z) 期待値= 22+1(1-z) z=1とすれば、23 となる. - 重みの総和=27 1/2近似解法  a1,a2,a3が真となる確率(1/2,1/2,1/2)  期待値=20.6‥ = 4(1-1/2)+1(1-(1/2)3)+6 (1-(1/2)3) +4 (1-(1/2)3)+3 (1-(1/2)2)+9 (1-(1/2)2)

MAX CUTの近似解法

MAX CUT問題(問題例) カット重み=8       カット重み=14 5 4 3 2 1 4 5 3 3 2 1 4 5

カットの定義 グラフG=(V,E) 頂点集合U⊆V 5 4 3 2 1 U V-U δ(U):カット w(U):カット重み14

MAX CUT問題 入力:無向グラフG=(V,E),非負枝重みw:E→Z. 問題:G中のカットで, 重み最大となるものを求めよ.    重み最大となるものを求めよ. 頂点部分集合U⊆V に対するカット: δ(U)={e∈E |e はU中の頂点とU に無い頂点を結ぶ} カットδ(U)の重さ:  w(U)= δ(U)中の枝重みの総和. MAX CUT問題:max {w (U ) | U⊆V }                   NP‐困難[ Karp 72]

MAX CUTの1/2 近似解法 ●非常に単純なランダム化算法.

MAX CUT問題:max {w(U) | U ⊆V } 1/2近似解法: 各頂点を1/2の確率でUに入れる. 解析:各枝について,両端の内 カットの重みの期待値z は, z =∑{ Pr[e  がδ(U)には入る]w (e )| e ∈E }  = ∑{ (1/2)w (e )| e ∈E } (枝重みの総和)≧(最大カットの重み)より, z ≧ (1/2)*最適値

MAX CUTの0.878 近似解法 [Goemans and Williamson 95] ●MAX CUTを   非凸2次連続最適化問題に変形. ●半正定値計画緩和. ●ランダム化アルゴリズム.

入力:無向グラフG=(V,E),非負枝重みw:E→Z, S:原点を中心とし,半径1/π の球の表面. (大円の半円弧の長さ=1) 球面配置問題 入力:無向グラフG=(V,E),非負枝重みw:E→Z, S:原点を中心とし,半径1/π の球の表面.   (大円の半円弧の長さ=1) ∀v,∀v’∈ S ,   d(vv’)= v と v’を結ぶ円弧の短い方の長さ. 球面配置問題 グラフGの頂点をS上に配置して,   枝重みと距離の積の総和を最大化する. max{∑w  (i,j) d(v(i )v( j)) | v(i )∈ S (∀ i ∈V )} {i,j }

max{∑w (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 定理 δ(U*):最大カット. 球面配置問題(定理) max{∑w  (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 定理 δ(U*):最大カット. v (i ∈ U* ) ∀ v∈S, v*(i )={ - v (i∈V-U* )    解v*(i )は球面配置問題の最適解. {i,j } v -v

∑w (i,j) d(v*(i )v*( j))= w (U*) (最大カットの値). 定理の証明(上) 配置v* での目的関数値 ∑w  (i,j) d(v*(i )v*( j))= w (U*) (最大カットの値). (任意の配置vでの目的関数値)≦ w (U*) を示す. H:原点を境界に含む閉半空間. V(H):v(i)のうちHに含まれる点集合. w(H):V(H)に対応するカットの重み. 原点を境界に含む閉半空間  全てを等確率で発生させる. 発生した閉半空間Hに対し,     w(H)の期待値は? {i,j } H

原点を境界に含む閉半空間全てを等確率で発生. 発生した閉半空間Hに対し, w(H)の期待値は? 定理の証明(中) 原点を境界に含む閉半空間全てを等確率で発生. 発生した閉半空間Hに対し, w(H)の期待値は? 頂点i,j間の弧の長さ=d(v’(i )v’( j))より, 発生した閉半空間が頂点i,jを分ける確率は, d(v’(i )v’( j))/(大円の半円弧の長さ)=d(v’(i )v’( j)) d(v’(i )v’( j)) i j 半円弧の長さ=1

原点を境界に含む閉半空間全てを等確率で発生. 定理の証明(下) 原点を境界に含む閉半空間全てを等確率で発生. 発生した閉半空間Hに対し, w(H)の期待値は?  E[w(H)]=∑w  (i,j) Pr[Hが頂点i,jを分ける]      =∑w (i,j) d(v(i )v( j)) w(H)は発生するカットの重みの期待値より,  E[w(H)]≦ w (U*)  (最大カット重み). 以上より,任意の配置v(i )について,  ∑w  (i,j) d(v(i )v( j))= E[w(H)]≦ w (U*) . {i,j } {i,j } {i,j }

max{∑w (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 定理 δ(U*):最大カット. 球面配置からのカット生成 max{∑w  (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 定理  δ(U*):最大カット. v (i ∈ U* ) ∀ v∈S, v*(i )={ - v (i∈ V-U* )    解 v*(i )は球面配置問題の最適解. 任意の球面配置vに対し, 原点を境界に含む閉半空間全てを 等確率で発生させる事により, vの目的関数値∑w  (i,j) d(v(i )v( j)) 以上のカットを生成する事が出来る. {i,j } H {i,j }

MAX CUT問題と頂点配置問題は本質的に等価. →頂点配置問題を緩和する. ∀v,∀v’∈ S , 頂点配置問題の緩和 MAX CUT問題と頂点配置問題は本質的に等価.   →頂点配置問題を緩和する. ∀v,∀v’∈ S ,   f(vv’)= v v’ 間の直線距離のπ/2倍の2乗.   (d(vv’)=1 ⇔ v v’はSの直径 ⇔ f(vv’)=1) 距離dをfで置き換える. f(vv’)=(π/2)2||v - v’||2 =(1/2)(1‐π2 v・v’) 1/π 1/2 d S

max{∑w (i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} 緩和問題 球面配置問題: max{∑w  (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 緩和問題: max{∑w  (i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} {i,j } {i,j }

v’ がカット配置⇔∀i,∀j,d(v(i )v( j))は0または1 ⇔ ∀i,∀j, f(v(i )v( j))は0または1 なぜ緩和問題になっているのか? カット配置 v’ : ∃ U :頂点部分集合. v (i ∈ U ) ∃ v∈S, v’(i )={ - v (i∈ V-U). v’ がカット配置⇔∀i,∀j,d(v(i )v( j))は0または1           ⇔ ∀i,∀j, f(v(i )v( j))は0または1 ⇒ ∑w  (i,j) d(v(i )v( j)) =∑w  (i,j) f(v(i )v( j)) ∴ 最大カット配置の目的関数値      =(球面配置問題の最適値)      ≦(緩和問題の最適値) {i,j } {i,j }

∀v,∀v’∈ S , d(vv’)> 0.878 f(vv’) d(vv’)=θ/π f(vv’)=(1-cosθ)/2 距離の比率 定理 ∀v,∀v’∈ S , d(vv’)> 0.878 f(vv’) d(vv’)=θ/π f(vv’)=(1-cosθ)/2 d(vv’)/f(vv’)  ≧ (2/π)(θ/(1-cosθ)) 1/π 1/2 d S θ min (2/π)(θ/(1-cosθ))=0.878‥ 0≦θ≦π

≧0.878∑w (i,j) f(v’(i )v’( j)) ≧0.878∑w (i,j) f(v*(i )v*( j)) 最適値の比率 定理 v’(i ):緩和問題の最適解. (最大カット重み)≧(配置v’(i )の目的関数値)  ≧0.878(球面配置問題の最適値)=0.878(最大カット重み) v’(i ):緩和問題の最適解. v*(i ):球面配置問題の最適解. (最大カット重み)≧∑w  (i,j) d(v’(i )v’( j))     ≧0.878∑w  (i,j) f(v’(i )v’( j))     ≧0.878∑w  (i,j) f(v*(i )v*( j))     =0.878∑w  (i,j) d(v*(i )v*( j) ) {i,j } {i,j } {i, j } {i, j }

定理 (緩和問題の最適解の目的関数値) 0.878近似解法 (2)球面配置v’(i )の目的関数値 以上のカットを生成する. ∑w  (i,j) d(v(i )v( j)) 以上のカットを生成出来る. 定理 (緩和問題の最適解の目的関数値)       ≧0.878 (最大カットの重み) 0.878近似解法 (1)緩和問題の最適解配置v’(i )を求める. (2)球面配置v’(i )の目的関数値    以上のカットを生成する. {i,j }

[Goemans and Williamson 95] ●球面配置問題の緩和問題を, 半正定値計画問題に変形する.   半正定値計画問題に変形する.

max{∑w (i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} 球面配置問題の緩和問題 球面配置問題=最大カット問題(MC): max{∑w  (i,j) d(v(i )v( j)) | v(i )∈S (∀i∈V)} 緩和問題(MC): max{∑w  (i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} {i,j } {i,j }

max{∑w(i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} 半正定値行列の出現 MC max{∑w(i,j) f(v(i )v( j)) | v(i )∈S (∀i∈V)} = max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)} 行列Y=[y i j]をy i j =(πv(i))・(πv( j ))と定義する. X =(v(1),..., v(n))とすると, Y= π2X tX より,   (1) Yは半正定値対称行列,   (2) y i i=1  (∀i∈V). が成り立つ. {i,j } {i,j }

max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)} 半正定値計画への変形 MC max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)} 行列Y=[y i j]をy i j =(πv(i))・(πv( j ))と定義する.     変形       緩和 max. ∑w(i,j) (1-y i j ) sub.to  Y =[y i j]は半正定値対称行列,    y ii=1  (∀i∈V),      Y= π2X tX ,  X =(v(1),..., v(n)). × {i,j } {i,j }

max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)} || (実はこの2つの問題は等しい) 半正定値計画との等価性 MC max{∑w(i,j) (1-π2v(i )・v( j) ) | v(i)∈S(∀i∈V)}       || (実はこの2つの問題は等しい) max. ∑w(i,j) (1-y i j ) sub.to  Y =[y i j]は半正定値対称行列,    y ii=1  (∀i∈V). ∵(1/π2)Y をCholesky分解→(1/π2)Y= X tX. X =(v(1),..., v(n))とおけば, v(i) はMCの許容解. 緩和問題の最適解と一致する許容解が作れる. {i,j } {i,j }

sub.to Y =[y i j]は半正定値対称行列, y ii=1 (∀i∈V). 半正定値計画の一般形 max. ∑w(i,j) (1-y i j ) sub.to  Y =[y i j]は半正定値対称行列,    y ii=1  (∀i∈V). 一般の半正定値計画問題 max. W・Y sub.to  Yは半正定値対称行列,    Qi・Y=bi  ( i∈{1,2,...,m}). ただし,W, Qi は対称行列, A・B=∑i∑j aij bij . 半正定値計画問題は内点法で効率良く解ける. {i,j }

[Goemans and Williamson 95] ●MAX 2SATを 制約付MAX CUT問題に変形する.

制約付MAX CUT問題 入力:無向グラフG=(V,E), 枝集合E’, 非負枝重みw:E→Z. 問題:G中のカットで,枝集合E’を含み,    重み最大となるものを求めよ. 球面配置問題: v(i )∈S (∀i∈V) , max ∑w(i,j) d(v(i )v( j)) d(v(i )v( j))=1 (∀{i,j}∈E’) 半正定値計画: max ∑w(i,j) (1-y i j ) Y =[y i j] は半正定値対称行列,    y ii=1 (∀i∈V), y ij =1 (∀{i,j}∈E’) {i,j } {i,j }

制約付MAX CUT問題:辺集合E’を含む 最大重みカットを求める E’の枝 E’の枝の両端点は 直径の両端に配置する.              最大重みカットを求める     E’の枝               E’の枝の両端点は              直径の両端に配置する. e d a b a c d e c b

MAX 2SAT問題⇒制約付MAX CUT問題 C1 = { a2 }  4 C2 = { ¬a1, a3 } 1 C3 = { a1,¬a2, } 6 E’の(重み=0) a1 a2 a3 4 1/2 6/2 E’の枝を含むカットの重み      || a0と同じ側に入らないリテラルを真とした,クローズの重みの総和 a0 6/2 1/2 1/2 6/2 ¬a1 ¬a2 ¬a3

おしまい

現在までの結果 MAX SAT 0.770 [Asano 97] MAX 2SAT 0.931 [Feige and Goemans 95] MAX 3SAT 0.875 [Karloff and Zwick 97] MAX 3SAT問題に近似比率0.875より良い    多項式時間算法が存在するならば、P=NP.