Title: S
1SHs Planarity Test
2outlines
- A linear time planarity test by PC-Tree (SH
planarity test) - Finding Maximal Planar Sub-graph by PC-Tree
(Defered planarity test)
3Conventions
- Red edges traversed tree edges
- White edges back edges
- Dotted edges paths
- C-node double circle
4Preprocessing the DFS Tree
7
9
8
6
2
5
1
4
3
- DFS Scan the Graph. The edges of G are split
into tree edges and back edges. (Reminder
Those non-tree edges connect vertices with their
ancestors.) - Label the Vertices According to a Post-Order
Traversal of the DFS-Tree - Keep a List of Back-Vertices, Sorted in Ascending
(Post-)Order
4
4
A back edge (4, 1) is defined by a vertex 1 to
one of its ancestors 4, which are referred to as
the back-ancestor of 1. 1 is called the
back-descendant of 4.
O
X
3
3
2
2
1
1
5Back Edge Traversal (BET)
At iteration i, 1?i?n, the traversal is from node
i via all back edges connecting i to its
back-descendants and then through the tree edges
of the PC-tree T back to node i. The BET stops
if a node marked at the same iteration has
already been visited.
i
i
g
f
stop
g
f
d
e
d
e
b
b
a
stop
a
stop
c
c
t
stop
t
6The i-component
- For a traversed child r of i, let the traversed
subtree rooted at r be Tr(vr,er) and Tr,i
Tr?(r, i). (Red Edges) - The back edges from the nodes of Tr,i to node i
is denoted by ßr,i. (White Edges) - The bi-connected subgraph Br,iTr,i?ßr,i is
called an i-component.
7Full-Partial Labeling (i)
- One can change the root of Tr from r to a node s
- For a fixed root s, a node v of Tr is said to be
full w.r.t s if all nodes of Tv are marked and no
nodes has a back edge gti partial w.r.t s if it
is not full. - For a node v of an i-component, if there is a
rooting s.t. a node v is full, then v is a full
node. Otherwise, v is partial. - Those unmarked nodes of Ti are said to be empty
node. If a partial node v has an empty children,
it is said to be an essential node.
8Full-Partial Labeling (ii)
i
i
r
g
g
f
t
d
e
b
b
c
e
r
f
d
c
t
Partial Nodes
Full Nodes
Node f, t, c and e are the essential nodes.
9The Terminal Path
If there is a path in Tr,i connecting all
essential nodes, the path is called the terminal
path. The two end nodesof the terminal path is
called the terminal nodes
i
g
f
d
e
b
a
c
t
Node f and e are the two terminal nodes. If there
is a planer embedding, node i and the partial
nodes are the nodes should be placed on the
boundary.
10Inner Face and Outer Face
The Outer Face
i
The Inner Face
u
u'
If two artificial edges are added from the two
terminal nodes to node i, the cycle shall divide
the plane into two faces.
One is bounded, called the inner face.
The other is unbounded, called the outer face.
11Theorem 1
A graph is planar if and only if, at every
iteration i (1?i?n), there exists a terminal
path such that all full subtrees can be permuted
to lie on the inner face, and all empty subtrees
to lie on the outer face without violating the
cyclic order of any C-node.
The two artificial edgesare used only for
defining inside and outside faces. They are
temporarily added to the given graph in reality.
i
u
u'
12There are at most 2 terminal nodes (I) If there
are more than 2 terminal nodes, we have a
Kuratowski subgraph
Case 1. The three terminal nodes are on the
boundary of a C-node w
t
i
t
i3
i
w
i1
i2
K5
i1
i2
13There are at most 2 terminal nodes (II)
Case 2. Otherwise
t
i
w
t
i
i1
i3
i2
w
K3,3
i1
i3
i2
14Transforming a 2-connectedcomponent into a C-node
i
g
f
d
e
b
a
c
t
15In MPS, one cannot use the information of future
back edges at each iteration
- Cannot determine all essential nodes
- Cannot determine all terminal nodes
- Cannot compute complete separating paths
Delayed Planarity Test Determine everything
partially as much as we can
16Revisit Theorem 1
- Theorem 1 is satisfied if
- (1) There is a terminal path for every
i-component and (2) full subtrees can be
permuted to the inner face and empty subtrees can
be permuted to the outer face.
17Deferred Planarity Test
18Our Strategy
- Traverse the graph through back edges (BET) one
by one. - Keep the components (or edges) traversed at
iteration i and leave the determination of the
essential nodes at later iterations. - For an i-component, use a BFS-tree to manage the
partial planar embedding. - Theorem 1 should always be satisfied in the
traversed subgraph (The terminal path The
permutation).
19Creation of a C-Node for i-component at the j-th
iteration
i
Competition
20Another view
j
i
Which part should stay outside?
21How do we construct a data structure to
maintain the component and a partial terminal
path?BFS-Tree
- Start with any essential node on the path and
grow a tree from this node - This tree should contain all traversed edges in
Tr. - This tree is called the BFS-Tree .
22Back Edge Traversal Again An alternative view
j
i
r
i
g
t
r
b
c
e
g
t
f
d
b
c
e
f
d
A node of an i-component is said to be an
essential node, if it is encountered by a BET at
some iteration j (j gti).
23BFS-Tree
Suppose we have an essential node t. One can
change the root from r to t
i
r
g
i
t
g
b
c
e
r
e
f
d
d
f
b
c
t
Tr is called the BFS-tree of Br,i after changing
the root to the first essential node t simply
because breadth-first search (BFS) is used to
change the parent point of the nodes of Tr.
24Artificial Edges
j
i
i
tb
ta
tc
a
b
c
c
t
tc The back edges to i
A boundary path (CP) is the path consisting of
concrete and artificial edges in an i-component
connecting two essential nodes.
25Artificial Edges
j
j
i
i
tb
ta
tc
a
a
b
b
c
c
t
t
A boundary path (BP) is the path consisting of
concrete and artificial edges in an i-component
connecting two essential nodes.
26The Terminal Paths
- No matter how the essential nodes are selected.
There is a terminal path, if the following two
criterions are satisfied. - (i) At most two BFS-subtrees of node t contain
the essential nodes. - (ii) For a node v (v?t), at most one of its
BFS-subtrees contains the essential nodes.
27The Terminal Path
- One can never find the terminal path under the
two cases.
i
i
g
g
f
f
d
e
d
e
b
b
r
r
c
c
t
t
(ii) Two of vs (v?t) BFS-subtrees contains the
essential nodes.
(i) Three BFS-subtrees of node t contain the
essential nodes.
28At most two children of node t in the BFS-tree is
on the terminal path.(1/2)
j
i
i
r
g
f
d
e
g
t
b
r
b
c
e
c
t
f
d
A node will be embedded inside if all future back
edges accessible to the node are deleted.
29Correct Permutation
- Full subtrees can be permuted to the inner face
when empty subtrees can be permuted to the outer
face. - Since the neighbors of a P-node can be
arbitrarily arranged, this is trivial - We only need to take care of the cyclic order of
C-nodes on the boundary. - Not every BP of the boundary C-nodes can be
flipped outside. (Shaving Lemma 3) - Once there is a BP should be flipped outside,
embed the others. (Lemma 4 and 5)
30Shaving for C-nodes (1/4) Every C-node in the
BFS-tree has two children
- Lemma 3. For a C-node x of an i-component whose
BFS-Parent is c, no matter how x is flipped, the
BPs of x which not ended at c can never have a
node visited after iteration i.
j
i
b
t
31Shaving for C-nodes (2/4) Every C-node in the
BFS-tree has two children
j
j
j
i
i
i
g
r
f
f
d
e
d
e
g
b
e
c
r
b
b
c
d
c
f
t
Shaving the root C-node Children of t should be
children of the C-node
32Shaving for C-nodes (3/4) Every C-node in the
BFS-tree has two children
j
i
t
33Shaving for C-nodes (4/4) Every C-node in the
BFS-tree has two children
- After shaving, either c-d flipped outside or c-e
flipped outside.
i
i
t
t
34How Many Different Ways can We Embed the paths
from j to a component of i
j
i
j- essential nodes
35Another view
j
i
Waiting for the next BET to decide
Which part should stay outside?
36Three Consecutive Traversals i, j and k to the
boundary of a component of i
k
j
Consider the next iteration k that we revisit the
same boundary of a component of i
The region to be embedded inside
The region to be embedded inside
i
j- essential nodes The delimiters
The critical segment
37Deleting an old C-node (of i) and creating a new
one (for j)
Traverse to an existing C-node for i, delete it
and create a new C-node for j
The region to be embedded inside
38When should one of the two CPs be flipped outside
(1/2)
- There is a new essential nodes in BFS-subtree te
(Lemma 4)
j
i
full
Empty?
illegal
t
39When should one of the two CPs be flipped outside
(2/2)
- When c-e is encountered earlier than c-d, then
c-e should be flipped outside (Lemma 5)
j
i
Empty?
illegal
An empty subtree
t
40Lemma 5
j
j
i
i
b
d
b
d
e
e
x
x
a
a
c
c
t
t
41The Hierarchy of C-nodes
A node wq is said a proper contained by a C-node
wp (denoted as wpgtwq), if the node wq is exactly
on the traversed subtree of the component shrunk
into wp.
w1
w2
An essential node for w1
w3
t
42Parallel Search In DPT
Parallel Search from the entering node
essential nodes
sentinel nodes
The artificial edges
The AE traversal
The boundary traversal
43Case 1 in Parallel Search
- Parallel Search Starts from a node on the
boundary. (Same as Parallel Search in SH)
44Case 2 in Parallel Search
- Parallel Search Starts from inside an artificial
edge on the boundary.
45Merging C-nodes in the hierarchy
a2
a1
b2
b1
46Future Essential nodes are consecutive
47Future Essential nodes are consecutive
Group the set of essential nodes on each C-node
by iteration
A region of essential nodes
Pk
Pm
Pk
Pm
Pk
Pm
Pk
48How many times can an edge be traversed?
An edge embedded inside
A tree edge
An edge embedded inside
A boundary link
Buried in an AE
A boundary link
An edge embedded inside
An edge embedded inside