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.

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science for Some.
Advertisements

Chapter 8 Topics in Graph Theory
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
9.7 Planar Graphs. Intro problem- 3 houses and 3 utilities K 3,3 problem: Can 3 houses be connected to 3 utilities so that no 2 lines cross? Similarly,
CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
Breadth-First Search Seminar – Networking Algorithms CS and EE Dept. Lulea University of Technology 27 Jan Mohammad Reza Akhavan.
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
Data Structures & Algorithms Graph Search Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Graphs CS-240/341. Graphs Used for representing many-to-many relationships –can take two forms directed (digraph) - a finite set of elements called vertices.
Applied Combinatorics, 4th Ed. Alan Tucker
Graphs CS-240/341. Uses for Graphs computer networks and routing airline flights geographic maps course prerequisite structures tasks for completing a.
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
Computational Geometry Seminar Lecture 1
Breadth First Search (BFS) Part 2 COMP171. Graph / Slide 2 Shortest Path Recording * BFS we saw only tells us whether a path exists from source s, to.
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Frank Carrano, © 2012.
Curve Curve: The image of a continous map from [0,1] to R 2. Polygonal curve: A curve composed of finitely many line segments. Polygonal u,v-curve: A polygonal.
Matthew Bowling Euler’s Theorem Mathfest Spring ‘15.
Graph Theory Ch6 Planar Graphs. Basic Definitions  curve, polygon curve, drawing  crossing, planar, planar embedding, and plane graph  open set  region,
Graph Theory Chapter 6 Planar Graphs Ch. 6. Planar Graphs.
Subdivision of Edge In a graph G, subdivision of an edge uv is the operation of replacing uv with a path u,w,v through a new vertex w.
Theory of Computing Lecture 10 MAS 714 Hartmut Klauck.
Planar Graphs: Euler's Formula and Coloring Graphs & Algorithms Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.:
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
Introduction to Planarity Test W. L. Hsu. Plane Graph A plane graph is a graph drawn in the plane in such a way that no two edges intersect A plane graph.
V Spanning Trees Spanning Trees v Minimum Spanning Trees Minimum Spanning Trees v Kruskal’s Algorithm v Example Example v Planar Graphs Planar Graphs v.
15-853Page :Algorithms in the Real World Planar Separators I & II – Definitions – Separators of Trees – Planar Separator Theorem.
Planar Graphs Graph Coloring
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Planar Graphs Prepared by: Asa Dan, Ofer Kiselov, Hillel Mendelson & Ofir Pupko Graph Theory with CE Applications Technion 2015.
Stefan Felsner planar graph G planar embedding of G A graph G is planar if it can be drawn on the plane with no crossing edges.
Some NP-complete Problems in Graph Theory Prof. Sin-Min Lee.
Topics Paths and Circuits (11.2) A B C D E F G.
Unit – V Graph theory. Representation of Graphs Graph G (V, E,  ) V Set of vertices ESet of edges  Function that assigns vertices {v, w} to each edge.
An Introduction to Graph Theory
Graph Theory and Applications
Chap. 11 Graph Theory and Applications 1. Directed Graph 2.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
Graph theory and networks. Basic definitions  A graph consists of points called vertices (or nodes) and lines called edges (or arcs). Each edge joins.
Trees Thm 2.1. (Cayley 1889) There are nn-2 different labeled trees
Introduction to Graph Theory
Great Theoretical Ideas in Computer Science for Some.
COMPSCI 102 Introduction to Discrete Mathematics.
Chapter 7 Planar Graphs 大葉大學 資訊工程系 黃鈴玲  7.2 Planar Embeddings  7.3 Euler’s Formula and Consequences  7.4 Characterization of Planar Graphs.
Graph Theory Def: A graph is a set of vertices and edges G={V,E} Ex. V = {a,b,c,d,e} E = {ab,bd,ad,ed,ce,cd} Note: above is a purely mathematical definition.
Great Theoretical Ideas In Computer Science
Outline 1 Properties of Planar Graphs 5/4/2018.
Discrete Mathematics Graph: Planar Graph Yuan Luo
Graphs Chapter 20.
Great Theoretical Ideas In Computer Science
Graph theory Definitions Trees, cycles, directed graphs.
CS120 Graphs.
Spanning Trees Longin Jan Latecki Temple University based on slides by
Planarity Testing.
CSE 421: Introduction to Algorithms
Planarity Cox, Sherman, Tong.
MAT 2720 Discrete Mathematics
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 8th ed., by Kenneth H.
N(S) ={vV|uS,{u,v}E(G)}
Spanning Trees Longin Jan Latecki Temple University based on slides by
Gaph Theory Planar Graphs
Discrete Mathematics for Computer Science
GRAPH THEORY Properties of Planar Graphs Ch9-1.
Planarity.
GRAPH THEORY Properties of Planar Graphs Ch9-1.
Presentation transcript:

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 : : : : 0 2 1

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 plane 1torus 2 Greg McShane

How can we find a rotation system that represents a planar embedding of a graph? Input graph: 0: : : 1 3 3: : Planar embedding 0: : : 1 3 3: : 0 1 3

f= number of faces n= number of vertices m= 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?

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.

Adding one edge adds one more face. Therefore, f’ = f+ 1. Recall m’= m+1. Checking the formula: f’ = m’ – n + 2 means that f+1 = m+1 – n + 2 subtracting one from both sides gives f= m – n + 2 which we know is true by induction.

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

A disconnected graph: isolated vertex

First split into its 4 connected components:

The yellow component has a cut vertex:

The 2-connected components of the yellow component:

The red component: the yellow vertices aqre cut vertices.

The 2-connected components of the red component:

How do we decompose the graph like this using a computer algorithm? The easiest way: BFS (Breadth First Search)

18 Queue (used for BFS) owerShellABCsQisforQueues_919A/queue_2.jpg

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

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)

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

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?

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 s qfront=0; qrear=1; Q[qfront]= s; parent[s]=s;

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

25

26 Red arcs represent parent information:

27 The blue spanning tree is the BFS tree.

28 Adjacency matrix:

29 Adjacency list:

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.

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 s qfront=0; qrear=1; Q[qfront]= s; parent[s]=s; BFI[s]= 0;

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

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

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);

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;

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

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?

38 Adjacency matrix:

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?

40 Adjacency list:

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

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?

43 How can we find a planar embedding of each 2- connected component of a graph? One simple solution: Algorithm by Demoucron, Malgrange and 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} }

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

1. Find a bridge which can be drawn in a minimum number of faces (the blue bridge). Demoucron, Malgrange and Pertuiset ’64:

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

No backtracking required for planarity testing!

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:

Graphs homeomorphic to K 5 and K 3,3 : Rashid Bin Muhammad

Kuratowski’s theorem: If G is not planar then it contains a subgraph homeomorphic to K 5 or K 3,3. Topological obstruction for surface S: degrees ≥3,does not embed on S, G-e embeds on S for all e.

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 K 5 nor K 3,3 as a minor.

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, ’89 Non-orientable: Archdeacon & Huneke, ’89. How many torus obstructions are there? Obstructions for Surfaces

n/m: : : : : : : : : : : : : 3 9 : : : : : : : : : 8 18 : 1 Minor Order Torus Obstructions: 1754

n/m: : : : : : : : : : : : : : : : : : All Torus Obstructions Found So Far: