Algorithms for Testing and Embedding Planar Graphs
Total Page:16
File Type:pdf, Size:1020Kb
1 Algorithms for Testing and Embedding Planar Graphs Zhigang Jiang, University of Windsor A planar graph is a graph which can be drawn in the plane without any edges crossing. Some pictures of a planar graph might have crossing edges, but it's possible to redraw the picture to eliminate the crossings. Planar graphs and their relatives, appear in many practical applications. For example, in the design of complex radioelectronic circuits using printed circuit board, one problem is to arrange the elements so that the conductors connecting them do not intersect each other. This survey contains two crucial parts: algorithms for embedding graphs into planarity which is about embedding a given graph G into planarities , and planarity testing algorithms which is about testing whether a given graph G can be embedded into planarity or not. Categories and Subject Descriptors: F.2.2 [Analysis of algorithms and problem complexity]: Nonnumerical Algorithms and Problems—Geometrical problem and computations; I.3.5 [Computer Graphics]: Computational Geometry and Object Model- ing—Geometric algorithms,languages, and systems General Terms: Algorithms Additional Key Words and Phrases: planar graph, embedding graphs into planarity algorithms, planarity testing algorithms Contents 1 Introduction 2 2 Embedding graphs into planarity 3 2.1 embedding algorithms donot use PQ-trees . .3 2.1.1 A planarity embedding algorithm based on the Kuratowski theorem . .3 2.1.2 An embedding algorithm based on open ear decomposition . .3 2.1.3 A simplified o (n) planar embedding algorithm for biconnected graphs . .4 2.1.4 Lempel,Even,and Cederbaum planarity method . .5 2.2 Embedding algorithms using PQ-trees . .5 2.2.1 Embedding planar graphs using PQ-tree algorithms . .6 2.2.2 An algorithm is on the basis of vertex addition for planarity testing and uses PQ- trees to embed graphs into planarites . .6 2.2.3 An algorithm modifies PQ-trees to embed graphs into planarities . .7 3 Planarity testing algorithms 10 3.1 Planarity testing algorithm based on 3-connectivity . 10 3.1.1 A new planarity test based on 3-connectivity . 10 3.2 Planarity testing algorithms based on DFS . 11 3.2.1 An algorithm uses DFS to test the planarity of a graph . 11 3.2.2 A simple planarity testing algorithm based on DFS search tree and modified Ver- tex addition approach . 12 4 Concluding Comments 13 5 Annotation 16 5.1 Bruno 1970 . 16 5.2 Boyer 1999 . 17 , Vol. V, No. N, Article 1, Publication date: January 20YY. 1:2 • Zhigang Jiang 5.3 Boyer 2004 . 17 5.4 Chiba 1984 . 18 5.5 Hopcroft 1974 . 19 5.6 Haeupler 2008 . 20 5.7 Mei 1970 . 21 5.8 Ozawa 1991 . 21 5.9 Ramachandran 1989 . 22 5.10 Shih 1993 . 23 1. INTRODUCTION A graph is planar if it can be drawn in the plane without any crossing edges. That is, each vertex is located at one point of the plane, and a curve from one point to another is drawn between the points corresponding to vertices connected by an edge. A practical reason for studying planar graphs is that they, and their relatives, appear in many practical applications. The study of two-dimensional images often results in problems related to planar graphs, as does the solution of many problems on the two- dimensional surface of our earth, for example, In Gas, Water, Electricity Problem, Is there any way to connect each of three houses to each of the three utilities(Gas, water, and electricity) in such a way that none of the supply lines cross? This survey is about that embedding a given graph into planarity using various embedding algo- rithms, or testing whether a given graph can be embedded into planarity or not using different testing algorithms. The papers in the survey have been found in Google Scholar, ACM, IEEE, and Journal of Computer and System Sciences and others. Among these papers that I found, there are 11 journal papers:[Bruno et al. 1970], [Hopcroft and Tarjan 1974], [Booth and Lueker 1976], [Williamson 1980], [Chiba et al. 1984], [Ramachandran and Reif 1994], [Juvan et al. 1997], [Jianer and Chen 1997], [Wei-Kuan and Wen-Lian 1999], [Boyer et al. 2004], [Haeupler and Tarjan 2008]; there are 7 conference papers: [Mei and Gibbs 1970], [Ramachan- dran and Reif 1989], [Ozawa 1991], [Shih and Hsu 1993], [Boyer and Myrvold 1999], [Kawarabayashi et al. 2008], [Kawarabayashi 2009]; there is one unpublished paper: [Boyer et al. 2003], and there is one chapter of a book: [Perunicic and Duric 1985]. To study the planar graphs problem, there are two important parts that need to be considered: embedding graphs into planarity and planarity testing. Therefore, in the rest of the survey, there are two sections: embedding graphs into planarity algorithms and planarity testing algorithms. The section on algorithms for embedding graphs into planarity, it includes embedding algorithms based on PQ-tree and other embedding algorithms, and in the other section, includes planarity algorithm based on DFS and planarity algorithm based on 3-connectivity. The relationships of these papers are on follow: Hopcroft and Tarjan [1974] is cited by: Chiba et al. [1984], Ramachandran and Reif [1989], Shih and Hsu [1993],Boyer and Myrvold [1999] and Boyer et al. [2004]; Booth and Lueker [1976] is cited by: Chiba et al. [1984], Ramachandran and Reif [1989], Boyer and Myrvold [1999], Boyer et al. [2004], and ?]; Williamson [1980] is cited by: Boyer and Myr- vold [1999]; Shih and Hsu [1993] is cited by: Boyer et al. [2004], and Haeupler and Tarjan [2008]; Ramachandran and Reif [1994] is cited by: Boyer et al. [2004]; Boyer and Myrvold [1999] is cited by: Haeupler and Tarjan [2008]; Wei-Kuan and Wen-Lian [1999] is cited by: Boyer et al. [2004], Haeupler and Tarjan [2008]; and Boyer et al. [2004] is cited by Haeupler and Tarjan [2008]. The relationships indicate that [Hopcroft and Tarjan 1974] and [Booth and Lueker 1976] are two very important papers in this area. Many of embedding algorithms use PQ-trees which are very important data structures for embed- ding algorithms and these papers from year to year finds a way to improve the previous algorithm. , Vol. V, No. N, Article 1, Publication date: January 20YY. Algorithms for Tesing and Embedding Planar Graphs • 1:3 2. EMBEDDING GRAPHS INTO PLANARITY The problem addressed by the authors is how to embed a given graph G into planarity. Firstly, testing whether the graph can be embedded into planarity or not, secondly, if the graph can be embedded into planarity, draw the planar graph of the given graph, and This section consists of two subsections: Embedding planar graphs using PQ-trees, and other embedding algorithms. 2.1 embedding algorithms donot use PQ-trees In this subsection, there are some algorithms to embed a given grap into planarity, but they do not use PQ-tree data structure, there are 4 papers in this subsection: A planarity algorithm based on the kuratowski theorem, An optimal parallel algorithm for graph planarity, Stop minding your p’s and q’s: A simplified O(n) planar embedding algorithm,and Lempel, even and cederbaum planarity method. 2.1.1 A planarity embedding algorithm based on the Kuratowski theorem. Mei and Gibbs [1970] do not refer to any previous work. Mei and Gibbs [1970] states that all of the previous work are not dicrect applications of Kuratowski theorem. In this paper, Mei and Gibbs [1970] present an algorithm which is a direct application of The Kura- towski Theorem, and based on the observation that a Kuratowski graph can be spanned by the union of two of its circuits. The details of the algorithm are as follows Mei and Gibbs [1970, p.93]: (1) Generate all the circuits of length five or greater, for a given graph G. (2) For any two circuits C1 and C2, let SG(C1) = <V1,C1>and SG(C2) = <V2,C2>. If V1 \ V2 has exactly five elements and C1 \ C2 = ;, go to next step, otherwise, go to step 4. (3) Let (vi1,vi2,vi3,vi4, vi5) be the five elements of V1 \ V2 ordered in this cyclic order and Trace SG(C1) in one direction, trace SG(C2) and check to see whether all of the five elements can be place in a ∗ cyclic order (vi1,vi2,vi3,vi4, vi5) or not, if it can, SG(C1 [ C2) is a K5 graph and graph G is non-planar, otherwise, go to last step. (4) If V1 \ V2 has more than five elements and C1 \ C2 has more than two elements, go to the step 5, otherwise go to the last step. (5) Form the vertex adjacency matrix M = (mij) of SG(C1 [ C2), if vi,vj62C1 [C2, mij = 0; if vi,vj2C1-C2, mij = 1; if vi,vj2C2-C1, mij = 2; if vi,vj2C1 \C2, mij = 3. (6) Check the entries of the matrix row b row once, and result in a cubic graph G = <V, E> with six vertices. (7) If there are no more pairs of circuits to be considered the graph G is planar, otherwise go to step 2 and choose another pairs of circuits C1 and C2 of G, and go to step 2. Mei and Gibbs [1970] do not mention any specific implementation or experiments. Mei and Gibbs [1970] claim that the algorithm could be very efficient for a small number of graphs or graphs that do not have a large number of circuits, but it is not efficient for a large graph,and the time complexity of this algorithm is O(n). Mei and Gibbs [1970] claim that the first step (the generation of circuits) of the algorithm can be executed first and the generated circuits can be stored on some form of auxiliary storage.