Instructor: Professor Amin Saberi ([email protected])
February 11, 2010
Lecture 12: Approximation Algorithms I
In the last lecture, we categorized the problems in terms of their complexity. We deﬁned classes
P
,
NP
,
and CoNP and proved
P
⊆
NP
; similarly we have
P
⊆
Co

NP
; however it has been conjectured that
P
⊂
NP
∩
Co

NP
. Problems such as computing Nash equilibrium of a game and graph isomorphism
belong to
NP
∩
Co

NP
, however, there is no polynomialtime algorithms known for these problems.
Question:
What do we do if the problem we wish to solve is intractable?
Answer:
There are 3 basic approaches:
•
Exploit special problem structure: perhaps we do not need to solve the
general
case of the problem
but rather a tractable special version,
•
Heuristics: procedures that hopefully give reasonable estimates but for which there are no proven
results,
•
Approximation algorithms: procedures which are proven to give solutions within a factor of the opti
mum.
In this lecture, we will focus on the last approach.
Deﬁnition:
An algorithm is a factor
α
approximation for a problem iﬀ for
every
instance of the problem
it can ﬁnd a solution within factor
α
of the optimum solution.
If the problem at hand is a minimization then
α >
1 and it implies that the solution found by the algorithm
is at most
α
times of the optimum solution. But if the problem is a maximization,
α <
1 and it guarantees
that the suboptimal solution is at least
α
times the optimum.
For the rest of this lecture, when we talk about an optimization problem, we mean a minimization.
One of the most diﬃcult challenges in the analysis of approximation algorithms is to ﬁnd a
lower bound
of
value of the optimal solution.
Example: (Minimum Vertex Cover)
Given a graph
G
(
V,E
), ﬁnd a subset
S
⊆
V
with minimum
cardinality such that every edge in
E
has at least one endpoint in
S
.
Algorithm 1
2Approximation for Vertex Cover
Find a maximal matching
M
in
G
.
Output the endpoints of edges in
M
.
Claim 1
The solution of the previous algorithm is feasible.
Proof:
We prove this by contradiction: suppose there exists an edge
e
= (
v,u
) such that
v /
∈
V
M
and
u /
∈
V
M
, where
V
M
=
{
v
1
,v
2
,...,v
2

M

}
are the vertices that are end points of edges of
M
; Since
e
does ont
share an endpoint with any of the vertices in
M
,
M
∪ {
e
}
is a larger matching, which is contradicting with
M
being a maximal matching.
Lemma 1
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview. Sign up
to
access the rest of the document.
 Winter '09
 Optimization, Greedy algorithm, Travelling salesman problem, Approximation algorithm

Click to edit the document details