Download presentation

Presentation is loading. Please wait.

Published byLuca Leston Modified over 2 years ago

1
Planar graphs Algorithms and Networks

2
Planar graphs2 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 drawing of a planar graph –Solving problems for planar graphs

3
Planar graphs3 Some notions Faces Exterior face Interior faces Each edge is incident to 2 faces

4
Planar graphs4 The smallest graphs that are not planar K 5, K 3,3

5
Planar graphs5 Kuratowski / Wagner A graph is planar if and only if it does not contain the K 5 and the K 3,3 as a homeomorphic subgraph / as a minor. 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!

6
Planar graphs6 Euler’s theorem 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 … …

7
Planar graphs7 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.

8
Planar graphs8 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

9
Planar graphs9 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

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

11
Planar graphs11 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 K 5 or K 3,3 minor, iff a biconnected component of G has such a minor.

12
Planar graphs12 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

13
Planar graphs13 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).

14
Planar graphs14 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

15
Planar graphs15 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)

16
Planar graphs16 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! Gives a polynomial time algorithm!

17
Planar graphs17 Interlacement graph can be built in O(n 2 ) 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.

18
Planar graphs18 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.

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

20
Planar graphs20 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

21
Planar graphs21 Springs and electrical forces method Edges are springs Vertices repel each other Force on vertex: –f uv is force on spring –g uv is repelling force

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

23
Planar graphs23 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

24
Planar graphs24 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

25
Planar graphs25 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

26
Planar graphs26 Barycenter method Tutte, 1960 Differences with force method –No repelling forces –l uv = 0 –Stiffness is 1 –Vertices at exterior face get fixed positions

27
Planar graphs27 Force on a vertex Where p u is the position of u on the plane If v is a free vertex

28
Planar graphs28 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(n 1.5 ) time

29
Planar graphs29 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) * ((u,v) in E) x(u) y(v) = 1/degree(v) * ((u,v) in E) y(u) until sufficient convergence

30
Planar graphs30 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

31
Planar graphs31 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}

32
Planar graphs32 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 …

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google