Algorithms and Networks

Slides:



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

Planar graphs Algorithms and Networks. Planar graphs2 Can be drawn on the plane without crossings Plane graph: planar graph, given together with an embedding.
Planar Graphs: Coloring and Drawing
Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
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,
Applied Combinatorics, 4th Ed. Alan Tucker
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Graph Drawing Introduction 2005/2006. Graph Drawing: Introduction2 Contents Applications of graph drawing Planar graphs: some theory Different types of.
Applied Combinatorics, 4th Ed. Alan Tucker
Computational Geometry Seminar Lecture 1
Tucker, Applied Combinatorics, Section 1.4, prepared by Patti Bodkin
Graph Colouring Lecture 20: Nov 25.
Definition Dual Graph G* of a Plane Graph:
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
Drawing of G. Planar Embedding of G Proposition Proof. 1. Consider a drawing of K 5 or K 3,3 in the plane. Let C be a spanning cycle. 2. If the.
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.
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.
Planar Graphs Graph G is planar, if it can be “properly” drawn in the plane. In order to explain this informal notion we have to define embeddings of graphs.
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.:
Chapter 6 Graph Theory R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
15-853Page :Algorithms in the Real World Planar Separators I & II – Definitions – Separators of Trees – Planar Separator Theorem.
Planar Graphs Graph Coloring
Introduction to Planarity Test W. L. Hsu. 2/21 Plane Graph A plane graph is a graph drawn in the plane in such a way that no two edges intersect –Except.
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
An Introduction to Graph Theory
Graph Colouring Lecture 20: Nov 25. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including.
Great Theoretical Ideas in Computer Science for Some.
COMPSCI 102 Introduction to Discrete Mathematics.
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Planarity Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering, IIT.
Chapter 7 Planar Graphs 大葉大學 資訊工程系 黃鈴玲  7.2 Planar Embeddings  7.3 Euler’s Formula and Consequences  7.4 Characterization of Planar Graphs.
1 Schnyder’s Method. 2 Motivation Given a planar graph, we want to embed it in a grid We want the grid to be relatively small And we want an efficient.
Trees.
Graphs. Representations of graphs : undirected graph An undirected graph G have five vertices and seven edges An adjacency-list representation of G The.
Great Theoretical Ideas In Computer Science
Planar Graphs Hubert Chan (Chapter 9.7) [O2 Proof Techniques]
Outline 1 Properties of Planar Graphs 5/4/2018.
Graph Drawing.
Proof technique (pigeonhole principle)
Great Theoretical Ideas In Computer Science
Applied Combinatorics, 4th Ed. Alan Tucker
Algorithms and Networks
Planarity Testing.
The Art Gallery Problem
The Art Gallery Problem
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Planarity Cox, Sherman, Tong.
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Applied Combinatorics, 4th Ed. Alan Tucker
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
MAT 2720 Discrete Mathematics
Planarity.
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)}
Gaph Theory Planar Graphs
Discrete Mathematics for Computer Science
GRAPH THEORY Properties of Planar Graphs Ch9-1.
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Planarity.
Agenda Review Lecture Content: Shortest Path Algorithm
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
GRAPH THEORY Properties of Planar Graphs Ch9-1.
Presentation transcript:

Algorithms and Networks Planar graphs Algorithms and Networks

Planar graphs Can be drawn on the plane without crossings Plane graph: planar graph, given together with an embedding in the plane Many applications… Questions: Testing if a graph is planar Finding a nice or good drawing of a planar graph But what does that mean? Solving problems for planar graphs Planar graphs

Graph drawing / network layout Applications: Visually representing a network (e.g., social network, organization structure, data bases (ER-diagrams), software (e.g., UML-diagrams), flow charts, phylogenetic trees (biology, evolution), … Design of “chip” layout (VLSI) … Planar graphs

Some notions Faces Exterior face Interior faces Each edge is incident to 2 faces, except in special cases: Planar graphs

The smallest graphs that are not planar K5, K3,3 Planar graphs

Kuratowski / Wagner Theorem (Kuratowski, Wagner, 193*) A graph is planar, if and only if it does not contain the K5 and the K3,3 as a homeomorphic subgraph / as a minor. H is a minor of G, if H can be obtained from G by a series of 0 or more deletions of vertices, deletions of edges, and contraction of edges. Does not yield fast recognition algorithm! Planar graphs

The Petersen graph is not planar, as it has K3,3 as minor Animation from Wikipedia Planar graphs

Euler’s theorem Theorem (Euler) Let G be a connected plane graph with n vertices, m edges, and f faces. Then n + f – m = 2. Proof. By induction. True if m=0. If G has a circuit, then delete an edge and … If G has a vertex v of degree 1, then delete v and … … Planar graphs

Euler’s theorem Corollaries If G is a connected plane graph with no parallel edges and no self-loops, with n > 1, then m £ 3n-6. Every face `has’ at least three edges; each edge `is on’ two faces, or twice on the same face. Every plane graph with no parallel edges and no self-loops has a vertex of degree at most 5. Has algorithmic consequences… Planar graphs

Duality The dual G* of a plane graph G A vertex in G* for each face of G An edge in G* when faces share an edge in G Planar graphs

Drawings of planar graphs Different types Vertices are: Points in 2-dimensional space Rectangles, other objects Edges are Straight lines Curves Lines with bends Adjacencies or intersections of objects Usual model Planar graphs

Drawing planar graphs In steps: Test if G is planar, and Find for each vertex, a clockwise ordering of its incident edges, such that these orderings allow a planar embedding, and then Assign coordinates to vertices Planar graphs

Planarity testing: reduction to biconnected graphs First, suppose G is biconnected. G is biconnected, if for each vertex v, G-v is connected. A biconnected component of G is a maximal subgraph that is biconnected. A graph is planar, if and only if each of its biconnected components is planar. Each biconnected component can be drawn with any vertex on its exterior face. Build drawing of G by putting drawings of biconnected components together. Easier non-constructive argument: G has a K5 or K3,3 minor, iff a biconnected component of G has such a minor. Planar graphs

Cycles with pieces Take a cycle C in G. Divide edges not on C of G into classes: e and e’ in the same class if there is a path starting with e, ending with e’, using no vertices on C as intermediate points A class forms a piece. Pieces are A single edge between two vertices on C A connected graph with at least one vertex not on C Planar graphs

Separating cycles A cycle is separating if it has at least two pieces. Plan: Find separating cycle C (how?) Test for each piece + C if it is planar (recursion) Determine for each piece if it has to be drawn inside or outside C (matching problem; details follow). Planar graphs

Finding a separating cycle Find a cycle C. If C separating: done. Otherwise, let P be the unique piece. If P is a path: G is planar: done. Otherwise: Take two consecutive attachments v, w of P in the circular ordering of C, and let Q be the part of C between the attachments without another attachment. Take a path R between v and w in P avoiding other attachments C – Q + R is a separating cycle Planar graphs

The interlacement graph Pieces can be `inside’ or `outside’ the cycle Build interlacement graph Each piece is a vertex in interlacement graph Pieces are adjacent, when they cannot be at the same side (look to attachments) Planar graphs

Theorem Let C be a separating cycle in G. G is a planar graph, if and only if For each piece P, C+P is planar. The interlacement graph is bipartite. Gives a polynomial time algorithm! Planar graphs

Interlacement graph can be built in O(n2) time For each piece Partition C into intervals with respect to attachments For each other piece Look whether all attachments are in the same interval If not, they conflict. Planar graphs

Algorithm Find a cycle C Test if C is separating. If not, use method to build separating cycle C’. Find pieces of C’. Build interlacement graph. Test if interlacement graph is bipartite. If not: G is not planar, stop. Otherwise, test for each piece P, recursively, if P+C’ is planar. Planar graphs

Time O(n3). Can be done faster: O(n) algorithms exist. Finding clockwise orderings of edges per vertex can also be done: several details… Planar graphs

Force directed methods Method for arbitrary graphs Uses physical analogy: Force system Method to find equilibrium state Advantages: Relatively easy to understand and implement Often reasonably nice results Planar graphs

Springs and electrical forces method Edges are springs Vertices repel each other Force on vertex: fuv is force on spring guv is repelling force Planar graphs

Spring force Assume some `wanted length’ of an edge luv. (E.g., 1.) Spring wants to assume length luv; force is proportional to difference with luv. Choose some stiffness of the spring kuv.’ Force in x-direction is (y-direction similar): Planar graphs

Similar in y-direction Repelling force Vertices are repelling particles Follow inverse square law k’uv is strength of repulsion (choose some number, e.g., experimentally) Repelling force of v in x-direction: Similar in y-direction Planar graphs

Search for equilibrium Position where all vertices have a force of 0 towards them (sum of spring and repelling forces) Springs have lengths of edges go to desired length Repelling has vertices not too close together Planar graphs

Searching for equilibrium Numerical techniques Simple algorithm: Take for each vertex a random position Repeat: Compute for each vertex its force Move all vertices to new position depending on their forces Until in sufficient rest Faster algorithms exist Planar graphs

Barycenter method Tutte, 1960 Differences with force method No repelling forces luv = 0 Stiffness is 1 Vertices at exterior face get fixed positions Planar graphs

Where pu is the position of u on the plane Force on a vertex Where pu is the position of u on the plane If v is a free vertex Planar graphs

Finding equilibrium System of forces can be written as set of linear equations Fast converging algorithms For planar graphs, system can be solved in O(n1.5) time Planar graphs

Barycenter draw pseudocode Place all fixed vertices at corners of polygon around origin, and all free vertices on origin Repeat For each free vertex v do x(v) = 1/degree(v) * S((u,v) in E) x(u) y(v) = 1/degree(v) * S((u,v) in E) y(u) until sufficient convergence Planar graphs

Theorem of Tutte If G is a triconnected planar graph, then this method yields a planar drawing of G. Assuming … In practice, layers become smaller in the inside Generalizations with more complicated forces sometimes also have this property If G is not triconnected, then we can make it triconnected by adding edges Planar graphs

Grid drawings Many results on planar drawings, e.g., Theorem (Schnyder, 1990) Every planar graph G has a plane drawing, such that Each edge is a straight line Vertices are mapped to pairs of integers in {0,1,…,n – 2} * {0,1, …, n – 2} Planar graphs

Many other results Embeddings with small areas and few bends per edge Drawings where vertices are represented by rectangles with an edge if rectangles touch … Planar graphs