Transcript review
Example Question on
Linear Program, Dual and
NP-Complete Proof
COT5405 Spring 11
Question
• Given an undirected connected graph G = (V,E)
and a positive integer k ≤ |V|.
• Two vertices u and v are connected if and only
if there exists at least one path from u to v.
• For all the possible vertex pairs, we want to
remove k vertices from G, so that
• the number of connected vertex pairs in the
resulting graph is minimized.
• We call it k-CNP (critical node problem)
Integer Program
• Variables:
– uij = 1 if vertex i and j are connected in the
resulted graph, otherwise uij = 0. Note uii = 1.
– vi = 1 if vertex i is removed, otherwise vi = 0.
• The objective function and 2 constraints
m in
1
2
u ij
i , j V
(i , j ) E , u i j vi v j 1
v
iV
i
k
vi
vj
uij
1
1
0
1
0
0
0
1
0
0
0
1
Leftover Connectivity
• Consider node pairs i and j, where (i,j) is NOT
an edge.
u ij u jh u hi 1, ( i , j , h ) V
h
i
j
Uij
Ujh Uhi
1
1
1
1
0
0
0
1
0
0
0
X
h
i
j
Final Formulation
LP relaxation
Dual
M in
c
j
X
M ax
j
j
s .t .
a
yb
i i
i
ij
X
j
bi
for all i
j
s .t .
ya
i
ij
cj
for all j
0
for all i
i
X
j
0
for all j
yi
M in
(
1 1 1 1
, , ,
2 2 2 2
1
2
)( u 1 2 u 1 3
u n 1, n ) '
n
2
s .t .
1
1
1
1
0
n
2
0
0
0
0
n
0
0
0
0
0 1
1
0
|E| rows
1
1
0
0
0
0
0
0 0
0
0
1
1
0
0
0
0
0
0 0
0
0
1
1
0
0
0
0
0
0 0
0
0
1
1
n
3 row s
3
0
0
0
0
0
0
0
0
0 1
1 row
u
12
u1 3
u 23
0
0
u
n 1, n
0
v1
vn
1
1
1
1
1
k
Ready to write dual
• How many constraints in Primal –
n
• How many constraints in Dual – 2
n
(3 | E | 1)dim ension in total
• Dual variable 3
n
3 | E | 1
3
– For the constraint on (i,j) belonging to E, define xij
– For the constraint on i,j,h belonging to V, define
yijh
– For the constraint on the aggregate vi, define z
M ax
(1,1,
, 1, 1, 1
, k )( x12
y123
z) '
n
3 | E | 1
3
s .t .
1
0
0
1
1
0
0
n
3
3
|E |
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
x
12
0
x13
0
y
123
y 312
1
y132
1
1
1
z
1
2
1
2
1
2
1
2
1
2
0
0
0
Final Dual
NP-Complete Proof
• Decision Version
– Given an undirected connected graph G and
positive integer k
– a value L<n(n-1)/2
– is there a set of k vertices, whose removal makes
the number of connected vertex pairs in the
resulting graph is at most L?
In NP
• Given such a set of k vertices,
• Remove them from the graph,
• Calculate the number of connected pairs using
DFS or BFS in polynomial time,
• Compare with L – Give answer: Yes or No
Is NP-hard
Reduction from Vertex Cover (VC)
• Instance of VC: given a graph G = (V,E) where
|V|= n, is there a vertex cover of size at most
k?
• Instance of k-CNP: on the graph G, is there a
set of k vertices whose removal makes the # of
connected pairs 0?
Is NP-hard
• Forward: If we can have a VC of size k --->
delete those k nodes ---> connectivity = 0
• Backward: If we can delete k nodes to make #
connections 0 --> no edges left -> vertex cover
of size k
NP-Completeness
• In NP
• NP-hard
• For an alternative proof, please refer to
A. Arulselvan et al, ``Detecting Critical Nodes In Sparse
Graphs’’, J. Computers and Operations Research, 2009.
http://plaza.ufl.edu/clayton8/cnp.pdf
Thank You
Q&A