The complexity of the matching-cut problem Maurizio Patrignani & Maurizio Pizzonia
Download ReportTranscript 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