approximation algoirthms: semidefinite programming lecture 19: mar 22

29
Approximation Algoirthms: S emidefinite Programming Lecture 19: Mar 22

Post on 19-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Approximation Algoirthms: Semidefinite Programming

Lecture 19: Mar 22

Page 2: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Semidefinite ProgrammingWhat is semidefinite programming?• A generalization of linear programming.• A special case of convex programing.• Can be optimized in polynomial time.

What is it good for?

• Shannon capacity

• Perfect graphs

• Number theory

• Quantum computation

• Approximation algorithms

• Image segmentation and

clustering

• Constraint satisfaction problems

• etc…

Page 3: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Maximum Cut

(Maximum Cut) Given an undirected graph, with an edge weight w(e) on each edge e, find a partition (S,V-S) of V so as to maximum the total weight of edges in this cut, i.e. edges that have one endpoint in S and one endpoint in V-S.

Page 4: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Maximum Cut

When is computing maximum cut easy?

When we are given a bipartite graph.

The maximum cut problem can also be interpreted asthe problem of finding a maximum bipartite subgraph.

There is a simple greedy algorithm with approximation ratio ½.

Similar to vertex cover.

Page 5: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Quadratic Program for MaxCut

The two sides of the partition.

if they are on opposite sides.

if they are on the same side.

Page 6: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Quadratic Program for MaxCut

Of course this is unlikely to be solved in polynomial time, otherwise P=NP.

This quadratic program is called strict quadratic program,

because every term is of degree 0 or degree 2.

Page 7: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Vector Program for MaxCut

Page 8: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Vector Program for MaxCut

This is a relaxation of the strict quadratic program (why?)

Vector program: linear inequalities over inner products.

Vector program = semidefinite program.

Can be “solved” in polynomial time (ellipsoid, interior point).

Page 9: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Geometric Interpretation

Think of as an n-dimensional vector.

Contribute more to the objective

if they are more far apart.

Page 10: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Demonstration

Rubber band method.

László Lovász

Page 11: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Algorithm

(Max-Cut Algorithm)

1. Solve the vector program. Let be an optimal solution.

2. Pick r to be a uniformly distributed vector on the unit sphere .

3. Let

Page 12: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Analysis

Claim:

Page 13: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Analysis

Suppose and has an edge.

Contribution to semidefinite program:

Contribution to the solution:

Approximation Ratio:

Page 14: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Let W be the random variable denoting the weight of edges in the cut.

Analysis

Proof: Linearity of expection.

Claim:

Page 15: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

(Max-Cut Algorithm)

1. Solve the vector program. Let be an optimal solution.

2. Pick r to be a uniformly distributed vector on the unit sphere .

3. Let

Algorithm

Repeat a few times to get a good approximation with high probability.

This algorithm performs extremely well in practice.

Try to find a tight example.

Page 16: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Remarks

Hard to imagine a combinatorial algorithm with the same performance.

Assuming the “unique games conjecture”,

this algorithm is the best possible!

That is, it is NP-hard to find a better approximation algorithm!

Page 17: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Constraint Satisfaction Problems

(Max-2-SAT)

Given a formula in which each clause contains two literals,

find a truth assignment that satisfies the maximum number of clauses.

e.g.

An easy algorithm with approximation ratio ½.

An LP-based algorithm with approximation ratio ¾.

An SDP-based algorithm with approximation ratio 0.87856.

Page 18: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Vector Program for MAX-2-SAT

(Max-2-SAT)

Given a formula in which each clause contains two literals,

find a truth assignment that satisfies the maximum number of clauses.

Additional variable (trick):

A variable is set to be true if:

A variable is set to be false if:

Page 19: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Vector Program for MAX-2-SAT

Denote v(C) to be the value of a clause C, which is defined as follows.

Consider a clause containing 2 literals, e.g. . Its value is:

Page 20: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Vector Program for MAX-2-SAT

Objective:

where a(ij) and b(ij) is the sum of coefficients.

Page 21: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

(MAX-2-SAT Algorithm)

1. Solve the vector program. Let be an optimal solution.

2. Pick r to be a uniformly distributed vector on the unit sphere .

3. Let be the “true” variables.

Algorithm

Page 22: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Analysis

Term-by-term analysis.

Contribution to semidefinite program:

Contribution to the solution:

Approximation Ratio:

First consider the second term.

Page 23: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Analysis

Term-by-term analysis.

Contribution to semidefinite program:

Contribution to the solution:

Approximation Ratio:

Consider the first term.

Page 24: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

(MAX-2-SAT Algorithm)

1. Solve the vector program. Let be an optimal solution.

2. Pick r to be a uniformly distributed vector on the unit sphere .

3. Let be the “true” variables.

Algorithm

This is a 0.87856-approximation algorithm for MAX-2-SAT.

Can be improved to 0.931!

Page 25: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

More SDP in approximation algorithms

• Sparsest cut: O(√log n)• Graph colouring• Constraint satisfaction problems• Correlation clustering

Perhaps the most powerful weapon

in the design of approximation

algorithms.

Useful to know geometry and algebra.

Page 26: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Semidefinite ProgrammingWhat is semidefinite programming?• A generalization of linear programming.• A special case of convex programing.• Can be optimized in polynomial time.

What is it good for?

• Shannon capacity

• Perfect graphs

• Number theory

• Quantum computation

• Approximation algorithms

• Image segmentation and

clustering

• Constraint satisfaction problems

• etc…

Page 27: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Do your best then.

NP-completeness

Page 28: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Topics Covered?

1. Combinatorial arguments: TSP, Steiner trees, multiway cut

2. Dynamic programming: knapsack

3. Iterative rounding: network design problems

4. Randomized rounding: congestion minimization, set cover

5. Semidefinite programming: maximum cut

6. Primal-dual algorithms? Greedy algorithms?

A diverse set of techniques.

A popular topic: graph partitioning problems.

Multicut, sparsest cut, metric labeling, correlation clustering, etc.

Page 29: Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22

Concluding Remarks

Learn to design better heuristics.

e.g. iterative rounding, SDP performs extremely well in practice.

Use LP or SDP as a good way to estimate the optimal value.

e.g. help to test the performance of a heuristic.

What is approximable?

Why LP/SDP?