CS 473: Algorithms, Fall 2010
HW 10 Solution
1. (25 pts) Recall the minimum dominating set problem that you solved on trees in a previous
homework. Let
G
= (
V
,
E
)
be an undirected graph. A subset
S
⊆
V
of nodes in
G
is called a
dominating set
if for all
v
∈
V
,
v
∈
S
or there is some node
u
∈
S
such that
(
u
,
v
)
∈
E
. In other
words every node in
V
\
S
is connected by an edge to some node in
S
. The decision version of the
minimum dominating set problem is the following: given a graph
G
and integer
k
, does
G
have a
dominating set of size at most
k
? Prove that this problem is NPComplete.
Hint:
Use a reduction
from Set Cover.
Solution:
The Covering Set Problem is known as the Dominating Set Problem. The name was
changed in hope that Google won’t give you the solution!
To prove that the problem is NPhard.
We will give the reduction from Set Cover to Dominating Set and a sketch of the proof. Consider
U
,
S
1
,
S
2
,...,
S
m
,
k
be an instance of Set Cover. Let
n
=
U
. We can assume without loss of
generality that every element
j
∈ U
is contained in at least one of the given sets. The reduction
creates a graph
G
from this instance as follows. First we create a bipartite graph
(
L
,
R
,
E
)
as
suggested in the hint. The left side
L
has one vertex
u
i
for each set
S
i
in the set cover instance,
therefore

L

=
m
. The right side
R
has one vertex
v
j
for each element
j
∈ U
. Thus

R

=
U
=
n
.
We add an edge
(
u
i
,
v
j
)
to
E
if elment
j
in
U
belongs to the set
S
i
, that is if
j
∈
S
i
. The graph
G
has two more vertices
r
,
r
0
added to the graph
(
L
,
R
,
E
)
. Connect
r
by an edge to each set vertex
u
i
in
L
. Connect
r
0
only to
r
.
Now we claim that the given Set Cover instance has a set cover of size
k
if and only if
G
has
a dominating set of size
k
+
1. The only if direction is usually the easy direction. Suppose there
is a set cover consisting of
‘
≤
k
sets
S
i
1
,
S
i
2
,...,
S
i
‘
. We claim that that
{
r
,
u
i
1
,
u
i
2
,...,
u
i
‘
}
is a
dominating set in
G
of size
‘
+
1. To see this, observe that
r
covers
r
0
and all the set vertices in
L
.
The vertices
u
i
1
,...,
u
i
‘
cover all the element vertices in
R
. (Why?).
The slightly more tricky direction is to prove that if
G
has a dominating set of size at most
k
+
1,
then the original set cover instance has a set cover of size at most
k
. To prove this we ﬁrst show
the following. Given any dominating set
X
in
G
of size
t
, there is a dominating set
Y
in
G
of size
at most
t
such that
Y
=
{
r
}∪
A
where
A
⊆
L
(
Y
does not contain any vertices from
R
). Suppose
this were true. Then, if
G
has a dominating set of size at most
k
+
1 then it has a dominating set
Y
of size at most
k
+
1 such that
Y
=
{
r
}∪
A
where
A
⊆
L
. Note that

A
 ≤
k
if

Y
 ≤
k
+
1. Let
u
i
1
,
u
i
2
,...,
u
i
‘
be the vertices in
A
. Then we claim that
S
i
1
,
S
i
2
,...,
S
i
‘
is a set cover for
U
. (Why?).