210 likes | 293 Views
Advances on Testing C-Planarity of Embedded Flat Clustered Graphs. Markus Chimani ( Osnabrück University) Joint work with Guiseppe Di Battista (University Roma Tre) Fabrizio Frati (University of Sydney) Karsten Klein ( Monash University). Clustered Planarity (C-Planarity). 0. 1. 2.
E N D
Advances on Testing C-Planarity of Embedded Flat Clustered Graphs Markus Chimani (Osnabrück University) Joint work withGuiseppe Di Battista(University Roma Tre) FabrizioFrati(University of Sydney) Karsten Klein(Monash University)
Clustered Planarity (C-Planarity) 0 1 2 8 3 C = (G,T) 4 5 7 4 7 6 8 9 0 1 3 2 5 6 9 0 1 Complexity of c-planarity testing c-connected:O(|V|) [Dahlhaus 98] non c-connected:P? NP? open for ~20 years… 2 3 4 5 7 6 8 9
Complexity for special cases Polynomial cases… • C-connected [Feng et al. 95], [Dahlhaus 98] • Completely c-connected [Cornelsen, Wagner 06] • Almost c-connected [Gutwenger et al. 02] • Extrovert [Goodrich et al. 05] • “Cycles of Clusters” [Cortese et al. 05] • and many more… Unfortunately, most cases are very restricted and/or unnatural… Complexity even unknown for natural, seemingly simple subcases… • What if G is already embedded? • What if the cluster hierarchie is flat, i.e, only one level of clusters? • What if both?
Flat & Embedded • Now: Flat embedded clustered graphs • One level of clusters (= no nested clusters) • G is embedded. • Does there exist a drawing of the cluster regions such that the resulting drawing is c-planar? • Known polynomial subcases: • Maximum face-size at most 5 or “single conflict” graph [Di Battista, Frati 09] • At most two components per cluster-induced graph [Jelinek et al. 09] • Clustered cycles: 3 clusters [Cortese et al. 05], 3 vertices/cluster [Jelinkova at al. 09] 0 1 2 3 4 5 7 6 8 9
Saturators (Well known) idea: Flat embedded clustered graphs Each node starts within its own cluster region. Merge cluster regions along edges within the same cluster. Step 2 is rather trivial to do in polynomial time… 0 1 2 Y ObserveNo nodes of same cluster are adjacent after Step 2. 3 4 5 6 7 10 8 9 X
Saturators (Well known) idea: Flat embedded clustered graphs Each node starts within its own cluster region. Merge cluster regions along edges within the same cluster. Merge cluster regions of same cluster by addingconnectivity-establishing edges (con-edges) Saturator Step 2 is rather trivial to do in polynomial time… …but how to choose the con-edges in Step 3? 1 2 Y 5 6 7 8 X
Saturators (Well known) idea: Flat embedded clustered graphs Each node starts within its own cluster region. Merge cluster regions along edges within the same cluster. Merge cluster regions of same cluster by adding connectivity-establishing edges (con-edges) Saturator Step 2 is rather trivial to do in polynomial time… …but how to choose the con-edges in Step 3? 1 2 Y AimFor each cluster, pick aspanning tree from itscon-edges, s.t. the differentspanning trees do not cross. 5 6 7 8 X
Saturators (Well known) idea: Flat embedded clustered graphs Each node starts within its own cluster region. Merge cluster regions along edges within the same cluster. Merge cluster regions of same cluster by adding connectivity-establishing edges (con-edges) Saturator Step 2 is rather trivial to do in polynomial time… …but how to choose the con-edges in Step 3? 1 2 Y AimFor each cluster, pick aspanning tree from itscon-edges, s.t. the differentspanning trees do not cross. 5 6 7 8 X
Single-conflict graph “Single conflict graph”If every con-edge is involved in at most one crossing, the problem is polynomial time solvable [Di Battista, Frati 09] So, this is not the case here… 1 2 Y 5 6 7 8 X
2 vertices per cluster on each face Our restriction: At most two vertices per cluster on each face.(“Single-conflict” graphs are a subset of those graphs) g k b d l k a e h j c i f
Not c-planar… Here: By simple deduction, this graph is not c-planar g k b d l k a e h j c Our algorithm Automatically find a chain of deduction arguments to answer the c-planarity question. i f
Algorithm – Overview Sequence of 4Tests(detect non-c-planarity) and 8Simplifications(shrink instance) • if each remaining con-edge has at most one crossing then returnALGORITHMFORSINGLECONFLICT[Di Battista, Frati 09] • ifTest1 = true then return“non-c-planar” • ifSimpl1 applicable then perform Simpl1 & goto(1) • ifTest2= true thenreturn“non-c-planar” • ifSimpl2applicable then perform Simpl2 & goto(1) • ifSimpl3applicable then perform Simpl3 & goto(1) (7–12) … • perform Simpl8 & goto(1) //always applicable of we got that far
Algorithm – Details Let A[] the multigraph of all con-edges for cluster . The first couple of tests & simplifications are trivial, e.g. • Test. Disconnected A[] No spanning tree non-c-planar • Simplification. Bridge in A[] Merge vertices a c d b g g b b a e a e c d cd f f
Algorithm – Details The next ones aren’t too hard either, e.g. • Test. Cyclic crossing sequence of odd length. r G o g O R
Algorithm – Details The final ones are harder and more cumbersome – but interesting, e.g. • Simplifications 6–8.“-donut” Simplification 6: If isomorphicconflicting structures at two spokes remove one of the spokes and pick the crossing edges “spokes”
Algorithm Wrapping up Eventually (after several applications of the various simplifications),all -donuts vanish. • No con-edges with multiple crossings anymore • Single-conflict graph solvable in polynomial time. Since each test and simplification requires only polynomial time: Theorem. The above algorithm decides c-planarity for flat embedded clustered graphs with at most two vertices per cluster on each facecorrectly in polynomial time. Thank you
The road ahead… What’s the problem with more vertices of the same cluster on a common face?
The road ahead… What’s the problem with more vertices of the same cluster on a common face?
The road ahead… What’s the problem with more vertices of the same cluster on a common face?
The road ahead… What’s the problem with more vertices of the same cluster on a common face?
The road ahead… What’s the problem with more vertices of the same cluster on a common face? Anyhow… is it possible to always deal with richer faces efficiently? Thank you