How many faces do you get from walking the faces of this rotation system of K 4 ?

54
How many faces do you get from walking the faces of this rotation system of K 4 ? Is this an embedding of K 4 in the plane? 0 : 1 3 2 1 : 0 3 2 2 : 0 3 1 3 : 0 2 1

description

How many faces do you get from walking the faces of this rotation system of K 4 ? Is this an embedding of K 4 in the plane? 0 : 1 3 2 1 : 0 3 2 2 : 0 3 1 3 : 0 2 1. Rotation Systems. G connected on an orientable surface: g= (2 – n + m – f)/2. 0 plane torus 2. - PowerPoint PPT Presentation

Transcript of How many faces do you get from walking the faces of this rotation system of K 4 ?

Page 1: How many faces do you get from walking the faces of this rotation system of K 4 ?

How many faces do you get from walking the faces of this rotation system of K4?

Is this an embedding of K4 in the plane?

0 : 1 3 21 : 0 3 22 : 0 3 13 : 0 2 1

Page 2: How many faces do you get from walking the faces of this rotation system of K 4 ?

Rotation Systems

F0: (a, b)(b, c)(c, a)(a, b)F1: (a, d)(d, e)(e, b)(b, a)(a, d)

G connected on an orientable surface:g= (2 – n + m – f)/2

0 plane1 torus2

Greg McShane

Page 3: How many faces do you get from walking the faces of this rotation system of K 4 ?

How can we find a rotation system that represents a planar embedding of a graph?

Input graph:0: 1 3 41: 0 2 42: 1 33: 0 2 44: 0 1 3

Planar embedding0: 1 4 31: 0 2 42: 1 33: 0 4 24: 0 1 3

Page 4: How many faces do you get from walking the faces of this rotation system of K 4 ?

f= number of facesn= number of verticesm= number of edges

Euler’s formula: For any connected planar graph G, f= m-n+2.

Proof by induction:

How many edges must a connected graph on n vertices have?

Page 5: How many faces do you get from walking the faces of this rotation system of K 4 ?

Euler’s formula: For any connected planar graph G, f= m-n+2.

[Basis]The connected graphs on n vertices with a minimum number of edges are trees.If T is a tree, then it has n-1 edges and one face when embedded in the plane.Checking the formula:1 = (n-1) – n + 2 ⟹ 1 = 1 so the base case holds.

Page 6: How many faces do you get from walking the faces of this rotation system of K 4 ?

[Induction step (m m+1)]

Assume that for a planar embedding of a connected planar graph G with n vertices and m edges that f= m-n+2.We want to prove that adding one edge (while maintaining planarity) gives a new planar embedding of a graph H such thatf’ (the number of faces of H)satisfies f’ = m’ – n + 2where m’= m+1 is the number of edges of H.

Page 7: How many faces do you get from walking the faces of this rotation system of K 4 ?
Page 8: How many faces do you get from walking the faces of this rotation system of K 4 ?
Page 9: How many faces do you get from walking the faces of this rotation system of K 4 ?

Adding one edge adds one more face.

Therefore, f’ = f+ 1. Recall m’= m+1.

Checking the formula:f’ = m’ – n + 2means thatf+1 = m+1 – n + 2subtracting one from both sides givesf= m – n + 2 which we know is true by induction.

Page 10: How many faces do you get from walking the faces of this rotation system of K 4 ?

Pre-processing for an embedding algorithm.

1.Break graph into its connected components.

2.For each connected component, break it into its 2-connected components (maximal subgraphs having no cut vertex).

Page 11: How many faces do you get from walking the faces of this rotation system of K 4 ?

A disconnected graph:isolated vertex

Page 12: How many faces do you get from walking the faces of this rotation system of K 4 ?

First split into its 4 connected components:

Page 13: How many faces do you get from walking the faces of this rotation system of K 4 ?

The yellow component has a cut vertex:

Page 14: How many faces do you get from walking the faces of this rotation system of K 4 ?

The 2-connected components of the yellow component:

Page 15: How many faces do you get from walking the faces of this rotation system of K 4 ?

The red component: the yellow vertices aqre cut vertices.

Page 16: How many faces do you get from walking the faces of this rotation system of K 4 ?

The 2-connected components of the red component:

Page 17: How many faces do you get from walking the faces of this rotation system of K 4 ?

How do we decompose the graph like this using a computer algorithm? The easiest

way:

BFS (Breadth First Search)

Page 18: How many faces do you get from walking the faces of this rotation system of K 4 ?

18

Queue (used for BFS)

http://www.ac-nancy-metz.fr/enseign/anglais/Henry/bus-queue.jpg

http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/Joe/WindowsLiveWriter/PowerShellABCsQisforQueues_919A/queue_2.jpg

Page 19: How many faces do you get from walking the faces of this rotation system of K 4 ?

19

Queue data structure:Items are:Added to the rear of the queue.Removed from the front of the queue.

http://cs.wellesley.edu/~cs230/assignments/lab12/queue.jpg

Page 20: How many faces do you get from walking the faces of this rotation system of K 4 ?

20

If you have an upper bound on the lifetime size of the queue then you can use an array: qfront=5, qrear=9(qrear is next empty spot in array)

Page 21: How many faces do you get from walking the faces of this rotation system of K 4 ?

21

To test if there is something in the queue:if (qfront < qrear) To add x to the queue:Q[qrear]= x; qrear++;To delete front element of the queue:x= Q[qfront]; qfront++;

Q:

qfront=5, qrear=9

Page 22: How many faces do you get from walking the faces of this rotation system of K 4 ?

22

If the neighbours of each vertex are ordered according to their vertex numbers, in what order does a BFS starting at 0 visit the vertices?

Page 23: How many faces do you get from walking the faces of this rotation system of K 4 ?

23

BFS starting at a vertex s using an array for the queue:

Data structures: A queue Q[0..(n-1)] of vertices, qfront, qrear.

parent[i]= BFS tree parent of node i. The parent of the root s is s. To initialize:// Set parent of each node to be -1 to

indicate// that the vertex has not yet been visited.for (i=0; i < n; i++) parent[i]= -1;

// Initialize the queue so that BFS starts at sqfront=0; qrear=1; Q[qfront]= s; parent[s]=s;

Page 24: How many faces do you get from walking the faces of this rotation system of K 4 ?

24

while (qfront < qrear) // Q is not empty u= Q[qfront]; qfront++; for each neighbour v of u if (parent[v] == -1) // not visited parent[v]= u; Q[qrear]= v; qrear++; end if end for end while

Page 25: How many faces do you get from walking the faces of this rotation system of K 4 ?

25

Page 26: How many faces do you get from walking the faces of this rotation system of K 4 ?

26

Red arcs represent parent information:

Page 27: How many faces do you get from walking the faces of this rotation system of K 4 ?

27

The blue spanning tree is the BFS tree.

Page 28: How many faces do you get from walking the faces of this rotation system of K 4 ?

28

Adjacency matrix:

Page 29: How many faces do you get from walking the faces of this rotation system of K 4 ?

29

Adjacency list:

Page 30: How many faces do you get from walking the faces of this rotation system of K 4 ?

30

BFI[v]= Breadth first index of v = step at which v is visited.The BFI[v] is equal to v’s position in the queue.

Page 31: How many faces do you get from walking the faces of this rotation system of K 4 ?

31

To initialize:// Set parent of each node to be -1 to

indicate// that the vertex has not yet been visited.for (i=0; i < n; i++) parent[i]= -1;

// Initialize the queue so that BFS starts at sqfront=0; qrear=1; Q[qfront]= s; parent[s]=s;

BFI[s]= 0;

Page 32: How many faces do you get from walking the faces of this rotation system of K 4 ?

32

while (qfront < qrear) // Q is not empty u= Q[qfront]; qfront++; for each neighbour v of u if (parent[v] == -1) // not visited parent[v]= u; BFI[v]= qrear; Q[qrear]= v; qrear++; end if end for end while

Page 33: How many faces do you get from walking the faces of this rotation system of K 4 ?

33

One application:How many connected components does a graph have and which vertices are in each component?

Page 34: How many faces do you get from walking the faces of this rotation system of K 4 ?

34

To find the connected components:for (i=0; i < n; i++) parent[i]= -1;nComp= 0;for (i=0; i < n; i++) if (parent[i] == -1) nComp++; BFS(i, parent, component, nComp);

Page 35: How many faces do you get from walking the faces of this rotation system of K 4 ?

35

BFS(s, parent, component, nComp)

// Do not initialize parent.

// Initialize the queue so that BFS starts at s

qfront=0; qrear=1; Q[qfront]= s;

parent[s]=s;

component[s]= nComp;

Page 36: How many faces do you get from walking the faces of this rotation system of K 4 ?

36

while (qfront < qrear) // Q is not empty u= Q[qfront]; qfront++; for each neighbour v of u if (parent[v] == -1) // not visited parent[v]= u; component[v]= nComp; Q[qrear]= v; qrear++; end if end for end while

Page 37: How many faces do you get from walking the faces of this rotation system of K 4 ?

37

How much time does BFS take to indentify the connected components of a graph when the data structure used for a graph is an adjacency matrix?

Page 38: How many faces do you get from walking the faces of this rotation system of K 4 ?

38

Adjacency matrix:

Page 39: How many faces do you get from walking the faces of this rotation system of K 4 ?

39

How much time does BFS take to indentify the connected components of a graph when the data structure used for a graph is an adjacency list?

Page 40: How many faces do you get from walking the faces of this rotation system of K 4 ?

40

Adjacency list:

Page 41: How many faces do you get from walking the faces of this rotation system of K 4 ?

41

How could you modify BFS to determine if v is a cut vertex?

.

Page 42: How many faces do you get from walking the faces of this rotation system of K 4 ?

42

A bridge with respect to a subgraph H of a graph G is either:1. An edge e=(u, v) which is not in H

but both u and v are in H.2. A connected component C of G-H

plus any edges that are incident to one vertex in C and one vertex in H plus the endpoints of these edges.

How can you find the bridges with respect to a cut vertex v?

Page 43: How many faces do you get from walking the faces of this rotation system of K 4 ?

43

How can we find a planar embedding of each 2-connected component of a graph?One simple solution: Algorithm by Demoucron, Malgrange and Pertuiset.

@ARTICLE{genus:DMP, AUTHOR = {G. Demoucron and Y. Malgrange and R. Pertuiset}, TITLE = {Graphes Planaires}, JOURNAL = {Rev. Fran\c{c}aise Recherche Op\'{e}rationnelle}, YEAR = {1964}, VOLUME = {8}, PAGES = {33--47} }

Page 44: How many faces do you get from walking the faces of this rotation system of K 4 ?

A bridge can be drawn in a face if all its points of attachment lie on that face.

Page 45: How many faces do you get from walking the faces of this rotation system of K 4 ?

1. Find a bridge which can be drawn in a minimum number of faces (the blue bridge).

Demoucron, Malgrange and Pertuiset ’64:

Page 46: How many faces do you get from walking the faces of this rotation system of K 4 ?

2. Find a path between two points of attachment for that bridge and add the path to the embedding.

Page 47: How many faces do you get from walking the faces of this rotation system of K 4 ?

No backtracking required for planarity testing!

Page 48: How many faces do you get from walking the faces of this rotation system of K 4 ?

Gibbons: if G is 2-vertex connected, every bridge of G has at least two points of contact and can therefore be drawn in just two faces.

Counterexample:

Page 49: How many faces do you get from walking the faces of this rotation system of K 4 ?

Graphs homeomorphic to K5 and K3,3:

Rashid BinMuhammad

Page 50: How many faces do you get from walking the faces of this rotation system of K 4 ?

Kuratowski’s theorem: If G is not planar then it contains a subgraph homeomorphic to K5 or K3,3.

Topological obstruction for surface S:degrees ≥3,does not embed on S,G-e embeds on S for all e.

Page 51: How many faces do you get from walking the faces of this rotation system of K 4 ?

Dale Winter

Minor Order Obstruction: Topological obstruction and G۰e embeds on S for all e.Wagner's theorem: G is planar if and only if it has neither K5 nor K3,3 as a minor.

Page 52: How many faces do you get from walking the faces of this rotation system of K 4 ?

Fact: for any orientable or non-orientable surface, the set of obstructions is finite.Consequence of Robertson & Seymour theory but also proved independently:Orientable surfaces: Bodendiek & Wagner, ’89Non-orientable: Archdeacon & Huneke, ’89.

How many torus obstructions are there?

Obstructions for Surfaces

Page 53: How many faces do you get from walking the faces of this rotation system of K 4 ?

n/m: 18 19 20 21 22 23 24 25 26 27 28 29 30 8 : 0 0 0 0 1 0 1 1 0 0 0 0 0 9 : 0 2 5 2 9 13 6 2 4 0 0 0 0 10 : 0 15 3 18 31 117 90 92 72 17 1 0 1 11 : 5 2 0 46 131 569 998 745 287 44 8 3 1 12 : 1 0 0 52 238 1218 2517 1827 472 79 21 1 0 13 : 0 0 0 5 98 836 1985 1907 455 65 43 0 0 14 : 0 0 0 0 9 68 463 942 222 41 92 1 0 15 : 0 0 0 0 0 0 21 118 43 13 91 5 0 16 : 0 0 0 0 0 0 0 4 3 5 41 0 1 17 : 0 0 0 0 0 0 0 0 0 0 8 0 0 18 : 0 0 0 0 0 0 0 0 0 0 1 0 0

8 : 3 9 : 43 10 : 457 11 : 2839 12 : 6426 13 : 5394

14 : 1838 15 : 291 16 : 54 17 : 8 18 : 1

Minor Order Torus Obstructions: 1754

Page 54: How many faces do you get from walking the faces of this rotation system of K 4 ?

n/m: 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 8 : 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 9 : 0 2 5 2 9 17 6 2 5 0 0 0 0 0 0 0 0 0 0 10 : 0 15 9 35 40 190 170 102 76 21 1 0 1 0 0 0 0 0 0 11 : 5 2 49 87 270 892 1878 1092 501 124 22 4 1 0 0 0 0 0 0 12 : 1 12 6 201 808 2698 6688 6372 1933 482 94 6 2 0 0 0 0 0 0 13 : 0 0 12 19 820 4967 12781 16704 7182 1476 266 52 1 0 0 0 0 0 0 14 : 0 0 0 9 38 2476 15219 24352 16298 3858 808 215 19 0 0 0 0 0 0 15 : 0 0 0 0 0 33 3646 22402 20954 8378 1859 708 184 5 0 0 0 0 0 16 : 0 0 0 0 0 0 20 2689 17469 10578 3077 1282 694 66 1 0 0 0 0 17 : 0 0 0 0 0 0 0 0 837 8099 4152 1090 1059 368 11 0 0 0 0 18 : 0 0 0 0 0 0 0 0 0 133 2332 1471 511 639 102 1 0 0 0 19 : 0 0 0 0 0 0 0 0 0 0 0 393 435 292 255 15 0 0 0 20 : 0 0 0 0 0 0 0 0 0 0 0 0 39 100 164 63 2 0 0 21 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 63 1 0 0 22 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 22 0 0 23 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 24 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2

All Torus Obstructions Found So Far: