planarity testing and embedding

Post on 22-Feb-2016

74 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Planarity Testing And Embedding. By: Seyed Akbar Mostafavi Fall 2010. Outline. Planar Graphs Planarity Testing Theorems Kuratowski’s Theorem Demoucron’s Planarity Algorithms Euler Polyhedron Formula Nonplanarity of Kuratowski Graphs Minimum Degree Bound - PowerPoint PPT Presentation

TRANSCRIPT

PLANARITY TESTING AND EMBEDDING

By: Seyed Akbar MostafaviFall 2010

1

2

OUTLINE Planar Graphs Planarity Testing Theorems

Kuratowski’s Theorem Demoucron’s Planarity Algorithms Euler Polyhedron Formula Nonplanarity of Kuratowski Graphs Minimum Degree Bound

Definitions of Planarity Testing st-numbering Algorithm Bush Form and PQ-Tree Booth-Lueker Algorithm Embedding Algorithms

3

PLANAR GRAPHS A graph G(V,E) is called planar graph if it

can be drawn on embedded in the plane in such a way that the edges of the embedding intersect only at the vertices of G.

Example: K(4)

4

PLANAR GRAPHS Nonplanar Graph example: K(3,3)

5

PLANARITY TESTING Two classical approaches

Theorem of Kuratowski Characterizes planar graphs in terms of subgraphs

they are forbidden to have Based on the notion of homeomorphism Series insertion: replacement of an edge (u,v) of G by

a pair of edges (u,z) and (z,v) Series deletion: replacement of a pair of edges (u,z)

and (z,v) of G by a single edge (u,v) Hopcraft and Tarjan Algorithm

determines planarity in linear time and shows how to draw the graph if it is planar

6

KURATOWSKI’S THEOREM A graph G(V,E) is planar if and only if G

contains no subgraph homeomorphic to either K(5) or K(3,3)

Example: Petersen’s Graph

7

CONTRACTION FORM OF KURATOWSKI’S THEOREM Contraction: operation of removing an edge

(u,v) from a graph G and identifying the endpoints u and v (with a single new vertex uv) so that every edge originally incident with either u and v becomes incident with uv.

Graph (V,E) is said contractible to a graph (V,E) if can be obtained from by a sequence of contractions.

Theorem: A graph G(V,E) is planar if and only if G contains no subgraph contractible to either K(5) or K(3,3).

8

DEMOUCRON’S PLANARITY ALGORITHM Terminology

face of a planar representation: a planar region bounded by edges and vertices of the representation and containing no graphical elements in its interior.

R: a planar representation of a subgraph S of a graph G(V,E)

We try to extend R to a planar representation of G Constraints

Each component of G-R, being a connected piece of the graph, must, in any planar extension of R, be placed within a face of R.

Further constraint is observed by considering those edges connecting a component c of G-R to set of vertices W in R.

All the vertices W in R must lie on the boundary of a single face in R. Otherwise, c would have to straddle more than one face of R.

9

TERMINOLOGY (MORE) A part p of G relative to R is defined as

1) An edge (u,v) in E(G) – E(R) such that u and v or2) A component of G – R together with the edges (called

pending edges) that connect the component to the vertices of R.

Contact vertex of a part p of G relative to R is defined as a vertex of G – R that is incident with a pending edge of p

A planar representation R of a subgraph S of a planar graph G is planar extensible to G if R can be extended to a planar representation of G.

A part p of G relative to R is drawable in a face of R if there is a planar extension of R to G where p lies in f.

10

DEMOUCRON’S ALGORITHM Idea: we repeatedly extend a planar representation

R of a subgraph of graph G until either R equals G or the procedure becomes blocked in which case G is nonplanar.

1) We start by taking R to be an arbitrary cycle from G2) We then partition the remainder of G not yet

included in R into parts of G relative to R and apply drawability condition.

3) We identify those faces of R in which p is potentially drawable, a path q through p, and add q to R by drawing it through f in a planar matter.

4) Process is blocked only if we find some part that doesn’t satisfy the drawability condition for any face in which case R is not planar extensible to G.

11

DECOUCRON’S ALGORITHM PSEUDO-CODEFunction Draw (G, R)(* Returns a planar representation of G in R)Var G: Graph

R: Planar Representationp: PartP: set of Partf: FaceF: Set of FaceDraw: Boolean function

Set Draw to TrueSet R to some cycle in G

repeatSet P to the set of parts of R relative to Gfor each p in P do Set F(p) to the set of faces of R

in which p is drawableif F(p) is empty for any pthen Set Draw to False

12

DECOUCRON’S ALGORITHM PSEUDO-CODE

else if For some part p, F(p) contains only a single facethen Let f be the face in which p is drawableelse Let p be any part and let f be a face in F(p)

Let q be a path between a pair of contact vetices of p with R that contains only edges of pSet R to

until R = G or not DrawEnd_function_Draw

13

EXAMPLE OF CONSTRUCTION OF PATH

14

PLANAR GRAPH THEORY Theorem (Euler Polyhedron Formula).

Let G(V,E) be a connected planar graph and |F| denote the number of faces in a planar embedding of G. Then

Proof: induction on the number of edge

15

PLANAR GRAPH THEORY (CONT’) Theorem (Linear bound on |E|). If G(V, E) is a planar

graph, then

Proof: We let denote the number of edges bounding the face of some planar representation of G. Each face must contains at least 3 bounding edges. Therefore,

Since each edge borders exactly two faces, the summation counts each edges twice. Therefore,

Combining these results and using the Euler Polyhedron Formula, we obtain

16

PLANAR GRAPH THEORY (CONT’) Theorem (Nonplanarity of Kuratowski

Graphs). The graphs K(3,3) and K(5) are nonplanar.

Proof. Nonplanarity of K(5) follows by contradiction from the Linear Bound Theorem. For K(3,3), we argue as follows.

By Euler’s Theorem, |F| = |E| - |V| + 2 = 5. However, since every cycle in K(3,3) has at least four edges, similar to proof of Linear Bound Theorem, we would have

whence emulating the Linear Bound proof, we could conclude that so that , contrary to the previous lower bound of 5.

17

PLANAR GRAPH THEORY (CONT’) Minimum Degree Bound. If G(V,E) is a

planar graph, . Proof (by contradiction). Suppose that the

minimum degree of G is at least 6. then

Since the sum of the degrees is always 2|E|, it follows that |E| is at least 3|V|, contrary to the Linear Bound Theorem.

18

VERTEX ADDITION ALGORITHM Vertex Addition Algorithm is based on s-t

numbering, that assigns an index to each vertex.

Graph is represented by a set of n lists, called “adjacency lists” Adj(v)

The adjacency list of a vertex contains all its neighbors

An embedding of a graph determines the order of the neighbors embedded around a vertex.

A graph is planar if and only if all the 2-connected components are planar [Har72].

Corollary 1.1: ; otherwise the graph is nonplanar

From: Planar Graphs

19

DEFINITION OF S-T NUMBERING An st-numbering is numbering 1, . . . , n of

the vertices of a graph such that Vertices “1” and “n” are adjacent Every other vertex j is adjacent to two vertices i

and k such that Vertex “1” is the source s and vertex “n” the

sink t Every 2-connected graph G has an st-

numbering, and an algorithm given by Even and Tarjan finds an st-numbering in linear time.

20

DEPTH-FIRST SEARCH Start with arbitrary edge (t, s) Compute for each vertex its depth-first

number DFN(v), its parent FATH(v) and its lowpoint LOW(v)

LOW(v) = min({v} {w| there exists a back edge (u,w) such that

u is a descendant of v and w is an ancestor of v in a DFS tree T})

Definition( Lowpoint)

LOW(v) = min({v} {LOW(x)|x is a son of v} {w|(v,w) is a back edge}

21

DFS ALGORITHMProcedure DFS(G);

procedure SEARCH(v)

begin

mark v “old”;

DFN(v) := COUNT;

COUNT := COUNT + 1;

LOW(v) := DNF(v);for each vertex w on Adj(v)

do if w is marked “new”

then begin

add (v,w) to T

FATH(w):=v;

SEARCH(w);

LOW(v) := min{LOW(v) , LOW(w)}

end

else if w is not FATH(v)

then LOW(v) := min {LOW(v), DFN(w)}

end;

22

PARTITION EDGES TO PATHS Vertices s, t and edge (s, t) are marked “old”Case 1 There is a “new” back edge (v,w)

Mark (v,w) “old” Return vw

Case 2 There is a “new” tree edge (v,w) Let w w1 w2 . . .wk be the path to the lowpoint wk of v Mark vertices and edges on the path “old” Return v w w1 w2 . . .wk

Case 3 There is a “new” back edge (w, v) Let w w1 w2 . . .wk be the path going backward to an old

vertex wk Mark vertices and edges on the path “old” Return v w w1 w2 . . .wk

Case 4 All edges incident to v are “old” Return

23

ST-NUMBERING Special nodes: source s (“1”) and sink t (“n”)

“1” and “n” adjacent j V-{s,t}: i, k Adj(j)st(i)<st(j)<st(k)

So 2 must be next to 1and n-1 must be next to n

4 6

2

5

71

3

8

24

SOME ST-NUMBERING EXAMPLES

12

1

11

2

10

3

9

4

8

5

7

6

31

5

2

4

25

ST-NUMBERING

Theorem:Every biconnected graph has an st-numbering

Proof:We give an algorithm and show that it works if the graph is biconnected

Our graph is biconnected, so anst-numbering exists.

26

FINDING AN ST-NUMBERING

First step: standard DFS. Can visit children in any order Calculate and store per vertex:

Parent “Depth first search number:” DFN Low-point: the lowest DFN among nodes that can be

reached by a path using any amount of tree edges followed by 1 back edge

27

G

28

DFS

G

291

2

3

4

5

6 DFN

DFS

G

1

2

3

4

5

6DFN

1

1

1

1

3

3LOW

DFS

G

30

31

FINDING AN ST-NUMBERING

Push the vertices onto a stack and pop them off Four rules for what to push and pop Assign increasing numbers to the vertices when

they are popped off for the last time

Example follows

INITIAL SETUP

The node with DFN 2 is called the ‘source’ The node with DFN 1 is called the ‘sink’

Stack with sourceon top of sink

Source and sinkare “old”

c

f

d

b

e

a

ac

32

33

RULE “2” There is a “new” tree edge: follow it and

take the path that leads to its low point Push the vertices on the path onto

the stack Mark all as old.

c

f

d

b

e

aabc

34

NO MATCHES FOR VERTEX A There are now no rule matches for a. Pop it off the stack and give it the next

available number This node is ready

c

f

d

b

e

1

bc

35

RULE “3” There is a “new” back edge into this node:

from the other end, go back up tree edges to an “old” vertex

Push the vertices onthe path ontothe stack

Mark all as old

c

f

d

b

e

1 bfedc

36

NO MATCHES FOR VERTEX B So the vertex is ready and gets its number

c

f

d

2

e

1fedc

37

NO MATCHES FOR VERTEX F So the vertex is ready and gets its number

c

3

d

2

e

1edc

38

ET CETERA…

6

3

5

2

4

1

39

EXAMPLE OF S-T NUMBERING

1

2

3

4

5

6

40

BUSH FORM Let = ( , ) be the subgraph induced by the

vertices = {1, . . . , k} Let be the graph formed by adding all edges

with ends in V − , where the ends of the edges are kept separate

These edges are called virtual edges and their ends virtual vertices

A bush form of is an embedding of such that the virtual vertices are on the outer face

41

EXAMPLE OF BUSH FORM

st-numbering

𝐺4 bush form

42

PQ-TREE DATA STRUCTURE Use PQ-tree to represent bush form PQ-tree consists of

P-nodes Represents a cut vertex of , and its children can be permuted arbitrarilyQ-nodes Represents a 2-connected component of , and its children are only allowed to reverseleaves Represents a virtual vertex of

PQ-tree represents all the permutations and reversions possible in a bush form

43

EXAMPLE OF PQ-TREE

bush form PQ-tree

44

VERTEX ADDITION ALGORITHM

Idea of the algorithm is to test planarity of +1 by finding these permutations and reversions

The permutations and reversions can be found by applying 9 transformation rules to the PQ-tree (template matching)

A leaf labeled “k + 1” is pertinent and a pertinent subtree is a minimal subtree of a PQ-tree containing all the pertinent leaves

A node of a PQ-tree is full if all the leaves of its descendants are pertinent

If we have a bush form of a subgraph of a planar graph G, then there exists a sequence of permutations and reversions to make all virtual vertices labeled “k + 1” occupy consecutive positions

Lemma

45

TEMPLATE MATCHINGS

46

TEMPLATE MATCHINGS

47

TEMPLATE MATCHINGS

48

TEMPLATE MATCHINGS

49

PQ-TREE REDUCTION EXAMPLE

50

51

52

53

54

55

PLANARITY TESTING ALGORITHM1. Assign st-numbers to the vertices of

G2. Construct PQ-tree corresponding to 3. Gather pertinent leaves by applying

the template matching4. If the reduction fails then G is

nonplanar5. Replace full nodes of the PQ-tree by

a new P-node6. Goto 3

56

EXAMPLE OF VERTEX ADDITION ALGORITHM

57

EXAMPLE OF VERTEX ADDITION ALGORITHM

58

EXAMPLE OF VERTEX ADDITION ALGORITHM

59

EXAMPLE OF VERTEX ADDITION ALGORITHM

60

EXAMPLE OF VERTEX ADDITION ALGORITHM

61

EXAMPLE OF VERTEX ADDITION ALGORITHM

62

EXAMPLE OF VERTEX ADDITION ALGORITHM

63

EXAMPLE OF VERTEX ADDITION ALGORITHM

64

EXAMPLE OF VERTEX ADDITION ALGORITHM

top related