Upgrade to Pro — share decks privately, control downloads, hide ads and more …

半正定値計画問題と最大カット -- Semidefinite Programming and Approximation Algorithm for Maxcut Problem --

__ukun
December 05, 2018

半正定値計画問題と最大カット -- Semidefinite Programming and Approximation Algorithm for Maxcut Problem --

2018年秋冬学期 最適化ゼミ 輪読用資料

- 錐線計画
- 半正定値計画
- Goemans-WilliamsonによるSDP緩和を用いた0.8785-近似アルゴリズムの解説

__ukun

December 05, 2018
Tweet

Other Decks in Science

Transcript

  1. Introduction: Motivation NP ࠔ೉ͳ໰୊ʹରͯ͠, ൒ਖ਼ఆ஋ܭը໰୊ (SDP) Λར༻ͨ͠ ༷ʑͳۙࣅΞϧΰϦζϜ͕։ൃ͞Ε͍ͯΔ. SDP Λར༻ͨۙ͠ࣅΞϧΰϦζϜͷྫ

    • 0.8785-approximation for MAXCUT(Goemans, Williamson ’95) • 0.8785-approximation for MAX2SAT(Goemans, Williamson ’95) • 7/8-approximation for MAX3SAT(Karloff, Zwick ’97) • etc. 2
  2. Introduction: Textbook Approximation Algorithms and Semidefinite Programming Chap.1-2, 4, 8

    • B. G¨ artner ͱ J. Matouˇ sek ʹΑΔຊ • λΠτϧ௨Γ, ൒ਖ਼ఆ஋ܭըΛ࢖ͬͨ ۙࣅΞϧΰϦζϜ͕ςʔϚ ଞʹ΋ࢀߟจݙͱͯ͠, ࠷దԽ๏ (ాଜ, ଜদ) ͱ ඇઢܗ࠷దԽͷجૅ (෱ౡ) Λ࢖༻͠·ͨ͠. 3
  3. Introduction: Goal Goal • ൒ਖ਼ఆ஋ܭը໰୊ (SDP) ʹ͍ͭͯͷجຊతͳࣄ࣮Λཧղ͢Δ • ໰୊ͷఆٛ •

    ऑ૒ରఆཧ, ૒ରఆཧ • ͦͷͨΊʹ, ·ͣਲ਼ܭը໰୊ʹ͓͚ΔҎԼͷ಺༰Λཧղ͢Δ • ਲ਼ͷఆٛ • ऑ૒ରఆཧ, Farkas ͷิ୊, ૒ରఆཧ • ൒ਖ਼ఆ஋ܭը໰୊Λ࢖ͬͨۙࣅΞϧΰϦζϜΛཧղ͢Δ • ࠓճ͸࠷େΧοτ (MAXCUT) ͷ 0.8785-ۙࣅΞϧΰϦζϜ ·ͨ, ࠷େΧοτ໰୊ͷۙࣅ཰ʹؔ͢Δ͍͔ͭ͘ͷ݁ՌͷΈ঺հ͢Δ. (͕࣌ؒ͋Ε͹...) ਲ਼ܭը, ൒ਖ਼ఆ஋ܭըʹର͢Δղ๏͸ৄࡉʹѻ͍·ͤΜ ʼʻ 5
  4. Outline Introduction Cone Programming Cone Cone Linear Programming Duality of

    Cone Linear Programming Semidefinite Programming 0.878-approximation Algorithm for Maximum Weighted Cut Problem Appendix 6
  5. Cone Definition 2.1 ू߹ K ∈ Rn ͕ҎԼΛຬͨ͢ͱ͖, K Λਲ਼

    (cone) ͱΑͿ. x ∈ K, α ∈ [0, ∞) ⇒ αx ∈ K (1) ·ͨ, ਲ਼͕ • ತू߹ͳΒತਲ਼ (convex cone), • ดू߹ͳΒดਲ਼ (closed cone), • ดू߹Ͱ͔ͭತू߹ͳΒดತਲ਼ (closed convex cone) ͱ͍͏. 8
  6. Another Definition of Closed Convex Cone ดತਲ਼ͷఆٛͱͯ͠, ҎԼͷΑ͏ͳ΋ͷ΋͋Δ. (Ҏ߱Ͱ͸, ূ໌Λ؆୯ʹ͢ΔͨΊʹ͜ͷఆٛΛ༻͍Δ)

    Definition 2.2 ดू߹ K ∈ Rn ͕ҎԼΛຬͨ͢ͱ͖, K Λดತਲ਼ (closed convex cone) ͱΑͿ. 1. x ∈ K, α ∈ [0, ∞) ⇒ αx ∈ K 2. x, y ∈ K ⇒ x + y ∈ K 9
  7. Examples of Closed Convex Cone ؆୯ͳྫ ҎԼͷ K1 ͔Β K4

    ͸͍ͣΕ΋ดತਲ਼. ͨͩ͠, 0 ̸= ai ∈ Rn (i = 1, . . . , m) Ͱ, m ͸೚ҙͷਖ਼੔਺. • K1 = {x ∈ Rn | x = ∑ m i=1 βi ai, βi ≥ 0 (i = 1, . . . , m)} • K2 = {x ∈ Rn | ⟨ai, x⟩ ≤ 0 (i = 1, . . . , m)} • K3 = {x ∈ Rn | x2 1 ≥ x2 2 + · · · + x2 n , x1 ≥ 0} • K4 = {x ∈ R3 | x1 x3 − x2 2 ≥ 0, x1 + x3 ≥ 0} ͍ͣΕ΋ਲ਼Ͱ͋Δ͜ͱ͸͙͢ʹ͔֬ΊΒΕΔ. 10
  8. K1 and K2 K1 ͱ K2 ͕ತਲ਼Ͱ͋Δ͜ͱ͸͙͢ʹ͔֬ΊΒΕΔ. K1 ͕ดू߹ʹͳ͍ͬͯΔ͜ͱ͸͙͢ʹࣔͤͳ͔ͬͨ....(cf. Rockafellar

    ”Convex Analysis”) K2 ͸֤ ai Ͱఆٛ͞ΕΔҎԼͷด൒ۭؒ {x ∈ Rn | ⟨ai, x⟩ ≤ 0} ͷڞ௨෦෼ͳͷͰ, ดू߹Ͱ͋Δ. 11
  9. convexity of K3 K3 = {x ∈ Rn | x2

    1 ≥ x2 2 + · · · + x2 n , x1 ≥ 0} ͸ತͰ͋Δ͜ͱΛ͔֬ΊΔ. (ดू߹Ͱ͋Δ͜ͱ͸ิू߹Λௐ΂Ε͹Α͍) x, y ∈ K3 ʹ͍ͭͯ, x2 1 ≥ ∑ n i=2 x2 i , y2 1 ≥ ∑ n i=2 y2 i x + y ʹ͍ͭͯ, ҎԼͷ͕ࣜඇෛͰ͋Δ͜ͱΛ͔֬ΊΔ. (x1 + y1 )2 − n ∑ i=2 (xi + yi )2 = 2(x1 y1 − n ∑ i=2 xi yi ) x′ = (x2 , x3 , . . . , xn )⊤, y′ = (y2 , y3 , . . . , yn )⊤ ͱ͓͘ͱ, Cauchy–Schwarz ͷෆ౳ࣜΑΓ, ∥x′∥∥y′∥ ≥ x′⊤y′ Ͱ͋Δ͔Β, x1 y1 ≥ ∥x′∥∥y′∥ ≥ x′⊤y′ = n ∑ i=2 xi yi 12
  10. K4 x = (x1 , x2 , x3 )⊤ ͷ੒෼͔ΒͳΔରশߦྻ

    X ∈ R2×2 Λߟ͑Δ. X = [ x1 x2 x2 x3 ] X ͷݻ༗஋Λ λ1 , λ2 ͱ͢Δ. K4 ͷఆٛͱ, ߦྻͷτϨʔε, ߦྻࣜͱݻ༗஋ͷؔ܎ΑΓ, x ∈ K4 ⇔ { λ1 + λ2 = TrX = x1 + x3 ≥ 0 λ1 λ2 = detX = x1 x3 − x2 2 ≥ 0 ⇔ λi ≥ 0 (i = 1, 2) ͭ·Γ, K4 ͸ 2 ࣍ͷ൒ਖ਼ఆ஋ߦྻͷશମΛද͢. 13
  11. Cone of Positive Semidefinite Matrix Set n ࣍൒ਖ਼ఆ஋ରশߦྻͷू߹ Pn ΛҎԼͷΑ͏ʹఆٛ͢Δ.

    Pn = {M ∈ Rn×n | x⊤Mx ≥ 0 (∀x ∈ Rn} (2) Lemma 2.1 Pn ͸ดತਲ਼Ͱ͋Δ. ·ͨ, Ҏ߱Ͱ͸ X ͕൒ਖ਼ఆ஋ߦྻͰ͋Δͱ͖, X ⪰ 0 ͱॻ͘. (ূ໌) α ∈ [0, ∞), M, N ∈ SDP ͱ͢Δ. x ∈ Rn ʹରͯ͠, x⊤(αM)x = α(x⊤Mx) ≥ 0, x⊤(M + N)x = x⊤Mx + x⊤Nx ≥ 0 ΑΓತਲ਼Ͱ͋Δ. ดू߹ʹͳͬͯ ͍Δ͜ͱΛௐ΂ΔͨΊʹ, PSDn ͷิू߹Λௐ΂Δ. ˜ x⊤M ˜ x < 0 ͱͳΔ ˜ x ∈ Rn ͕ଘࡏ͢ΔΑ͏ͳ n ࣮࣍ରশߦྻ M ͕͋Δͱ͢Δͱ, M ͷۙ ๣ͷ M′ ʹ͍ͭͯ΋͜ͷෆ౳ࣜ͸੒Γཱͪ, Αͬͯ PSDn ͷิू߹͸։ ू߹ͱͳΔ. 14
  12. Dual Cone Definition 2.3 ਲ਼ K ∈ Rn ʹରͯ͠, K∗

    = {y ∈ Rn | ⟨y, x⟩ ≥ 0 (x ∈ K)} (3) Λ K ͷ૒ରਲ਼ (dual cone) ΋͘͠͸, ۃਲ਼ (polar cone) ͱ͍͏. ดತਲ਼ K ͕ K∗ = K Ͱ͋Δͱ͖, K Λࣗݾ૒ରਲ਼ (self-dual cone) ͱ͍͏. 15
  13. Separation Theorem for Closed Convex Cones ҎԼͷ෼཭ఆཧ (Separation Theorem) Λࣔ͢.

    Theorem 2.1 K ⊆ Rn Λดತਲ਼, b ∈ Rn\K ͱ͢Δ. ͜ͷͱ͖, ҎԼΛຬͨ͋͢Δ y ∈ Rn ͕ଘࡏ͢Δ શͯͷ x ∈ K ʹ͍ͭͯ ⟨y, x⟩ ≥ 0 ͔ͭ ⟨y, b⟩ < 0 (ূ໌ͷํ਑) z = argmin w∈K ∥b − w∥ = argmin w∈K √ ⟨b − w, b − w⟩ ͱ͠, y = z − b ্͕ͷ৚݅Λຬ͍ͨͯ͠Δ͜ͱΛࣔ͢. ͜ͷΑ͏ͳ z ∈ K ͕Ұҙʹଘࡏ͢Δͱ͍͏ࣄ࣮͸ূ໌ͤͣʹ༻͍Δ (cf. ෱ౡ, “ඇઢܗ࠷దԽͷجૅ”, § 2.4, ఆཧ 2.6). 16
  14. Proof of Separation Theorem (ূ໌) z = argmin w∈K ∥b

    − w∥ ͱ͠, y = z − b ͱ͢Δ. ·ͣ, ⟨y, z⟩ = 0 Λࣔ͢. z = 0 ͷͱ͖͸ࣗ໌ͳͷͰ, z ̸= 0 ͷ৔߹Λߟ͑Δ. ⟨y, z⟩ > 0 ͱԾఆ͢Δ. ͋Δখ͍͞ α > 0 ʹରͯ͠, z′ = (1 − α)z ͱ͢Δ. ∥z′ − b∥2 = ⟨(y − αz), (y − αz)⟩ = ∥y∥2 − 2α⟨y, z⟩ + α2∥z∥2, ·ͨ, े෼ʹখ͍͞ α > 0 ʹରͯ͠, 2α⟨y, z⟩ > α2∥z∥2. Αͬͯ, ∥z′ − b∥2 < ∥y∥2 = ∥z − b∥2. ͜Ε͸ z ͷબͼํʹ൓͢Δ. ⟨y, z⟩ > 0 ͷ৔߹΋ z′ = (1 + α)z ͱ͢Ε͹ಉ༷. Ҏ্ΑΓ ⟨y, z⟩ = 0. 0 < ⟨y, y⟩ = ⟨y, z⟩ − ⟨y, b⟩ = −⟨y, b⟩. 17
  15. Proof of Separation Theorem ࣍ʹ, ⟨y, x⟩ ≥ 0 Λࣔ͢.

    x ∈ K, x ̸= z ͱ͢Δ. ͜ͷͱ͖, ⟨(b − z), (x − z)⟩ ≤ 0 Ͱ͋Δ. ͦ͏Ͱͳ͍ͱԾఆ͢Δͱ (ଈͪ, ⟨(b − z), (x − z)⟩ > 0 ͱ͢Δͱ), z′ = αx + (1 − α)z ͱͯ͠, ∥b − z′∥2 =∥b − αx − (1 − α)z)∥2 =∥(b − z) − α(x − z)∥2 =∥ − y − α(x − z)∥2 =∥y∥2 + 2α⟨y, (x − z)⟩ + α2∥x − z∥2 =∥y∥2 + 2α⟨y, x⟩ + α2∥x − z∥2 ·ͨ, ⟨y, z⟩ = 0 ΑΓ, ⟨(b − z), (x − z)⟩ = ⟨−y, (x − z)⟩ = −⟨y, x⟩ > 0. Αͬͯ, े෼ʹখ͍͞ α > 0 ʹରͯ͠ −2α⟨y, x⟩ > α2∥x − z∥2. ଈͪ, ∥z′ − b∥2 < ∥y∥2 = ∥z − b∥2. ͜Ε͸ z ͷબͼํʹ൓͢Δ. Ҏ্ΑΓ, ⟨(b − z), (x − z)⟩ ≤ 0 ΛಘΔ. Αͬͯ, 0 ≥ ⟨(b − z), (x − z)⟩ = −⟨y, x⟩ + ⟨y, z⟩ = −⟨y, x⟩. 18
  16. Dual Cone of K∗ Theorem 2.2 ดತਲ਼ K ⊆ Rn

    ʹରͯ͠, (K∗)∗ = K ͕੒Γཱͭ. (i) K ⊆ (K∗)∗ (i.e., b ∈ K ⇒ b ∈ (K∗)∗) Λࣔ͢. b ∈ K ͱ͢Δ. K∗ ͷఆٛΑΓ, શͯͷ y ∈ K∗ ʹରͯ͠, ⟨y, b⟩ = ⟨b, y⟩ ≥ 0 ΑΓ, b ∈ (K∗)∗ (ii) K ⊇ (K∗)∗ (i.e., b / ∈ K ⇒ b / ∈ (K∗)∗) Λࣔ͢. b ∈ Rn\K ͱ͢Δ. ෼཭ఆཧΑΓ, શͯͷ x ∈ K ʹ͍ͭͯ, ⟨y, x⟩ ≥ 0 ͔ͭ ⟨y, b⟩ = ⟨b, y⟩ < 0 ͱͳΔϕΫτϧ y ͕ଘࡏ͢Δ. ҰͭΊͷෆ౳ࣜΑΓ y ∈ K∗. ·ͨ, 2 ͭΊͷෆ౳ࣜΑΓ b / ∈ (K∗)∗ . 19
  17. Cone Linear Programming K ⊆ Rn Λดತਲ਼ͱ͢Δ. ͜ͷͱ͖, ҎԼͷඇઢܗ࠷దԽ໰୊Λߟ͑Δ. Minimize

    ⟨c, x⟩ (4) subject to ⟨ai , x⟩ = bi (i = 1, . . . , m) x ∈ K. ͜ͷΑ͏ʹ, ઢܗ੍໿ͱਲ਼੍໿ͷΈΛ΋ͪ, ઢܗ໨తؔ਺Λ࠷খԽ, ·ͨ͸࠷େԽ͢Δ໰୊Λ ਲ਼ઢܭը໰୊ (cone linear programming problem) ͱΑͿ. 20
  18. Dual Problem (4) ͷ૒ର໰୊ (dual problem) Λ Maximize b⊤y (5)

    subject to s + m ∑ i=1 yi ai = c, s ∈ K∗. ͱఆΊΔ. ૒ର໰୊ʹର͠, (4) Λओ໰୊ͱ͍͏. 21
  19. Weak Duality Theorem 2.3 x Λओ໰୊ (4) ͷڐ༰ղ, (y, s)

    Λ૒ର໰୊ (5) ͷڐ༰ղͱ͢Δͱ, ⟨c, x⟩ ≥ b⊤y (ূ໌) x, (y, s) ΛͦΕͧΕओ໰୊ (4), ૒ର໰୊ (5) ͷڐ༰ղͱ͢Δͱ, ⟨c, x⟩ − b⊤y = ⟨c, x⟩ − m ∑ i=1 yi ⟨ai , x⟩ = ⟨c − m ∑ i=1 yi ai , x⟩ = ⟨s, x⟩ ≥ 0. 22
  20. Farkas Lemma, Cone Version Definition 2.4 ਲ਼ K ⊆ Rn

    ͱϕΫτϧ a1 , . . . , am ∈ Rn ͕༩͑ΒΕͨͱ͖, ਲ਼ K ͷ૾ (image) Λ࣍ͷΑ͏ʹఆٛ͢Δ. C[a1 , . . . , am ; K] =         ⟨a1 , x⟩ . . ., ⟨am , x⟩    ∈ Rm x ∈ K      C[a1 , . . . , am ; K] ͸໌Β͔ʹਲ਼ͷఆٛΛຬͨ͢. ·ͨ, K ͕ತਲ਼ ⇒ C[a1 , . . . , am ; K] ͸ತਲ਼ ͜Ε͕ดू߹ͷͱ͖, ࣍ͷ Farkas ͷิ୊Λຬͨ͢. 23
  21. Farkas Lemma, Cone Version (and its Proof) Lemma 2.2 (Farkas

    Lemma) K ⊆ Rn Λดತਲ਼ͱ͠, a1 , . . . , am ∈ Rn ͓Αͼ b ∈ Rm ͕༩͑ΒΕ͍ͯΔͱ͢Δ. ΋͠ K ͷ૾ C[a1 , . . . , am ; K] ͕ดू߹ͳΒ͹, ࣍ͷ 1, 2 ͷ͏ͪͲͪΒ͔ҰํͷΈ੒Γཱͭ. 1. ⟨ai , x⟩ = bi (i = 1, . . . , m) Λຬͨ͢ x ∈ K ͕ଘࡏ͢Δ. 2. b⊤y < 0, ∑ m i=1 yi ai ∈ K∗ Λຬͨ͢ y ∈ Rm ͕ଘࡏ͢Δ. (ূ໌) C := C[a1 , . . . , am ; K] ͱ͢Δ. ·ͣ, 1 ͱ 2 ͕ಉ࣌ʹ੒Γཱͨͳ͍͜ͱΛࣔ͢. ΋͠੒Γཱͭͱ͢Δͱ, 0 > b⊤y = m ∑ i=1 ⟨ai , x⟩yi = m ∑ i=1 ⟨yi ai , x⟩ ≥ 0 ͱͳΓໃ६͢Δ͔ΒͰ͋Δ. 24
  22. Proof of Farkas Lemma Lemma 2.3 (Farkas Lemma) K ⊆

    Rn Λดತਲ਼ͱ͠, a1 , . . . , am ∈ Rn ͓Αͼ b ∈ Rm ͕༩͑ΒΕ͍ͯΔͱ͢Δ. ΋͠ K ͷ૾ C[a1 , . . . , am ; K] ͕ดू߹ͳΒ͹, ࣍ͷ 1, 2 ͷ͏ͪͲͪΒ͔ҰํͷΈ੒Γཱͭ. 1. ⟨ai , x⟩ = bi (i = 1, . . . , m) Λຬͨ͢ x ∈ K ͕ଘࡏ͢Δ. 2. b⊤y < 0, ∑ m i=1 yi ai ∈ K∗ Λຬͨ͢ y ∈ Rm ͕ଘࡏ͢Δ. ҎԼͰ͸, 1 ͕੒Γཱͨͳ͍ͱ͖, 2 ͕੒Γཱͭ͜ͱΛࣔ͢. ͜ͷͱ͖, b ∈ Rm\C Ͱ͋Δ. C ⊆ Rm ͸ดತਲ਼ͳͷͰ, ઌ΄Ͳࣔͨ͠෼཭ఆཧΑΓ, ͋Δ y ∈ Rm ͕ଘࡏͯ͠, b⊤y < 0 ͔ͭશͯͷ u ∈ C ʹର͠ ⟨y, u⟩ ≥ 0. ଈͪ, ೚ҙͷ x ∈ K ʹର͠ ∑ m i=1 yi ⟨ai , x⟩ = ⟨ ∑ m i=1 yi ai , x⟩ ≥ 0. K∗ ͷఆٛΑΓ, ∑ m i=1 yi ai ∈ K∗. ͕ͨͬͯ͠ y ͸ 2 Λຬͨ͢. 25
  23. Regular Duality Theorem 2.4 (Duality Theorem) ओ໰୊ (4) ͓Αͼ ૒ର໰୊

    (5) ʹڐ༰ղ͕ଘࡏ͢ΔͱԾఆ͢Δ. ͜ͷ ͱ͖΋͠, ू߹ C[c, a1 , . . . , am ; K] ͕ดू߹ͳΒ͹, ૒ରΪϟοϓ͸ଘ ࡏͤͣ, ओ໰୊ʹ͸࠷దղ͕ଘࡏ͢Δ. 26
  24. Proof of Duality Theorem (ূ໌) ओ໰୊ʹ࠷దղ͕ଘࡏ͢Δ͜ͱ͸, C[c, a1 , .

    . . , am ; K] ͕ดू߹ΑΓࣗ໌. ૒ରΪϟοϓ͕ଘࡏ͢ΔͱԾఆͯ͠, ໃ६Λಋ͘. θP := inf{⟨c, x⟩ | ⟨ai , x⟩ = bi (i = 1, . . . , m), x ∈ K} θD := sup{b⊤y | s + m ∑ i=1 yi ai = c, s ∈ K∗} ͱ͓͘ͱ, ૒ରΪϟοϓ͕͋ΔͷͰ, θP > θD . ͜ͷͱ͖,       ⟨c, x⟩ ⟨a1 , x⟩ . . . ⟨am , x⟩       =       θD b1 . . . bm       Λຬͨ͢ x ∈ K ͸ଘࡏ͠ͳ͍. 27
  25. Proof of Duality Theorem ͕ͨͬͯ͠, Farkas ͷิ୊ΑΓ, ͋Δ (y0 ,

    y) ∈ Rm+1 ͕ଘࡏͯ͠, θD y0 + b⊤y < 0 (6) ͔ͭ y0 c + m ∑ i=1 yi ai ∈ K∗ (7) Λຬͨ͢. (7) ͸, K∗ ͷఆٛΑΓ, ҎԼͷΑ͏ʹॻ͖׵͑ΒΕΔ. y0 ⟨c, x⟩ + m ∑ i=1 yi ⟨ai , x⟩ ≥ 0, ∀x ∈ K (8) ͜͜Ͱ, y0 ʹ͍ͭͯ 3 ͭͷ৔߹ʹ෼͚, ͍ͣΕ΋ໃ६͢Δ͜ͱΛࣔ͢. 28
  26. Proof of Duality Theorem (i) y0 = 0 ͷͱ͖ (6)

    ͱ (8) ʹ y0 = 0 Λ୅ೖ͢Δͱ, m ∑ i=1 yi ⟨ai , x⟩ ≥ 0, ∀x ∈ K (9) ͔ͭ b⊤y < 0 (10) Ͱ͋Δ. (9) ͸ଈͪ m ∑ i=1 yi ai ∈ K∗. Farkas ͷิ୊ΑΓ (͜͜Ͱ͸, K ͷ૾ͱͯ͠ C[a1 , . . . , am ; K] Λߟ͑Δ), ओ໰୊ (4) ʹ͸ڐ༰ղ͕ଘࡏ͠ͳ͍. ͜Ε͸Ծఆʹ൓͢Δ. 29
  27. Proof of Duality Theorem (ii) y0 < 0 ͷͱ͖ C[c,

    a1 , . . . , am ; K] ͕ดू߹ΑΓ, ओ໰୊ (4) ʹ͸࠷దղ x∗ ͕ଘࡏͯ͠, ⟨c, x∗⟩ = θP , ⟨ai , x∗⟩ = bi (i = 1, . . . , m) ͜ΕΛ (8) ʹ୅ೖͨ݁͠Ռͱ, (6) ΑΓ, y0 θP + y⊤b ≥ 0 > y0 θD + b⊤y Αͬͯ y0 (θP − θD ) > 0. ߋʹ, y0 < 0 ΑΓ, θP < θD . ͜Ε͸ θP > θD ʹໃ६͢Δ. 30
  28. Proof of Duality Theorem (iii) y0 > 0 ͷͱ͖ (8)

    Λ y0 ͰׂΔͱ, ⟨c + m ∑ i=1 (yi /y0 )ai , x⟩ ≥ 0, ∀x ∈ K Αͬͯ, ˜ y = −y/y0 ͢Δͱ, c − ∑ m i=1 ˜ yi ai ∈ K∗ ͱͳΔ. ଈͪ, ˜ y ͸૒ର໰୊ (5) ͷڐ༰ղͰ͋Γ, ͦͷ໨తؔ਺͸ (6) ΑΓ, b⊤ ˜ y = −b⊤y/y0 > θD . ͜Ε͸ θD ͷఆٛʹ൓͢Δ. Ҏ্ΑΓ, ఆཧͷओு͕ࣔ͞Εͨ. 31
  29. Interior Point, Interior Feasible Solution Definition 2.5 ดತਲ਼ K ͱ͢Δ.

    x ∈ K ͕ ೚ҙͷ s ∈ K∗, s ̸= 0 ʹରͯ͠ ⟨s, x⟩ > 0 ͱͳΔͱ͖, x Λ K ͷ಺఺ (interior point) ͱ͍͏. Definition 2.6 ਲ਼ઢܭը (4) ʹ͓͍ͯ, K ͷ಺఺Ͱ͔ͭڐ༰ղͰ͋Δ఺Λ ಺఺ڐ༰ղ (interior feasible solution) ͱ͍͏. ૒ର໰୊ (5) Ͱ͸, K∗ ͷ಺఺Ͱ ͔ͭڐ༰ղͰ͋Δ఺Λ಺఺ڐ༰ղͱ͍͏. 32
  30. Sufficient Condition for C[c, a1 , . . . ,

    am ; K] be Closed Set Proposition 2.1 ૒ର໰୊ (5) ʹ಺఺ڐ༰ղ͕ଘࡏ͢Δ ⇒ C[c, a1 , . . . , am ; K] ͸ดू߹Ͱ͋Δ. ূ໌Λߦ͏ʹ͋ͨΓ, ҎԼͷ 2 ͭͷࣄ࣮Λূ໌ͳ͠ʹ༻͍Δ. Fact 2.1 ू߹ S ⊆ Rn ͕ดू߹ ⇔ S ಺ͷ೚ҙͷऩଋ఺ྻ {xi ∈ S | i = 1, 2, . . . } ʹରͯ͠ ͦͷۃݶ x∗ = limi→∞ xi ͕ S ʹؚ·ΕΔ Fact 2.2 ू߹ S ⊆ Rn ͕༗քดू߹, ແݶ఺ྻ X ⊆ S ͷͱ͖, X ʹ͸ूੵ఺͕ଘࡏ͢Δ. ଈͪ, X ͷ෦෼఺ྻ X′ = {xk | k ∈ K} (K ⊆ {0, 1, . . . }) ͕ଘࡏ͠, limk∈K xk = ¯ x ͱͳΔ఺ ¯ x ͕ଘࡏ͢Δ. 33
  31. Proof (ূ໌) දهͷ؆ུԽͷͨΊ, C := C[a1 , . . .

    , am ; K] ͱॻ͘. C ͕ดू߹Ͱͳ͍ͱԾఆͯ͠, ໃ६Λಋ͘. Fact 2.1 ΑΓ, ͋Δऩଋ఺ྻ {yk ∈ Rm+1 | k = 0, 1, 2, . . . } ⊆ C ͕ଘࡏ͠, ͦͷۃݶ͸ yk → ¯ y / ∈ C (k → ∞). ͜ͷ yk ʹରԠ͢Δ K ͷݩ xk ͱ͢Δ. ଈͪ, ೚ҙͷ k ʹରͯ͠ yk 0 = ⟨c, xk⟩, yk i = ⟨ai , xk⟩ (i = 1, . . . , m) Ͱ ͋Δ. ΋͠ {∥xk∥ | k = 0, 1, 2, . . . } ͕༗քͳΒ͹, Fact 2.2 ΑΓ {xk} ͷूੵ఺ ¯ x ͕ଘࡏ͠, K ͸ดू߹ͳͷͰ, ¯ x ∈ K. ¯ y ͸ ¯ x ʹରԠ͢Δ఺ͳͷͰ ¯ y ∈ C. ͜Ε͸ ¯ y ͷऔΓํʹ൓͢Δ. ͕ͨͬͯ͠, ∥xk∥ → ∞ ͱͳΔ৔߹Λߟ͑Δ. 34
  32. Proof (ଓ͖) ˜ xk = xk/∥xk∥ ͱ͢Δ. ∥˜ xk∥ ͸༗քΑΓ,

    ఺ྻ {˜ xk} ͸ूੵ఺ ¯ x Λ΋ͭ. ¯ x ΁ऩଋ͢Δ෦෼ྻΛ {˜ xkj | j = 0, 1, 2, . . . } ͱ͢Δ. ͜ͷͱ͖, ykj = ∥xkj ∥       ⟨c, ˜ xkj ⟩ ⟨a1 , ˜ xkj ⟩ . . . ⟨am , ˜ xkj ⟩       ͱ͢Ε͹, ࠨล͓ΑͼӈลͷϕΫτϧͷ֤੒෼͸ऩଋ͢Δ͕, ∥xkj ∥ ͸ൃࢄ͍ͯ͠Δ. ͕ͨͬͯ͠, ӈลͷϕΫτϧͷ֤੒෼͸ 0 ʹऩଋ͠ͳ͚Ε͹͍͚ͳ͍. ଈͪ, ⟨c, ¯ x⟩ = 0, ⟨ai , ¯ x⟩ = 0 (i = 1, . . . , m) ͕੒Γཱͭ. 35
  33. Proof (ଓ͖) ͜͜Ͱ૒ର໰୊ͷ಺఺ڐ༰ղ ˆ s = c − ∑ m

    i=1 ˆ yi ai ͱ͢Δͱ, ⟨ˆ s, ¯ x⟩ = ⟨c − m ∑ i=1 ˆ yi ai , ¯ x⟩ = ⟨c, ¯ x⟩ − ⟨ m ∑ i=1 ˆ yi ai , ¯ x⟩ = 0 Ͱ͋Δ. ∥¯ x∥ = 1 ΑΓ ¯ x ͸ඇθϩͰ K ʹؚ·Ε͍ͯΔ. ͜Ε͸ ˆ s ͕૒ ର໰୊ͷ಺఺ڐ༰ղͰ͋Δ͜ͱʹໃ६͢Δ. 36
  34. Summary of Regular duality Ҏ্ΑΓ, ҎԼͷ͜ͱ͕Θ͔ͬͨ. Corollary 2.1 ओ໰୊ (4)

    ʹڐ༰ղ͕ଘࡏ͠, ͔ͭ૒ର໰୊ (5) ʹ಺఺ڐ༰ղ͕ଘࡏ͢Δ ⇒ ࠷ద஋͸Ұக͠, ओ໰୊ʹ͸࠷దղ͕ଘࡏ͢Δ. ͜Ε͸ओ໰୊ͱ૒ର໰୊ΛೖΕସ͑ͯ΋੒Γཱͭ. ଈͪ, Corollary 2.2 ૒ର໰୊ (5) ʹڐ༰ղ͕ଘࡏ͠, ͔ͭओ໰୊ (4) ʹ಺఺ڐ༰ղ͕ଘࡏ͢Δ ⇒ ࠷ద஋͸Ұக͠, ૒ର໰୊ʹ͸࠷దղ͕ଘࡏ͢Δ. Ҏ্ΑΓ, Corollary 2.3 ओ໰୊ (4) ͓Αͼ૒ର໰୊ (5) ʹ಺఺ڐ༰ղ͕ଘࡏ͢Δ ⇒ ࠷ద஋͸Ұக͠, ྆ऀʹ࠷దղ͕ଘࡏ͢Δ. 37
  35. Outline Introduction Cone Programming Semidefinite Programming Semidefinite Programming Dual of

    SDP Duality Some known Algorithms for SDP 0.878-approximation Algorithm for Maximum Weighted Cut Problem Appendix 38
  36. Semidefinite Matrix Set n × n ࣮࣍ରশߦྻશମͷू߹Λ Sn ͱ͓͘. ଈͪ,

    Sn = {X ∈ Rn×n | X⊤ = X}. ·ͨ, n ࣍൒ਖ਼ఆ஋ରশߦྻશମͷू߹ Pn ͱ͢Δ. ଈͪ, Pn = {X ∈ Rn×n | u⊤Xu ≥ 0 (∀u ∈ Rn} ⊆ Sn ·ͨ, X, Y ∈ Sn ʹରͯ͠, X ͱ Y ͷ಺ੵ • Λ X • Y = n ∑ i=1 n ∑ j=1 Xi,j Yi,j ͱఆٛ͢Δ. 39
  37. Semidefinite Programming ࠓ, Ai , C ∈ Sn ͱ bi

    ∈ R (i = 1, . . . , m) ͕༩͑ΒΕͨͱ͖ʹ, ҎԼͷ࠷దԽ໰୊Λߟ͑Δ. Minimize C • X (11) subject to Ai • X = bi (i = 1, . . . , m) X ∈ Pn . ͜ΕΛ ൒ਖ਼ఆ஋ܭը໰୊ (semidefinite programming problem) ͱ͍͏. ͜ͷ໰୊͸, ઢܗ੍໿ͱਲ਼੍໿ͷΈΛ΋ͪ, ઢܗ໨తؔ਺Λ࠷খԽ, ΋͠ ͘͸࠷େԽ͢Δ໰୊ͳͷͰ, ਲ਼ઢܗܭըͷҰछͰ͋Δ. 40
  38. Dual of SDP ൒ਖ਼ఆ஋ܭը໰୊ͷ૒ର໰୊Λ, ҎԼͷΑ͏ʹܾΊΔ. Maximize b⊤y (12) subject to

    S + m ∑ i=1 yi Ai = C S ∈ P∗ n ࣮͸, Pn ͸ࣗݾ૒ରਲ਼Ͱ͋Δ. ଈͪ, P∗ n = Pn . 41
  39. Dual Cone of P∗ n Sn−1 = {x ∈ Rn

    | ∥x∥ = 1} ͱ͢Δ. Pn ͕ࣗݾ૒ରਲ਼Ͱ͋Δ͜ͱΛࣔ͢લʹ, ҎԼͷิ୊ͷ݁ՌΛূ໌ͳ͠ ʹ༻͍Δ. Lemma 3.1 X ∈ Rn×n ͱ͢Δ. ҎԼͷ 2 ͭ͸ಉ஋Ͱ͋Δ. 1. X ⪰ 0 2. ҎԼͷࣜΛຬͨ͋͢Δ୯ҐϕΫτϧ ei , . . . , en ∈ Sn−1 ͱ ඇෛͷ࣮਺ λ1 , . . . , λn ͕ଘࡏ͢Δ. X = n ∑ i=1 λi ei e⊤ i . (ূ໌) ( 2 ⇒ 1 )ei e⊤ i ͕൒ਖ਼ఆ஋Ͱ͋Δ͜ͱ͔Β, ͦͷඇෛ݁߹ͳͷͰ X ⪰ 0. 42
  40. Dual Cone of P∗ n (1 ⇒ 2) X ⪰

    0 ΑΓ, X = QDQ⊤ ͱ͢Δ. Q ͸ਖ਼ن௚ަجఈͰ, D ͸֤ݻ༗஋ λi ≥ 0 (i = 1, . . . , n) Λର֯੒෼ʹ΋ͭର֯ߦྻͰ͋Δ. D(i) Λߦྻͷ (i, i) ੒෼͕ λi , ͦΕҎ֎Λ 0 ͱ͢Δର֯ߦྻͱ͢Δͱ, X = Q( n ∑ i=1 D(i))Q⊤ = n ∑ i=1 QD(i)Q⊤ = n ∑ i=1 λi ei ͜͜Ͱ ei ͸ Q ͷ i ൪໨ͷྻϕΫτϧͱͳΔ. Q ͸ਖ਼ن௚ަجఈͳͷͰ, ∥ei ∥ = 1 (i = 1, . . . , n) 43
  41. Proof of P∗ n = Pn Proposition 3.1 P∗ n

    = Pn (ূ໌) ·ͣ, Pn ⊆ P∗ n , ଈͪ, X ∈ Pn ⇒ X ∈ P∗ n Λࣔ͢. X, Y ⪰ 0 ͱ͢Δ. Lemma 3.1 ΑΓ, X ͸ λi ≥ 0 ͱ୯ҐϕΫτϧ ei Ͱ X = ∑ n i=1 λi ei e⊤ i ͱ͔͚ͯ, ߋʹ Tr(AB) = Tr(BA) ΑΓ, X • Y =Tr( n ∑ i=1 λi ei e⊤ i Y ) = n ∑ i=1 λi Tr(ei e⊤ i Y ) = n ∑ i=1 λi Tr(e⊤ i Y ei ) = n ∑ i=1 λi e⊤ i Y ei ≥ 0 44
  42. Proof of P∗ n = Pn ࣍ʹ, Pn ⊇ P∗

    n , ଈͪ, Y ∈ P∗ n ⇒ Y ⪰ 0 Λࣔ͢. ೚ҙͷ x ∈ Rn ʹ͍ͭͯ, xx⊤ ⪰ 0 ͳͷͰ (∀v ∈ Rn, v⊤(xx⊤)v = (x⊤v)⊤(x⊤v) ≥ 0), 0 ≤ Y • xx⊤ = Tr(Y xx⊤) = Tr(x⊤Y x) = x⊤Y x Αͬͯ Y ⪰ 0 Ͱ͋Δ. 45
  43. Some known Algorithms for SDP ൒ਖ਼ఆ஋ܭը໰୊ʹର͢ΔΞϧΰϦζϜͱͯ͠, ҎԼͷΑ͏ͳ΋ͷ͕ ͋Δ. ͜͜Ͱ͸໊લͷΈ঺հ͢Δ. •

    ପԁମ๏ (ellipsoid method) ͋Δ৚݅Λ൐ͬͯଟ߲ࣜ࣌ؒͰ೚ҙਫ਼౓ͷղ͕ಘΒΕΔ • ಺఺๏ (interior-point method) • Hanzan’s algorithm 47
  44. Outline Introduction Cone Programming Semidefinite Programming 0.878-approximation Algorithm for Maximum

    Weighted Cut Problem Relaxation to Vector Programming Reformulation to SDP Bounding Approximation Ratio Appendix 48
  45. Review: Maximum Weighted Cut Problem Weighted Max Cut Problem Input:

    G = (V, E): ແ޲άϥϑ, c: E → R+ : ॏΈؔ਺ Task: (13) Λ࠷େʹ͢Δ S ⊆ V ΛٻΊΔ ∑ u∈S ∑ v∈V \S c(u, v) (13) V = {1, . . . , n}, cij = c(i, j) ͱ͢Δ. zi Λ i ∈ S ͷͱ͖ 1, ͦ͏Ͱͳ͍ͱ͖ −1 ͱ͢Δͱ, ࠷େΧοτͷ໰୊͸ (14) ͷΑ͏ʹఆࣜԽͰ͖Δ. Maximize ∑ {i,j}∈E cij 1 − zi zj 2 (14) subject to zi ∈ {−1, 1}, i = 1, . . . , n 49
  46. Maxcut: Relaxation to Vector Programming ࠶ܝ Maximize ∑ {i,j}∈E cij

    1 − zi zj 2 (5) subject to zi ∈ {−1, 1}, i = 1, . . . , n ͜ΕΛ, ࣍ͷ vector programming (6) ʹ؇࿨͢Δ. Maximize ∑ {i,j}∈E cij 1 − u⊤ i uj 2 (6) subject to ui ∈ Sn−1, i = 1, . . . , n ͜͜Ͱ, Sn−1 = {x ∈ Rn | ∥x∥ = 1} Ͱ͋Δ. 50
  47. Maxcut: Reformulation to SDP ui Λྻͱͯ͠΋ͭҎԼͷΑ͏ͳߦྻ U ∈ Rn×n Λߟ͑Δ.

    U = [u1 u2 . . . un ] (7) X = U⊤U ͱ͢Δͱ, ҎԼ͕੒Γཱͭ. Lemma 4.1 X ͸൒ਖ਼ఆ஋ߦྻͰ͋Δ. Proof. v ∈ Rn ͱ͢Δ. v⊤Xv = v⊤U⊤Uv = (Uv)⊤Uv ≥ 0 51
  48. Maxcut: Reformulation to SDP xij = u⊤ i uj Λཁૉʹ΋ͭߦྻ

    X Λߟ͑Δͱ, ҎԼͷ൒ਖ਼ఆ஋ܭը໰୊ (8) ʹॻ͖׵͑ΒΕΔ. Maximize ∑ {i,j}∈E cij 1 − xij 2 (8) subject to xii = 1, i = 1, . . . , n X ⪰ 0 ͜ΕΛղ͖, X ͔Β U ΛಘΔ͜ͱͰ vector programming (6) ͷղΛ ಘΔ. (X ͷ Cholesky ෼ղʹΑͬͯ U ͸ٻ·Δ) 52
  49. Mapping from Sn−1 to S0 = {−1, 1} ϥϯμϜʹ p

    ∈ Sn−1 Λબͼ, ҎԼͷΑ͏ʹͯ͠ u ∈ Sn−1 ͔Β {−1, 1} ʹࣸ͢. u → { 1 if p⊤u ≥ 0 −1 otherwise. (9) p ͸, ୯Ґٿ໘ Sn−1 ্ͷϕΫτϧΛ, ด൒ٿ໘ H = {u ∈ Sn−1 | p⊤u ≥ 0} ͱͦͷิू߹ʹ෼ׂ͢Δ. 53
  50. Probability that u, u′ ∈ Sn−1 map to different values

    Lemma 4.2 u, u′ ͕ (9) ʹΑͬͯҟͳΔ஋ʹࣸ͞ΕΔ֬཰͸, 1 π arccos u⊤u′. α ∈ [0, π] Λ u, u′ ͷ֯౓ͱ͢Δ. cos α = u⊤u′ ∈ [−1, 1] Αͬͯ, α = arccos u⊤u′ ∈ [0, π] α = 0, π ͷͱ͖, ิ୊͸੒Γཱͭ. 54
  51. Probability that u, u′ ∈ Sn−1 map to different values

    α ̸= 0, π ͷͱ͖, u, u′ ͰுΔ 2 ࣍ݩͷઢܕ෦෼ۭؒ L ⊆ Rn Λߟ͑Δ. p Λ L ʹࣹӨͨ͠ r ∈ L ʹ͍ͭͯ, p⊤u = r⊤u ͔ͭ p⊤u′ = r⊤u′. Αͬͯ, r ͕Լਤͷ൒։ۭؒ W ʹೖ͍ͬͯΔͱ͖, ͔ͭͦͷͱ͖ͷΈ, p⊤u ͱ p⊤u′ ͸ҟͳΔ஋ΛͱΔ. p ͸ Sn−1 ͔ΒҰ༷ϥϯμϜʹબ͹ΕΔͷͰ, r ͷ޲͖΋ [0, 2π] ͔ΒҰ ༷ϥϯμϜͱͳΔ. Αͬͯ, r ∈ W ͱͳΔ֬཰͸, 2α/2π = α/π. 55
  52. Getting the Bound vector programming (6) ͷղΛ u∗ 1 ,

    u∗ 2 , dots, u∗ n ͱ͢Δ. ͜Ε·Ͱͷ݁Ռͱ, ظ଴஋ͷઢܕੑΑΓ, p ∈ Sn−1 ΛϥϯμϜʹબͿࣄʹΑͬͯҎԼ͕ಘΒΕΔ. E   ∑ {i,j}∈E cij 1 − (p⊤u∗ i )(p⊤u∗ j ) 2   = ∑ {i,j}∈E ci,j arccos u∗ i ⊤u∗ j π ·ͨ, ਺஋ܭࢉʹΑͬͯ, ҎԼͷ݁ՌΛಘΔ͜ͱ͕Ͱ͖Δ. f(x) = 2 arccos (x) π(1 − x) ≥ 0.8785672 if x ∈ [−1, 1]. Αͬͯ, શͯͷ x ∈ [−1, 1] ʹ͍ͭͯ, ҎԼͷෆ౳͕ࣜ੒Γཱͭ. arccos (x) π ≥ 0.8785672 1 − x 2 . 56
  53. Getting the Bound Ҏ্ΑΓ, ∑ {i,j}∈E ci,j arccos u∗ i

    ⊤u∗ j π ≥0.8785672 ∑ {i,j}∈E ci,j 1 − u∗ i ⊤u∗ j 2 ≥0.8785672(Opt(G) − ϵ) ≥0.878 · Opt(G) ͜͜Ͱ, ϵ ≤ 5 · 10−4 Ͱ͋Δ. 57
  54. Summary of Goemans-Williamson algorithm for Maxcut Χοτ S ⊆ V

    ʹର͢ΔΧοτॏΈ f(S) := ∑ i∈S ∑ j∈V \S cij ͱ͢Δ. Goemans-Williamson algorithm for maxcut Input: G = ({1, . . . , n}, E, c) Output: Χοτ S ͱͦͷΧοτॏΈ f(S) 1: ҎԼͷ vector programming Λղ͖, u∗ 1 , u∗ 2 , . . . , u∗ n ΛٻΊΔ. Maximize ∑ {i,j}∈E cij 1 − u⊤ i uj 2 subject to ui ∈ Sn−1, i = 1, . . . , n 2: p ∈ Sn−1 ΛҰ༷ϥϯμϜʹબͼ, ҎԼͷΧοτ S ΛಘΔ. S := {i ∈ {1, . . . , n} | p⊤u∗ i ≥ 0} 3: return S, f(S) 58
  55. Inapproximability result of Maxcut ۙࣅ཰ʹؔͯ͠஌ΒΕ͍ͯΔ݁Ռ • P ̸= NP ͷԾఆͷԼͰ,

    ೚ҙͷ ϵ > 0 ʹରͯ͠ଟ߲ࣜ࣌ؒ 16/17 + ϵ-ۙࣅΞϧΰϦζϜ͸ଘࡏ͠ͳ͍. • Unique Games Conjecture ͷԾఆͷԼͰ, ೚ҙͷ ϵ > 0 ʹରͯ͠ଟ ߲ࣜ࣌ؒ 0.8785 + ϵ-ۙࣅΞϧΰϦζϜ͸ଘࡏ͠ͳ͍. 60