CME 305: Discrete Mathematics and Algorithms
Instructor: Professor Amin Saberi ([email protected])
HW#3 – Due 03/04/11
1. Recall the
minimum vertex cover
problem: given a graph
G
(
V, E
) find a subset
S
*
⊆
V
with minimum cardinality such that every edge in
E
has at least one endpoint in
S
*
.
(a) Consider the following greedy algorithm. Find the highest degree vertex, add it
to the vertex cover
S
and remove it along with all incident edges. Repeat until
all no edges remain. Prove that this algorithm has an unbounded approximation
factor i.e. for any
c
there exists a graph
G
such that

S
 ≥
c
OPT.
(b) Prove that when the graph
G
is bipartite we can find the minimum vertex cover
in polynomial time. State your algorithm.
Solution:
(a) Consider a bipartite graph with partition (
A, B
). Let

A

=
n
and partition
B
into
n
disjoint sets
{
B
i
}
n
1
with

B
i

=
b
n/i
c
. Then

B

=
n
+
b
n/
2
c
+
b
n/
3
c
+
· · ·
+ 1 =
O
(
n
log
n
). For each vertex
a
∈
A
place an edge to a vertex
b
∈
B
k
such that each vertex in
B
k
has degree at least
k
. Repeat this for
k
= 1
,
2
, . . . , n
and note that this construction is possible since each

B
k
 ≤
n/k
.
Clearly, OPT for this graph is just

A

=
n
. But the algorithm will (depending
on how degree ties are broken) remove all vertices in
B
.
The approximation
ratio is ALG/OPT =
O
(
n
log(
n
))
/n
=
O
(log(
n
)) Since the ratio depends on
n
it is unbounded.
(b) Let (
A, B
) be the bipartite partitioning of the graph and
M
be the maximum
matching. The following definition is useful. A path
P
is called an
alternating
path
e
1
, e
2
, . . . , e
k
if and only if
e
i
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.
 Spring '09
 Vertex, vertex cover, independent set, Bipartite graph, minimum vertex cover

Click to edit the document details