Planar graph
Example graphs | |
---|---|
Planar | Nonplanar |
![]() Butterfly graph |
![]() Complete graph K5 |
![]() Complete graph K4 |
![]() Utility graph K3,3 |
In graph theory, a planar graph is a graph that can be embedded in the plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. In other words, it can be drawn in such a way that no edges cross each other.[1][2] Such a drawing is called a plane graph, or a planar embedding of the graph. A plane graph can be defined as a planar graph with a mapping from every node to a point on a plane, and from every edge to a plane curve on that plane, such that the extreme points of each curve are the points mapped from its end nodes, and all curves are disjoint except on their extreme points.
Every graph that can be drawn on a plane can be drawn on the sphere as well, and vice versa, by means of stereographic projection.
Plane graphs can be encoded by combinatorial maps or rotation systems.
An equivalence class of topologically equivalent drawings on the sphere, usually with additional assumptions such as the absence of isthmuses, is called a planar map. Although a plane graph has an external or unbounded face, none of the faces of a planar map has a particular status.
Planar graphs generalize to graphs drawable on a surface of a given genus. In this terminology, planar graphs have genus 0, since the plane (and the sphere) are surfaces of genus 0. See "graph embedding" for other related topics.
Planarity criteria
[edit]Kuratowski's and Wagner's theorems
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/c1/Tesseract_graph_nonplanar_visual_proof.svg/170px-Tesseract_graph_nonplanar_visual_proof.svg.png)
The Polish mathematician Kazimierz Kuratowski provided a characterization of planar graphs in terms of forbidden graphs, now known as Kuratowski's theorem:
- A finite graph is planar if and only if it does not contain a subgraph that is a subdivision of the complete graph K5 or the complete bipartite graph K3,3 (utility graph).
A subdivision of a graph results from inserting vertices into edges (for example, changing an edge • —— • to • — • — • ) zero or more times.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Nonplanar_no_subgraph_K_3_3.svg/220px-Nonplanar_no_subgraph_K_3_3.svg.png)
Instead of considering subdivisions, Wagner's theorem deals with minors:
- A finite graph is planar if and only if it does not have K5 or K3,3 as a minor.
A minor of a graph results from taking a subgraph and repeatedly contracting an edge into a vertex, with each neighbor of the original end-vertices becoming a neighbor of the new vertex.
![](http://upload.wikimedia.org/wikipedia/commons/0/0d/Kuratowski.gif)
Klaus Wagner asked more generally whether any minor-closed class of graphs is determined by a finite set of "forbidden minors". This is now the Robertson–Seymour theorem, proved in a long series of papers. In the language of this theorem, K5 and K3,3 are the forbidden minors for the class of finite planar graphs.
Other criteria
[edit]In practice, it is difficult to use Kuratowski's criterion to quickly decide whether a given graph is planar. However, there exist fast algorithms for this problem: for a graph with n vertices, it is possible to determine in time O(n) (linear time) whether the graph may be planar or not (see planarity testing).
For a simple, connected, planar graph with v vertices and e edges and f faces, the following simple conditions hold for v ≥ 3:
- Theorem 1. e ≤ 3v – 6;
- Theorem 2. If there are no cycles of length 3, then e ≤ 2v – 4.
- Theorem 3. f ≤ 2v – 4.
In this sense, planar graphs are sparse graphs, in that they have only O(v) edges, asymptotically smaller than the maximum O(v2). The graph K3,3, for example, has 6 vertices, 9 edges, and no cycles of length 3. Therefore, by Theorem 2, it cannot be planar. These theorems provide necessary conditions for planarity that are not sufficient conditions, and therefore can only be used to prove a graph is not planar, not that it is planar. If both theorem 1 and 2 fail, other methods may be used.
- Whitney's planarity criterion gives a characterization based on the existence of an algebraic dual;
- Mac Lane's planarity criterion gives an algebraic characterization of finite planar graphs, via their cycle spaces;
- The Fraysseix–Rosenstiehl planarity criterion gives a characterization based on the existence of a bipartition of the cotree edges of a depth-first search tree. It is central to the left-right planarity testing algorithm;
- Schnyder's theorem gives a characterization of planarity in terms of partial order dimension;
- Colin de Verdière's planarity criterion gives a characterization based on the maximum multiplicity of the second eigenvalue of certain Schrödinger operators defined by the graph.
- The Hanani–Tutte theorem states that a graph is planar if and only if it has a drawing in which each independent pair of edges crosses an even number of times; it can be used to characterize the planar graphs via a system of equations modulo 2.
Properties
[edit]Euler's formula
[edit]Euler's formula states that if a finite, connected, planar graph is drawn in the plane without any edge intersections, and v is the number of vertices, e is the number of edges and f is the number of faces (regions bounded by edges, including the outer, infinitely large region), then
As an illustration, in the butterfly graph given above, v = 5, e = 6 and f = 3. In general, if the property holds for all planar graphs of f faces, any change to the graph that creates an additional face while keeping the graph planar would keep v – e + f an invariant. Since the property holds for all graphs with f = 2, by mathematical induction it holds for all cases. Euler's formula can also be proved as follows: if the graph isn't a tree, then remove an edge which completes a cycle. This lowers both e and f by one, leaving v – e + f constant. Repeat until the remaining graph is a tree; trees have v = e + 1 and f = 1, yielding v – e + f = 2, i. e., the Euler characteristic is 2.
In a finite, connected, simple, planar graph, any face (except possibly the outer one) is bounded by at least three edges and every edge touches at most two faces; using Euler's formula, one can then show that these graphs are sparse in the sense that if v ≥ 3:
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Dodecahedron_schlegel.svg/220px-Dodecahedron_schlegel.svg.png)
Euler's formula is also valid for convex polyhedra. This is no coincidence: every convex polyhedron can be turned into a connected, simple, planar graph by using the Schlegel diagram of the polyhedron, a perspective projection of the polyhedron onto a plane with the center of perspective chosen near the center of one of the polyhedron's faces. Not every planar graph corresponds to a convex polyhedron in this way: the trees do not, for example. Steinitz's theorem says that the polyhedral graphs formed from convex polyhedra are precisely the finite 3-connected simple planar graphs. More generally, Euler's formula applies to any polyhedron whose faces are simple polygons that form a surface topologically equivalent to a sphere, regardless of its convexity.
Average degree
[edit]Connected planar graphs with more than one edge obey the inequality 2e ≥ 3f, because each face has at least three face-edge incidences and each edge contributes exactly two incidences. It follows via algebraic transformations of this inequality with Euler's formula v – e + f = 2 that for finite planar graphs the average degree is strictly less than 6. Graphs with higher average degree cannot be planar.
Coin graphs
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Circle_packing_theorem_K5_minus_edge_example.svg/220px-Circle_packing_theorem_K5_minus_edge_example.svg.png)
We say that two circles drawn in a plane kiss (or osculate) whenever they intersect in exactly one point. A "coin graph" is a graph formed by a set of circles, no two of which have overlapping interiors, by making a vertex for each circle and an edge for each pair of circles that kiss. The circle packing theorem, first proved by Paul Koebe in 1936, states that a graph is planar if and only if it is a coin graph.
This result provides an easy proof of Fáry's theorem, that every simple planar graph can be embedded in the plane in such a way that its edges are straight line segments that do not cross each other. If one places each vertex of the graph at the center of the corresponding circle in a coin graph representation, then the line segments between centers of kissing circles do not cross any of the other edges.
Planar graph density
[edit]The meshedness coefficient or density D of a planar graph, or network, is the ratio of the number f – 1 of bounded faces (the same as the circuit rank of the graph, by Mac Lane's planarity criterion) by its maximal possible values 2v – 5 for a graph with v vertices:
The density obeys 0 ≤ D ≤ 1, with D = 0 for a completely sparse planar graph (a tree), and D = 1 for a completely dense (maximal) planar graph.[3]
Dual graph
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Dual_graphs.svg/100px-Dual_graphs.svg.png)
Given an embedding G of a (not necessarily simple) connected graph in the plane without edge intersections, we construct the dual graph G* as follows: we choose one vertex in each face of G (including the outer face) and for each edge e in G we introduce a new edge in G* connecting the two vertices in G* corresponding to the two faces in G that meet at e. Furthermore, this edge is drawn so that it crosses e exactly once and that no other edge of G or G* is intersected. Then G* is again the embedding of a (not necessarily simple) planar graph; it has as many edges as G, as many vertices as G has faces and as many faces as G has vertices. The term "dual" is justified by the fact that G** = G; here the equality is the equivalence of embeddings on the sphere. If G is the planar graph corresponding to a convex polyhedron, then G* is the planar graph corresponding to the dual polyhedron.
Duals are useful because many properties of the dual graph are related in simple ways to properties of the original graph, enabling results to be proven about graphs by examining their dual graphs.
While the dual constructed for a particular embedding is unique (up to isomorphism), graphs may have different (i.e. non-isomorphic) duals, obtained from different (i.e. non-homeomorphic) embeddings.
Families of planar graphs
[edit]Maximal planar graphs
[edit]![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Goldner-Harary_graph.svg/240px-Goldner-Harary_graph.svg.png)
A simple graph is called maximal planar if it is planar but adding any edge (on the given vertex set) would destroy that property. All faces (including the outer one) are then bounded by three edges, explaining the alternative term plane triangulation. The alternative names "triangular graph"[4] or "triangulated graph"[5] have also been used, but are ambiguous, as they more commonly refer to the line graph of a complete graph and to the chordal graphs respectively. Every maximal planar graph is at least 3-connected.
If a maximal planar graph has v vertices with v > 2, then it has precisely 3v – 6 edges and 2v – 4 faces.
Apollonian networks are the maximal planar graphs formed by repeatedly splitting triangular faces into triples of smaller triangles. Equivalently, they are the planar 3-trees.
Strangulated graphs are the graphs in which every peripheral cycle is a triangle. In a maximal planar graph (or more generally a polyhedral graph) the peripheral cycles are the faces, so maximal planar graphs are strangulated. The strangulated graphs include also the chordal graphs, and are exactly the graphs that can be formed by clique-sums (without deleting edges) of complete graphs and maximal planar graphs.[6]
Outerplanar graphs
[edit]Outerplanar graphs are graphs with an embedding in the plane such that all vertices belong to the unbounded face of the embedding. Every outerplanar graph is planar, but the converse is not true: K4 is planar but not outerplanar. A theorem similar to Kuratowski's states that a finite graph is outerplanar if and only if it does not contain a subdivision of K4 or of K2,3. The above is a direct corollary of the fact that a graph G is outerplanar if the graph formed from G by adding a new vertex, with edges connecting it to all the other vertices, is a planar graph.[7]
A 1-outerplanar embedding of a graph is the same as an outerplanar embedding. For k > 1 a planar embedding is k-outerplanar if removing the vertices on the outer face results in a (k – 1)-outerplanar embedding. A graph is k-outerplanar if it has a k-outerplanar embedding.
Halin graphs
[edit]A Halin graph is a graph formed from an undirected plane tree (with no degree-two nodes) by connecting its leaves into a cycle, in the order given by the plane embedding of the tree. Equivalently, it is a polyhedral graph in which one face is adjacent to all the others. Every Halin graph is planar. Like outerplanar graphs, Halin graphs have low treewidth, making many algorithmic problems on them more easily solved than in unrestricted planar graphs.[8]
Upward planar graphs
[edit]An upward planar graph is a directed acyclic graph that can be drawn in the plane with its edges as non-crossing curves that are consistently oriented in an upward direction. Not every planar directed acyclic graph is upward planar, and it is NP-complete to test whether a given graph is upward planar.
Convex planar graphs
[edit]A planar graph is said to be convex if all of its faces (including the outer face) are convex polygons. Not all planar graphs have a convex embedding (e.g. the complete bipartite graph K2,4). A sufficient condition that a graph can be drawn convexly is that it is a subdivision of a 3-vertex-connected planar graph. Tutte's spring theorem even states that for simple 3-vertex-connected planar graphs the position of the inner vertices can be chosen to be the average of its neighbors.
Word-representable planar graphs
[edit]Word-representable planar graphs include triangle-free planar graphs and, more generally, 3-colourable planar graphs,[9] as well as certain face subdivisions of triangular grid graphs,[10] and certain triangulations of grid-covered cylinder graphs.[11]
Theorems
[edit]Enumeration of planar graphs
[edit]The asymptotic for the number of (labeled) planar graphs on vertices is , where and .[12]
Almost all planar graphs have an exponential number of automorphisms.[13]
The number of unlabeled (non-isomorphic) planar graphs on vertices is between and .[14]
Other results
[edit]The four color theorem states that every planar graph is 4-colorable (i.e., 4-partite).
Fáry's theorem states that every simple planar graph admits a representation as a planar straight-line graph. A universal point set is a set of points such that every planar graph with n vertices has such an embedding with all vertices in the point set; there exist universal point sets of quadratic size, formed by taking a rectangular subset of the integer lattice. Every simple outerplanar graph admits an embedding in the plane such that all vertices lie on a fixed circle and all edges are straight line segments that lie inside the disk and don't intersect, so n-vertex regular polygons are universal for outerplanar graphs.
Scheinerman's conjecture (now a theorem) states that every planar graph can be represented as an intersection graph of line segments in the plane.
The planar separator theorem states that every n-vertex planar graph can be partitioned into two subgraphs of size at most 2n/3 by the removal of O(√n) vertices. As a consequence, planar graphs also have treewidth and branch-width O(√n).
The planar product structure theorem states that every planar graph is a subgraph of the strong graph product of a graph of treewidth at most 8 and a path.[15] This result has been used to show that planar graphs have bounded queue number, bounded non-repetitive chromatic number, and universal graphs of near-linear size. It also has applications to vertex ranking[16] and p-centered colouring[17] of planar graphs.
For two planar graphs with v vertices, it is possible to determine in time O(v) whether they are isomorphic or not (see also graph isomorphism problem).[18]
Any planar graph on n nodes has at most 8(n-2) maximal cliques,[19] which implies that the class of planar graphs is a class with few cliques.
Generalizations
[edit]An apex graph is a graph that may be made planar by the removal of one vertex, and a k-apex graph is a graph that may be made planar by the removal of at most k vertices.
A 1-planar graph is a graph that may be drawn in the plane with at most one simple crossing per edge, and a k-planar graph is a graph that may be drawn with at most k simple crossings per edge.
A map graph is a graph formed from a set of finitely many simply-connected interior-disjoint regions in the plane by connecting two regions when they share at least one boundary point. When at most three regions meet at a point, the result is a planar graph, but when four or more regions meet at a point, the result can be nonplanar (for example, if one thinks of a circle divided into sectors, with the sectors being the regions, then the corresponding map graph is the complete graph as all the sectors have a common boundary point - the centre point).
A toroidal graph is a graph that can be embedded without crossings on the torus. More generally, the genus of a graph is the minimum genus of a two-dimensional surface into which the graph may be embedded; planar graphs have genus zero and nonplanar toroidal graphs have genus one. Every graph can be embedded without crossings into some (orientable, connected) closed two-dimensional surface (sphere with handles) and thus the genus of a graph is well defined. Obviously, if the graph can be embedded without crossings into a (orientable, connected, closed) surface with genus g, it can be embedded without crossings into all (orientable, connected, closed) surfaces with greater or equal genus. There are also other concepts in graph theory that are called "X genus" with "X" some qualifier; in general these differ from the above defined concept of "genus" without any qualifier. Especially the non-orientable genus of a graph (using non-orientable surfaces in its definition) is different for a general graph from the genus of that graph (using orientable surfaces in its definition).
Any graph may be embedded into three-dimensional space without crossings. In fact, any graph can be drawn without crossings in a two plane setup, where two planes are placed on top of each other and the edges are allowed to "jump up" and "drop down" from one plane to the other at any place (not just at the graph vertexes) so that the edges can avoid intersections with other edges. This can be interpreted as saying that it is possible to make any electrical conductor network with a two-sided circuit board where electrical connection between the sides of the board can be made (as is possible with typical real life circuit boards, with the electrical connections on the top side of the board achieved through pieces of wire and at the bottom side by tracks of copper constructed on to the board itself and electrical connection between the sides of the board achieved through drilling holes, passing the wires through the holes and soldering them into the tracks); one can also interpret this as saying that in order to build any road network, one only needs just bridges or just tunnels, not both (2 levels is enough, 3 is not needed). Also, in three dimensions the question about drawing the graph without crossings is trivial. However, a three-dimensional analogue of the planar graphs is provided by the linklessly embeddable graphs, graphs that can be embedded into three-dimensional space in such a way that no two cycles are topologically linked with each other. In analogy to Kuratowski's and Wagner's characterizations of the planar graphs as being the graphs that do not contain K5 or K3,3 as a minor, the linklessly embeddable graphs may be characterized as the graphs that do not contain as a minor any of the seven graphs in the Petersen family. In analogy to the characterizations of the outerplanar and planar graphs as being the graphs with Colin de Verdière graph invariant at most two or three, the linklessly embeddable graphs are the graphs that have Colin de Verdière invariant at most four.
See also
[edit]- Combinatorial map a combinatorial object that can encode plane graphs
- Planarization, a planar graph formed from a drawing with crossings by replacing each crossing point by a new vertex
- Thickness (graph theory), the smallest number of planar graphs into which the edges of a given graph may be partitioned
- Planarity, a puzzle computer game in which the objective is to embed a planar graph onto a plane
- Sprouts (game), a pencil-and-paper game where a planar graph subject to certain constraints is constructed as part of the game play
- Three utilities problem, a popular puzzle
Notes
[edit]- ^ Trudeau, Richard J. (1993). Introduction to Graph Theory (Corrected, enlarged republication. ed.). New York: Dover Pub. p. 64. ISBN 978-0-486-67870-2. Retrieved 8 August 2012.
Thus a planar graph, when drawn on a flat surface, either has no edge-crossings or can be redrawn without them.
- ^ Barthelemy, M. (2017). "1.5 Planar Graphs". Morphogenesis of Spatial Networks. Springer. p. 6. ISBN 978-3-319-20565-6.
- ^ Buhl, J.; Gautrais, J.; Sole, R.V.; Kuntz, P.; Valverde, S.; Deneubourg, J.L.; Theraulaz, G. (2004), "Efficiency and robustness in ant networks of galleries", European Physical Journal B, 42 (1): 123–129, Bibcode:2004EPJB...42..123B, doi:10.1140/epjb/e2004-00364-9, S2CID 14975826.
- ^ Schnyder, W. (1989), "Planar graphs and poset dimension", Order, 5 (4): 323–343, doi:10.1007/BF00353652, MR 1010382, S2CID 122785359.
- ^ Bhasker, Jayaram; Sahni, Sartaj (1988), "A linear algorithm to find a rectangular dual of a planar triangulated graph", Algorithmica, 3 (1–4): 247–278, doi:10.1007/BF01762117, S2CID 2709057.
- ^ Seymour, P. D.; Weaver, R. W. (1984), "A generalization of chordal graphs", Journal of Graph Theory, 8 (2): 241–251, doi:10.1002/jgt.3190080206, MR 0742878.
- ^ Felsner, Stefan (2004), "1.4 Outerplanar Graphs and Convex Geometric Graphs", Geometric graphs and arrangements, Advanced Lectures in Mathematics, Friedr. Vieweg & Sohn, Wiesbaden, pp. 6–7, doi:10.1007/978-3-322-80303-0_1, ISBN 3-528-06972-4, MR 2061507
- ^ Sysło, Maciej M.; Proskurowski, Andrzej (1983), "On Halin graphs", Graph Theory: Proceedings of a Conference held in Lagów, Poland, February 10–13, 1981, Lecture Notes in Mathematics, vol. 1018, Springer-Verlag, pp. 248–256, doi:10.1007/BFb0071635.
- ^ Halldórsson, M.; Kitaev, S.; Pyatkin., A. (2016). "Semi-transitive orientations and word-representable graphs" (PDF). Discr. Appl. Math. 201: 164–171. doi:10.1016/j.dam.2015.07.033. S2CID 26796091.
- ^ Chen, T. Z. Q.; Kitaev, S.; Sun, B. Y. (2016). "Word-representability of face subdivisions of triangular grid graphs". Graphs and Combin. 32 (5): 1749–61. arXiv:1503.08002. doi:10.1007/s00373-016-1693-z. S2CID 43817300.
- ^ Chen, T. Z. Q.; Kitaev, S.; Sun, B. Y. (2016). "Word-representability of triangulations of grid-covered cylinder graphs". Discr. Appl. Math. 213: 60–70. arXiv:1507.06749. doi:10.1016/j.dam.2016.05.025. S2CID 26987743.
- ^ Giménez, Omer; Noy, Marc (2009). "Asymptotic enumeration and limit laws of planar graphs". Journal of the American Mathematical Society. 22 (2): 309–329. arXiv:math/0501269. Bibcode:2009JAMS...22..309G. doi:10.1090/s0894-0347-08-00624-3. S2CID 3353537.
- ^ McDiarmid, Colin; Steger, Angelika; Welsh, Dominic J.A. (2005). "Random planar graphs". Journal of Combinatorial Theory, Series B. 93 (2): 187–205. CiteSeerX 10.1.1.572.857. doi:10.1016/j.jctb.2004.09.007.
- ^ Bonichon, N.; Gavoille, C.; Hanusse, N.; Poulalhon, D.; Schaeffer, G. (2006). "Planar Graphs, via Well-Orderly Maps and Trees". Graphs and Combinatorics. 22 (2): 185–202. CiteSeerX 10.1.1.106.7456. doi:10.1007/s00373-006-0647-2. S2CID 22639942.
- ^ Dujmović, Vida; Joret, Gwenäel; Micek, Piotr; Morin, Pat; Ueckerdt, Torsten; Wood, David R. (2020), "Planar graphs have bounded queue number", Journal of the ACM, 67 (4): 22:1–22:38, arXiv:1904.04791, doi:10.1145/3385731
- ^ Bose, Prosenjit; Dujmović, Vida; Javarsineh, Mehrnoosh; Morin, Pat (2020), Asymptotically optimal vertex ranking of planar graphs, arXiv:2007.06455
- ^ Dębski, Michał; Felsner, Stefan; Micek, Piotr; Schröder, Felix (2021), "Improved Bounds for Centered Colorings", Advances in Combinatorics, arXiv:1907.04586, doi:10.19086/aic.27351, S2CID 195874032
- ^ Filotti, I. S.; Mayer, Jack N. (1980). "A polynomial-time algorithm for determining the isomorphism of graphs of fixed genus". Proceedings of the 12th Annual ACM Symposium on Theory of Computing (PDF). pp. 236–243. doi:10.1145/800141.804671. ISBN 978-0-89791-017-0. S2CID 16345164.
- ^ Wood, D. R. (2007). On the Maximum Number of Cliques in a Graph. Graphs and Combinatorics, 23(3), 337–352. https://doi.org/10.1007/s00373-007-0738-8
References
[edit]- Kuratowski, Kazimierz (1930), "Sur le problème des courbes gauches en topologie" (PDF), Fundamenta Mathematicae (in French), 15: 271–283, doi:10.4064/fm-15-1-271-283.
- Wagner, K. (1937), "Über eine Eigenschaft der ebenen Komplexe", Mathematische Annalen (in German), 114: 570–590, doi:10.1007/BF01594196, S2CID 123534907.
- Boyer, John M.; Myrvold, Wendy J. (2005), "On the cutting edge: Simplified O(n) planarity by edge addition" (PDF), Journal of Graph Algorithms and Applications, 8 (3): 241–273, doi:10.7155/jgaa.00091.
- McKay, Brendan; Brinkmann, Gunnar, A useful planar graph generator.
- de Fraysseix, H.; Ossona de Mendez, P.; Rosenstiehl, P. (2006), "Trémaux trees and planarity", International Journal of Foundations of Computer Science, 17 (5): 1017–1029, arXiv:math/0610935, doi:10.1142/S0129054106004248, S2CID 40107560. Special Issue on Graph Drawing.
- Bader, D.A.; Sreshta, S. (October 1, 2003). A New Parallel Algorithm for Planarity Testing (Technical report). UNM-ECE Technical Report 03-002. Archived from the original on 2016-03-16.
- Fisk, Steve (1978), "A short proof of Chvátal's watchman theorem", Journal of Combinatorial Theory, Series B, 24 (3): 374, doi:10.1016/0095-8956(78)90059-X.
External links
[edit]![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
- Edge Addition Planarity Algorithm Source Code, version 1.0 — Free C source code for reference implementation of Boyer–Myrvold planarity algorithm, which provides both a combinatorial planar embedder and Kuratowski subgraph isolator. An open source project with free licensing provides the Edge Addition Planarity Algorithms, current version.
- Public Implementation of a Graph Algorithm Library and Editor — GPL graph algorithm library including planarity testing, planarity embedder and Kuratowski subgraph exhibition in linear time.
- Boost Graph Library tools for planar graphs, including linear time planarity testing, embedding, Kuratowski subgraph isolation, and straight-line drawing.
- 3 Utilities Puzzle and Planar Graphs
- NetLogo Planarity model — NetLogo version of John Tantalo's game