Download - A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Transcript
Page 1: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

A Combinatorial, Primal-Dual A Combinatorial, Primal-Dual Approach to Semidefinite Approach to Semidefinite

ProgramsPrograms

Satyen KaleSatyen KaleMicrosoft ResearchMicrosoft Research

Joint work with Joint work with Sanjeev Arora Sanjeev Arora

Princeton UniversityPrinceton University

Page 2: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

The Ubiquity of Semidefinite The Ubiquity of Semidefinite ProgrammingProgramming

Max Cut [GW’95]

Balanced Partitioning [ARV’04]

Graph Coloring [KMS’98, ACC’06]

(a Ç :b) Æ (:a Ç c) Æ (a Ç b) Æ (:c Ç b)

Constraint Satisfaction [ACMM’05]

1 0 0 0 1 1 0 1

SDP

Control Theory

dx(t)/dt = Ax(t)

Page 3: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Algorithms for SDPAlgorithms for SDP

Ellipsoid method Ellipsoid method [GLS’81][GLS’81]::• O(nO(n88)) iterations iterations

Interior point methods Interior point methods [NN’90, A’95][NN’90, A’95]::• O(√m(nO(√m(n33 + m)) + m)) time time

Lagrangian Relaxation Lagrangian Relaxation [KL’95], [AHK’05][KL’95], [AHK’05]::• Reduction to eigenvectorsReduction to eigenvectors• poly(1/poly(1/) ) dependence ondependence on , limits , limits applicability (e.g. applicability (e.g. Sparsest CutSparsest Cut))

A1 ² X ¸ b1

Am ² X ¸ bm

i wi(Ai ² X – bi) ¸ 0

Combinatorial, Primal-Dual algorithms

Page 4: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Primal-Dual algorithms for LP:Primal-Dual algorithms for LP:Multicommodity FlowsMulticommodity Flows

Unit capacities

Objective:Objective: Maximize total flow, Maximize total flow, while respecting edge capacitieswhile respecting edge capacities

Page 5: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

1

1

1

1

1

1 1

1

11

1

1

11

1 + Edge weights Edge weights wwee = 1 = 1 Repeat until some Repeat until some ee reaches reaches

capacity:capacity: Find shortest pathFind shortest path p p Route Route 22/log(m) /log(m) flow on flow on pp Update Update wwee for all for all e e 22 p p as as

wwee ÃÃ w wee ¢¢ (1 + (1 + )) Output flow.Output flow.

Thm [GK’98]:Thm [GK’98]: Stops in Stops in Õ(m) Õ(m) rounds with rounds with (1 – 2(1 – 2))¢¢OPT OPT flow. Total running time is flow. Total running time is Õ(mÕ(m22).).

Primal-Dual algorithms for LP:Primal-Dual algorithms for LP:Multicommodity FlowsMulticommodity Flows

Page 6: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Primal-Dual algorithms for LP:Primal-Dual algorithms for LP:Multicommodity FlowsMulticommodity Flows

Thm [GK’98]:Thm [GK’98]: Stops in Stops in Õ(m) Õ(m) rounds with rounds with (1 – 2(1 – 2))¢¢OPT OPT flow. Total running time is flow. Total running time is Õ(mÕ(m22).).

1. Primal-Dual algorithm

2. Combinatorial

3. Multiplicative Weights Update Rule

Edge weights Edge weights wwee = 1 = 1 Repeat until some Repeat until some ee reaches reaches

capacity:capacity: Find shortest pathFind shortest path p p Route Route 22/log(m) /log(m) flow on flow on pp Update Update wwee for all for all e e 22 p p as as

wwee ÃÃ w wee ¢¢ (1 + (1 + )) Output flow.Output flow.

Page 7: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Starting point for our work:Analogous primal-dual algorithms for SDP?

Difficulties: Positive semidefiniteness hard to maintain Rounding algorithms exploit geometric structure

(e.g. negative-type metrics) Matrix operations inefficient to implement

Our work: a generic scheme that yields fast, combinatorial, primal-dual algorithms for various optimization problems using SDP

Page 8: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Our Results: Primal-Dual Our Results: Primal-Dual algorithmsalgorithms

ProblemProblem Previous Previous best:best:

O(√log n) O(√log n) apxapx

Our alg.:Our alg.:

O(√log n) O(√log n) apxapx

Our alg.:Our alg.:

O(log n) O(log n) apxapx

UndirectedUndirected

Sparsest CutSparsest CutÕ(nÕ(n22)) Õ(nÕ(n22)) Õ(m + nÕ(m + n1.51.5))

UndirectedUndirected

Balanced Balanced Sep.Sep.

Õ(nÕ(n22)) Õ(nÕ(n22)) Õ(m + nÕ(m + n1.51.5))

DirectedDirected

Sparsest CutSparsest CutÕ(nÕ(n4.54.5)) Õ(mÕ(m1.51.5 + n + n2+2+)) Õ(mÕ(m1.51.5))

DirectedDirected

Balanced Balanced Sep.Sep.

Õ(nÕ(n4.54.5)) Õ(mÕ(m1.51.5 + n + n2+2+)) Õ(mÕ(m1.51.5))

Min UnCutMin UnCut Õ(nÕ(n4.54.5)) Õ(nÕ(n33)) ------

Min 2CNF Min 2CNF DeletionDeletion

Õ(nÕ(n4.54.5)) Õ(nmÕ(nm1.5 1.5 + n+ n33)) ------

[AHK’04]

[AHK’04]

Page 9: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Our Results: Primal-Dual Our Results: Primal-Dual algorithmsalgorithms

ProblemProblem Previous Previous best:best:

O(√log n) O(√log n) apxapx

Our alg.:Our alg.:

O(√log n) O(√log n) apxapx

Our alg.:Our alg.:

O(log n) O(log n) apxapx

UndirectedUndirected

Sparsest CutSparsest CutÕ(nÕ(n22)) Õ(nÕ(n22)) Õ(m + nÕ(m + n1.51.5))

UndirectedUndirected

Balanced Balanced Sep.Sep.

Õ(nÕ(n22)) Õ(nÕ(n22)) Õ(m + nÕ(m + n1.51.5))

DirectedDirected

Sparsest CutSparsest CutÕ(nÕ(n4.54.5)) Õ(mÕ(m1.51.5 + n + n2+2+)) Õ(mÕ(m1.51.5))

DirectedDirected

Balanced Balanced Sep.Sep.

Õ(nÕ(n4.54.5)) Õ(mÕ(m1.51.5 + n + n2+2+)) Õ(mÕ(m1.51.5))

Min UnCutMin UnCut Õ(nÕ(n4.54.5)) Õ(nÕ(n33)) ------

Min 2CNF Min 2CNF DeletionDeletion

Õ(nÕ(n4.54.5)) Õ(nmÕ(nm1.5 1.5 + n+ n33)) ------

[AHK’04]

[AHK’04] Cannot be achieved by LPs even!

Page 10: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Our Results: Near-linear time Our Results: Near-linear time algorithm for algorithm for Max CutMax Cut

Õ(n + m) Õ(n + m) time algorithm to approximate Max Cut SDP to (1 + o(1)) factor

Previous best: Õ(nÕ(n22) ) time algorithm by Klein, Lu ‘95

Page 11: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Prototype MW for LPs: Prototype MW for LPs: Winnow Winnow [L’88][L’88]

a1 ¢ x ¸ a2 ¢ x ¸

am ¢ x ¸

x ¸ 0i xi = 1

MW for LP:Init: x = (1/n, …, 1/n)Update:xj = xj ¢ exp(- aij)/ = norm. factor

OracleFind i s.t. ai ¢ x < -

x

ai

Thm: Finds x in O(2log(n)/2)iterations.= maxij |aij|

---

000

Convex comb. of constraints allowed:i yi ai ¢ x < -, where yi ¸ 0, i yi = 1. Hence Primal-Dual.

Analysis uses as potential fn.

MW algorithm: boosting, hard-core sets, zero-sum games, flows, portfolio, …

Page 12: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Prototype Matrix MW for SDPsPrototype Matrix MW for SDPs

A1 ² X ¸ A2 ² X ¸

Am ² X ¸

X º 0Tr(X) = 1

Matrix MW for SDP:Init: X = I/nUpdate:X = exp(- t

s=1 Ais)/

= norm. factor

OracleFind it s.t. Ait

² X < -

X

Ait

Thm: Finds X in O(2log(n)/2)iterations.= maxi kAik

---

000

Convex comb. of constraints allowed:i yi Ai²X < -, where yi ¸ 0, i yi = 1. Hence Primal-Dual.

Analysis uses as potential fn.

Page 13: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

The Matrix ExponentialThe Matrix Exponential

Matrix MW for SDP:Init: X = I/nUpdate:X = exp(- t

s=1 Ais)/

= norm. factor

Matrix exponential: exp(A) = I + A + A2/2! + A3/3!

+ …

Always PSD:Always PSD: exp(A) exp(A) ºº 0 0

Tricky beast:Tricky beast:

exp(A+B) = exp(A) exp(B)exp(A+B) = exp(A) exp(B)

Computation:Computation: O(nO(n33) ) timetime Usually, can use Usually, can use J-L lemmaJ-L lemma Only need Only need exp(A)v exp(A)v

products:products: Õ(m) Õ(m) timetime

Golden-Thompson inequality:Golden-Thompson inequality:Tr(exp(A+B)) Tr(exp(A+B)) ·· Tr(exp(A)exp(B)) Tr(exp(A)exp(B))

Page 14: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Approximation via SDP Approximation via SDP RelaxationsRelaxations

Input

0-1 QuadraticProgram

SDP:Vectorvars

Reduction

SDP Solver

RoundingAlgorithm

SDP Opt

v1

vn

v2

RelaxationPrimal-Dual SDP

Page 15: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Primal-Dual SDP FrameworkPrimal-Dual SDP Framework

Input

0-1 QuadraticProgram

SDP:Vectorvars

Reduction

RelaxationRoundingAlgorithm

v1

vn

v2

MatrixMWX

y1,…, ym

Primal-Dual SDP

Page 16: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Approximating Balanced Approximating Balanced SeparatorSeparator

Cut Cut (S, S’)(S, S’) is is cc-balanced if -balanced if

|S|, |S’| |S|, |S’| ¸̧ cn cn Min Min cc-Balanced Separator:-Balanced Separator: cc--

balanced cut of min capacitybalanced cut of min capacity

Numerous applications:Numerous applications: Divide-and-conquer Divide-and-conquer

algorithmsalgorithms Markov chainsMarkov chains Geometric embeddingsGeometric embeddings ClusteringClustering Layout problemsLayout problems ……

G = (V, E)G = (V, E)

S

S’

Page 17: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

SDP for Balanced SeparatorSDP for Balanced Separator

¼¼kkvvii – v – vjjkk22 = 0 = 0 if if ii, , jj on same on same side,side,

= 1= 1 otherwise otherwise

SDP:SDP:

min min i,j i,j 22 E E ¼ ¼kkvvii – v – vjjkk22

88i: i: kkvviikk22 = 1 = 1

88ijk: ijk: kkvvii–v–vjjkk2 2 + + kkvvjj–v–vkkkk22 ¸̧ kkvvii–v–vkkkk22

i, ji, j ¼ ¼kkvvii – v – vjjkk2 2 ¸̧ c(1-c)n c(1-c)n22

S

S’

G = (V, E)G = (V, E)

vi = -1 vi = 1

Page 18: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Implementing OracleImplementing Oracle

Primal:Primal:

minmin i,j i,j 22 E E ¼ ¼kkvvii – v – vjjkk22

88i: i: kkvviikk22 = 1 = 1

88ijk: ijk: kkvvii–v–vjjkk2 2 + + kkvvjj–v–vkkkk22 ¸̧ kkvvii–v–vkkkk22

i, ji, j ¼ ¼kkvvii – v – vjjkk2 2 ¸̧ c(1-c)n c(1-c)n22

Oracle: given X (thus, vi), : check first and third constraints inequalities: dual vars , multicommodity flow s.t.

1. total flow from any node is · d2. no capacity is exceeded3. i,j fijkvi – vjk2 ¸

fij = total flow between i, j

Bounds eigenvalues via demand graph Laplacian

Thm: Given vi, :1. Max-flow ) desired flow or cut of value O(log(n)¢).2. Multicommodity flow ) desired flow or cut of value O(√log(n)¢).

Page 19: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Conclusions and Future WorkConclusions and Future Work

Matrix MW algorithm:Matrix MW algorithm: more applications in more applications in Solving SDPs:Solving SDPs: e.g. e.g. Min Linear ArrangementMin Linear Arrangement Quantum algorithms:Quantum algorithms: density matrix is a central density matrix is a central

conceptconcept Learning:Learning: e.g. online variance minimization e.g. online variance minimization [WK [WK

COLT’06]COLT’06], online PCA , online PCA [WK NIPS’06][WK NIPS’06] Other applications?Other applications?

LinearLinear time algorithm for time algorithm for Sparsest CutSparsest Cut?? Our algorithm runs in Our algorithm runs in Õ(m + nÕ(m + n1.51.5) ) time for an time for an O(log n) O(log n)

approximationapproximation

Page 20: A Combinatorial, Primal-Dual Approach to Semidefinite Programs

Thank you!Thank you!