S - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

S

Description:

... essential node, if it is encountered by a BET at some iteration j (j i) ... Waiting for the next BET to decide. 36 /48. j- essential nodes. The delimiters ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 49
Provided by: IASL
Category:
Tags:

less

Transcript and Presenter's Notes

Title: S


1
SHs Planarity Test
2
outlines
  • A linear time planarity test by PC-Tree (SH
    planarity test)
  • Finding Maximal Planar Sub-graph by PC-Tree
    (Defered planarity test)

3
Conventions
  • Red edges traversed tree edges
  • White edges back edges
  • Dotted edges paths
  • C-node double circle

4
Preprocessing 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
5
Back 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
6
The 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.

7
Full-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.

8
Full-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.
9
The 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.
10
Inner 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.
11
Theorem 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'
12
There 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
13
There are at most 2 terminal nodes (II)
Case 2. Otherwise
t
i
w
t
i
i1
i3
i2
w
K3,3
i1
i3
i2
14
Transforming a 2-connectedcomponent into a C-node
i
g
f
d
e
b
a
c
t
15
In 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
16
Revisit 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.

17
Deferred Planarity Test
18
Our 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).

19
Creation of a C-Node for i-component at the j-th
iteration
i
Competition
20
Another view
j
i
Which part should stay outside?
21
How 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 .

22
Back 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).
23
BFS-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.
24
Artificial 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.
25
Artificial 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.
26
The 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.

27
The 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.
28
At 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.
29
Correct 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)

30
Shaving 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
31
Shaving 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
32
Shaving for C-nodes (3/4) Every C-node in the
BFS-tree has two children
  • Shaving all the C-nodes

j
i
t
33
Shaving 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
34
How Many Different Ways can We Embed the paths
from j to a component of i
j
i
j- essential nodes
35
Another view
j
i
Waiting for the next BET to decide
Which part should stay outside?
36
Three 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
37
Deleting 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
38
When 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
39
When 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
40
Lemma 5
j
j
i
i
b
d
b
d
e
e
x
x
a
a
c
c
t
t
41
The 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
42
Parallel Search In DPT
Parallel Search from the entering node
essential nodes
sentinel nodes
The artificial edges
The AE traversal
The boundary traversal
43
Case 1 in Parallel Search
  • Parallel Search Starts from a node on the
    boundary. (Same as Parallel Search in SH)


44
Case 2 in Parallel Search
  • Parallel Search Starts from inside an artificial
    edge on the boundary.


45
Merging C-nodes in the hierarchy
a2
a1
b2
b1
46
Future Essential nodes are consecutive
47
Future 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
48
How 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
Write a Comment
User Comments (0)
About PowerShow.com