Professional Documents
Culture Documents
Gujrat Campus
Approximation Algorithms
(Chapter-35 Cormen)
Compiled by
Background
Heuristic techniques for solving optimization
problems in an approximate way have always been
used throughout the history of computing.
1
Background
Some problems:
Definition
2
Introduction
An algorithm which solves a problem approximately.
Introduction
For an NP-hard problem, an algorithm could be 2 of:
3
Introduction
Suppose we have a problem P (likely -hard, though not
necessarily so).
Performance
Performance of these algorithms are measured:
4
Performance
s-optimum solution
Performance
Global Maximum
<1
>1
Global Minimum
10
5
Performance?
11
Examples
◼ Vertex Cover
◼ Maximum clique (impossible to approximate to
a constant factor)
◼ Bin Packing (approximated by arbitrary
factor)
Maximum Satisfiability (Does not applies)
◼ Steiner Tree and TSP
◼ Feedback Vertex Set
◼ Shortest Superstring
◼ Knapsack
◼ Euclidean TSP
Advance Algo-Fall 2019
12
12
6
VERTEX-COVER
13
VC Approximation Algorithm
◼ C
◼ E’ E
◼ while E’
◼ do let (u,v) be an arbitrary edge of E’
◼ C C {u,v}
◼ remove from E’ every edge incident
to either u or v.
◼ return C.
14
7
VC Approximation Algorithm: Demo
15
16
8
VC Approximation Algorithm: Goodness?
Observe the set of edges our algorithm chooses
No mutual vertices!
17
18
9
VC Approximation Algorithm: Goodness?
Where the size of our VC is only twice as big
19
Upper bound
◼ A little better (w/hard work) : 2-o(1)
Hardness results
◼ Previously: 7/6
20
10