Loading...

PPT – Approximation Algorithms PowerPoint presentation | free to download - id: 66d3b2-ZjE1N

The Adobe Flash plugin is needed to view this content

Approximation Algorithms

- Lecture for CS 302

What is a NP problem?

- Given an instance of the problem, V, and a

certificate, C, we can verify V is in the

language in polynomial time - All problems in P are NP problems
- Why?

VERTEX-COVER

- Given a graph, G, return the smallest set of

vertices such that all edges have an end point in

the set

HAMILTONIAN PATH

- Given a graph, G, find a path that visits every

vertex exactly once - Alt version Find the path with the minimum weight

What is NP-Complete?

- A problem is NP-Complete if
- It is in NP
- Every other NP problem has a polynomial time

reduction to this problem - NP-Complete problems
- 3-SAT
- VERTEX-COVER
- CLIQUE
- HAMILTONIAN-PATH (HAMPATH)

Applications

Applications

- SAT is used to verify circuit design
- NEED MORE EXAMPLES. WANT PICTURES

Dilemma

- NP problems need solutions in real-life
- We only know exponential algorithms
- What do we do?

Accuracy

- NP problems are often optimization problems
- Its hard to find the EXACT answer
- Maybe we just want to know our answer is close to

the exact answer?

Approximation Algorithms

- Can be created for optimization problems
- The exact answer for an instance is OPT
- The approximate answer will never be far from OPT
- We CANNOT approximate decision problems

k-approximation

- S is the approx. answer, OPT is optimal
- Maximization
- kOPT S OPT
- Minimization
- OPT S kOPT

Approximate Vertex-Cover

- Let S be the cover
- Pick an edge (u,v) in the graph
- Add its end-points u and v to S
- Remove any edge that neighbors u or v
- Repeat until there are no edges left

Approximate Vertex-Cover

- OPT must cover every edge so either u or v must

be in the cover gt OPT gt ½S - gt 2OPT S
- We have a 2-approximation

Traveling Salesperson Problem

- Given a graph, find a minimum weight hamiltonian

path - There is a 2-approximation based on MINIMUM

SPANNING TREES

Minimum Spanning Tree

- Given a graph, G, a Spanning Tree of G is a

subgraph with no cycles that connects every

vertex together - A MST is a Spanning Tree with minimal weight

Finding a MST

- Finding a MST can be done in polynomial time

using PRIMS ALGORITHM or KRUSKALS ALGORITHM - Both are greedy algorithms
- Details can be found on Wikipedia

MST vs HAMPATH

- Any HAMPATH becomes a Spanning Tree by removing

an edge - cost(MST) cost(min-HAMPATH)

Approximate TSP

- Given a complete graph G
- Compute Gs MST, M
- The tour is the pre-order traversal of M
- This is a 2-approximation

Approximating 3-SAT

- f is a Boolean formula in 3-CNF form if
- Whats the optimization version of 3-SAT?
- Satisfy as many clauses as you can

Approximating 3-SAT

- Algorithm
- For each variable xi assign True with probability

½, False with probability ½ - This satisfies 7/8ths of the clauses in

expectation

Approximating 3-SAT

x1 x2 x3

T T T T

T T T F

T T F T

T T F F

T F T T

T F T F

T F F T

F F F F

The only way we dont satisfy the clause is if we

select the last assignment. This happens only

1/8th of the time.