Report

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 2 8 3 4 5 C = (G,T) 7 4 6 7 8 9 0 3 0 1 4 2 3 2 5 6 9 Complexity of c-planarity testing 5 7 1 6 c-connected: O(|V|) [Dahlhaus 98] non c-connected: P? NP? open for ~20 years… 8 9 markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 Complexity for special cases 3 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? markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 Flat & Embedded 4 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? 0 3 1 4 2 5 7 6 8 9 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] markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 Saturators 5 (Well known) idea: Flat embedded clustered graphs 1. Each node starts within its own cluster region. 2. Merge cluster regions along edges within the same cluster. Step 2 is rather trivial to do in polynomial time… 0 1 2 Y 3 4 5 6 7 10 Observe No nodes of same cluster are adjacent after Step 2. 8 X 9 markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 Saturators 6 (Well known) idea: Flat embedded clustered graphs 1. Each node starts within its own cluster region. 2. Merge cluster regions along edges within the same cluster. 3. 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 5 6 7 8 X markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 Saturators 7 (Well known) idea: Flat embedded clustered graphs 1. Each node starts within its own cluster region. 2. Merge cluster regions along edges within the same cluster. 3. 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 5 6 7 8 X markus . chimani @ uni - osnabrueck . de Aim For each cluster, pick a spanning tree from its con-edges, s.t. the different spanning trees do not cross. C-Planarity @ Flat Embedded Graph Drawing 2014 Saturators 8 (Well known) idea: Flat embedded clustered graphs 1. Each node starts within its own cluster region. 2. Merge cluster regions along edges within the same cluster. 3. 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 5 6 7 8 X markus . chimani @ uni - osnabrueck . de Aim For each cluster, pick a spanning tree from its con-edges, s.t. the different spanning trees do not cross. C-Planarity @ Flat Embedded Graph Drawing 2014 Single-conflict graph 9 “Single conflict graph” If every con-edge is involved in at most one crossing, the problem is polynomial time solvable [Di Battista, Frati 09] 1 2 Y 5 6 7 8 X So, this is not the case here… markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 2 vertices per cluster on each face 10 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 f markus . chimani @ uni - osnabrueck . de i C-Planarity @ Flat Embedded Graph Drawing 2014 Not c-planar… 11 Here: By simple deduction, this graph is not c-planar g k b d l k a e h Our algorithm Automatically find a chain of deduction arguments to answer the fc-planarity question. markus . chimani @ uni - osnabrueck . de j c i C-Planarity @ Flat Embedded Graph Drawing 2014 Algorithm – Overview Sequence of 12 4 Tests (detect non-c-planarity) and 8 Simplifications (shrink instance) (1) if each remaining con-edge has at most one crossing then return ALGORITHMFORSINGLECONFLICT [Di Battista, Frati 09] (2) if Test1 = true then return “non-c-planar” (3) if Simpl1 applicable then perform Simpl1 & goto (1) (4) if Test2 = true then return “non-c-planar” (5) if Simpl2 applicable then perform Simpl2 & goto (1) (6) if Simpl3 applicable then perform Simpl3 & goto (1) (7–12) … (13) perform Simpl8 & goto (1) //always applicable of we got that far markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 Algorithm – Details 13 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 a c d b • Simplification. Bridge in A[] Merge vertices g a b g e c a d e cd f markus . chimani @ uni - osnabrueck . de b f C-Planarity @ Flat Embedded Graph Drawing 2014 Algorithm – Details 14 The next ones aren’t too hard either, e.g. • Test. Cyclic crossing sequence of odd length. r G o g O R markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 Algorithm – Details 15 The final ones are harder and more cumbersome – but interesting, e.g. • Simplifications 6–8. “-donut” “spokes” Simplification 6: If isomorphic conflicting structures at two spokes remove one of the spokes and pick the crossing edges markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 Algorithm 16 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 face correctly in polynomial time. Thank you markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 The road ahead… 17 What’s the problem with more vertices of the same cluster on a common face? markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 The road ahead… 18 What’s the problem with more vertices of the same cluster on a common face? markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 The road ahead… 19 What’s the problem with more vertices of the same cluster on a common face? markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 The road ahead… 20 What’s the problem with more vertices of the same cluster on a common face? markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014 The road ahead… 21 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 markus . chimani @ uni - osnabrueck . de C-Planarity @ Flat Embedded Graph Drawing 2014