350 likes | 947 Views
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
E N D
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 • Solving problems for planar graphs Planar graphs
Some notions • Faces • Exterior face • Interior faces • Each edge is incident to 2 faces Planar graphs
The smallest graphs that are not planar • K5, K3,3 Planar graphs
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
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
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
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 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
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: • fuvis 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
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
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
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