Title: Conventions
1Conventions
- Red edges traversed tree edges
- White edges back edges
- Dotted edges paths
- C-node double circle
2outlines
- A linear time planarity test by PC-Tree (SH
planarity test) - Finding Maximal Planar Sub-graph by PC-Tree
(Defered planarity test)
3SHs Planarity Test
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, v is a full node
of the i-component. Otherwise, v is a partial
node of the i-component. - Those unmarked nodes of Ti are said to be empty
node. For a node v of an i-component, if it is
partial and has a 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
a 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, for every
i-component (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 not
added into the given graph in reality.
i
u
u'
12All essential nodes must be on a path (I)
- When essential nodes are more than one path, we
have a forbidden Kuratowski subgraph
t
Case 1
i
w
t
i
i1
i3
i2
w
K3,3
i1
i3
i2
13All essential nodes must be on a path (I)
Case 2
t
i
t
i3
i3
i
w
i1
i2
K5
i1
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
16How do we construct a data structure to
maintain a partial terminal path?
- 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.
17BFS-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
18The child BFS-subtrees when t is a C-node?
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
Children of t should be children of the C-node
19Revisit Theorem 1
- Theorem 1 is satisfied if
- (1) all essential nodes are on a path of the
traversed subtree and (2) full subtrees can be
permuted to the inner face and empty subtrees can
be permuted to the outer face.
20Deferred Planarity Test
21Our Strategy
- Traverse the graph through back edges (BET).
- Keep the components 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 correct
permutation).
22Back Edge Traversal Again
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 as an essential
node, if it is first touched by a BET at some
iteration j
23Artificial Edges (AE)
j
i
tb
ta
tc
a
b
c
t
tc The back edges to i
A candidate boundary path (BP) is the path
consisting of concrete and artificial edges in an
i-component connecting two essential nodes.
24The terminal path
- There exists a path on the traversed subtree s.t.
all essential nodes are on the path provided - (i) The first node t could has at most two
child on the path (Lemma 1) and - (ii) If a node f is on the path, at most one
child of f is on the path. (Lemma 2)
25Lemma 1
At most two child of t are on the terminal path
k
i
k
i
t
CP1
CP2
CP3
e
c
d
c
d
e
t
26When two children of t are on the terminal path
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.
27Lemma 2 (I)
- If a node f is on the path, at most one child of
f is on the path.
k
k
i
i
t
d
d
c
c
f
f
c
f
i
k
d
f
t
c
d
i
k
28Lemma 2 (II)
- If f is a C-node, a node of the td becomes an
essential node, then the intermediate candidate
BP should be embedded inside.
j
q
i
p
d
f
c
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 candidate BP of the boundary C-nodes
can be flipped outside. (Lemma 3) - Once a candidate BP is flipped outside, embed the
others. (Lemma 4)
30Not every candidate BP of a C-node can be flipped
outside (I).
- 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
d
e
x
a
c
c
t
31Not every candidate BP of a C-node can be flipped
outside (II).
- Otherwise, there is a K3,3.
32Shaving the C-nodes (Lemma 3)
- Shaving delete the intermediate children of a
C-node. - By Lemma 3, we should perform the shaving
operation when we construct the BFS-tree.
j
i
t
33Lemma 4 (I)
- If there is a node in the BP c-e is traversed at
iteration j (jgti), all the other BPs of x should
be embedded inside.
j
i
e
c
c
t
34Lemma 4 (II)
j
q
i
p
d
e
t
35Lemma 4 (III)
j
j
i
i
b
d
b
d
e
e
x
x
a
a
c
c
t
t
36A 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
37Recursive elimination of boundary C-nodes
a2
a1
b2
b1
38Summay
- At iteration j, the BET visits a node t.
- If node t is not defined in a C-node
- If t is a P-node of a j-component, the BET stops.
- If t is a P-node of a i-component (j gti), create
the partial embedding of the i-component from t.
t? i. - If node t is already defined in some C-node
- Find the hierarchy of the C-nodes and update the
C-nodes. - If the top-tier C-node w is C-node of a
j-component, the BET stops. - If the top-tier C-node w is a C-node of a
i-component (jgti), create the partial embedding
of the i-component from w. Update the C-node w.
t? i. - Use the new t to continue the traversal until j
is visited.
39The Linear Time Implementation
40Parallel Search In SH Algorithm
Parallel Search from the entering node
Note that, the root node r is never embedded
outside
i
One of the neighbors of i must be embedded
inside. After the traversal, of nodes to be
embedded inside is ? the smaller half of the
boundary cycle
41Parallel Search In DPT
Parallel Search from the entering node
essential nodes
sentinel nodes
The artificial edges
The AE traversal
The boundary traversal
42Case 1 in Parallel Search
- Parallel Search Starts from a node on the
boundary. (Same as Parallel Search in SH)
43Case 2 in Parallel Search
- Parallel Search Starts from a AE on the boundary.
44How 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