The complexity of the matching-cut problem Maurizio Patrignani & Maurizio Pizzonia

Download Report

Transcript The complexity of the matching-cut problem Maurizio Patrignani & Maurizio Pizzonia

The complexity of the
matching-cut problem
Maurizio Patrignani & Maurizio Pizzonia
Third University of Rome
Overview
•
•
•
•
Application domain
Matching-cut problem
NAE3SAT reduction
Polynomial-time algorithm for seriesparallel graphs
• Conclusions
Three-dimensional orthogonal
grid drawings of graphs
A drawing of a K4 produced with the
Interactive algorithm (Papakostas and Tollis 1997)
The “split & push” approach
End of the drawing process
A simpler example
A bad choice of the cuts
“Fork”: two adjacent
edges cut by the split
A result that is not so nice
dummy node
representing
a bend
final bend
Bad VS good cuts
Reducing the number of edges
cut by each split
Reducing the forks
produced by the cuts
Details in: Di Battista, Patrignani, and Vargiu, "A Split&Push Approach to 3D Orthogonal
Drawing", Journal of Graph Algorithms and Applications, 2000
The matching-cut problem
A cut
A matching
A matching-cut
Matching-Cut Problem
Instance: A graph
Question: Does a set of edges exist, such that it is a cut
and a matching?
Previous work
• Recognizing “decomposable graphs” is NP-complete even
with graph of maximum degree 4, but it is polynomial for
graphs of maximum degree 3 (V. Chvátal, 1984)
• The problem remains NP-complete even restricting to
bipartite graphs of minimum degree two (A.M. Moshi,
1989)
• The problem remains NP-complete even restricting to
bipartite graphs with one color class of nodes of degree 4
and the other color class of nodes of degree 3
(V.B. Le and B. Randerath, 2001)
The NAE3SAT reduction
Not-All-Equal-3-SAT Problem
Instance: A set of clauses, each containing 3 literals from
a set of boolean variables
Question: Can truth values be assigned to the variables so
that each caluse contains at least one true literal
and at least one false literal?
x1
x3
x2
x2
x4
x3
x3
x4
x4
x1=false x2=true
x3=true x4=true
Construction
Observation: nodes joined by multiple edges
can not be separated by a matching-cut
false chain
true chain
Variable gadget
false chain
xi
xi
true chain
Variable gadget matching-cuts
false chain
xi
xi
false chain
xi
xi
false chain
xi
xi
true chain
true chain
true chain
Not allowed!
xi is true
(xi is false)
xi is false
(xi is true)
Clause gadget
For each clause
l
m
n
false chain
m
n
l
true chain
Clause gadget matching-cuts (1)
l
m
n
m
l
n
false false true
n
false true
false
n
false true
true
m
l
m
l
Clause gadget matching-cuts (2)
l
m
n
m
l
n
true
false false
n
true
false
true
n
true
true
false
m
l
m
l
Connecting to variable gadgets
Each node of the clause gadget that represents a literal is
connected with two edges to the corresponding literal of the
variable gadget
Example: x1
x3
x4
to x1
to x4
x3
x3
x3
x1
x4
An example of instance
A NAE3SAT instance may be: x1
x2
x3
The corresponding matching-cut instance is:
x2
x1
x1
x2
x2
x3
x3
x1
x3
A solution
A NAE3SAT solution to x1
x2
x3 is:
x1=true
x2=true
x3=true
The corresponding matching-cut solution is:
x2
x1
x3
x2
x1
x2
x3
x1
x3
Graphs of maximum degree four
Observation: each node of the construction has even degree
replace
each star
with a
“wheel”
Simple graphs
Observation: multiple edges occur only in pairs
replace each
pair of edges
with a triangle
Series-parallel graphs
A series-parallel graph has a source s and a sink t and can be
constructed by recursively applying the following rules:
s
t
Basic step: a single edge
between s and t is a
series-parallel graph
G(s,t)
Serial composition: starting
from G1(s1,t1) and G2(s2,t2),
obtain G(s1,t2) by identifying
t1 and s2
s1 = s2
t1 = t2
Parallel composition:
starting from G1(s1,t1) and
G2(s2,t2), obtain G(s1,t1)
by identifying sources and
sinks
s1
t1 = s2
t2
Parse tree construction
A parse tree can be constructed in linear-time describing a
sequence of operations producing the series-parallel graph.
series
edge
parallel
edge
edge
Non st-separating matching-cuts
We associate with each node of the parse tree two labels
describing the properties of the intermediate series-parallel
graph with respect to the existence of a matching-cut
Label 1 signals if a non st-separating matching cut exists in
the series-parallel graph
s
t
s
label 1
label 1
false
true
t
St-separating matching-cuts
Label 2 signals under which conditions the series-parallel
graph admits an st-separating matching-cut
s
label 2
s
0
t
s
t
label 2
s
s AND t
s
t
t
label 2
s
t
label 2
s
s OR t
t
label 2
label 2
1
t
Polynomial-time algorithm
Traverse the parse tree top-down and update the labels.
label 1
false
label 1
label 2
false
s
label 2
s AND t
series
label 1
false
edge
label 2
parallel
0
label 1
false
label 2
s AND t
label 1
edge
edge
false
label 2
s AND t
Conclusions and open problems
• We showed an interesting application domain for the
matching-cut problem in the graph drawing field
• We proved that the matching-cut problem is NP-complete
by using a reduction of the NAE3SAT problem
• The result can be extended to graphs of maximum degree
four and to simple graphs
• We produced a polynomial-time algorithm for seriesparallel graphs
• It is open whether the problem retains its complexity for
planar graphs