Markus Chimani, Giuseppe Di Battista, Fabrizio Frati and Karsten

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