1 / 32

Planar graphs

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 drawing of a planar graph

landen
Télécharger la présentation

Planar graphs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planar graphs Algorithms and Networks

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

  3. Some notions • Faces • Exterior face • Interior faces • Each edge is incident to 2 faces Planar graphs

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

  5. Kuratowski / Wagner • 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. • 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

  6. 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 … • … Planar graphs

  7. Euler’s theoremCorollaries • 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. Planar graphs

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

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

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

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

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

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

  14. 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 attachmentsv, 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

More Related