Open 89c6e537-b2e3-45e6-882d-d4957b74ffe5 opened 15 years ago
Add myself since I'm interested in (implementing the ideas of) this ticket.
Related subject, recently published : Uniform random sampling of planar graphs in linear time
The paper and a Java implementation are available on : http://algo.inria.fr/fusy/
Now partially available via plantri spkg : #16970
Changed keywords from none to planar graph, triangulation
Replying to @nathanncohen:
Related subject, recently published : Uniform random sampling of planar graphs in linear time
The paper and a Java implementation are available on : http://algo.inria.fr/fusy/
For future reference, Eric Fusy's page is now at: http://www.lix.polytechnique.fr/Labo/Eric.Fusy/
Excerpt of that page about that paper and Java implementation:
Uniform random sampling of planar graphs in linear time.
Random Structures and Algorithms 35(4): 464-522 (2009). pdf
Short version, under the title "Quadratic exact-size and linear approximate-size random generation of planar graphs": Proceedings of the AofA'05 Conference (Analysis of Algorithms-2005), published in Discrete Mathematics and Theoretical Computer Science (DMTCS) Proceedings, vol AD, pp. 125-138 (2005). pdf
Implementation (in java) tar.gz
Regarding plantri, one can now install it as an optional package by running the following in a terminal
sage -i plantri
(not sure if one needs to then run make
from the directory where Sage is installed).
Description changed:
---
+++
@@ -6,6 +6,6 @@
1. Implement section 1.3 of the above paper. This allows for a much faster implementation of automorphism group and isomorphism in the case of plane graphs.
-2. Generate all planar triangluations, with min degree at least `max(d,3)`, connectivity at least `max(k,3)`. This is described in section 1.2, mainly the third paragraph. Essentially, you start with K_4, and you augment by one of the three moves E_3, E_4, or E_5. The "backwards" step in canonical augmentation here is to first try to remove the least-labeled vertex of degree 3, i.e. try to undo E_3 if possible, or degree 4 if that is possible, i.e. try to undo E_4 if possible, then finally checking for degree 5.
+2. Generate all planar triangulations, with min degree at least `max(d,3)`, connectivity at least `max(k,3)`. This is described in section 1.2, mainly the third paragraph. Essentially, you start with K_4, and you augment by one of the three moves E_3, E_4, or E_5. The "backwards" step in canonical augmentation here is to first try to remove the least-labeled vertex of degree 3, i.e. try to undo E_3 if possible, or degree 4 if that is possible, i.e. try to undo E_4 if possible, then finally checking for degree 5.
3. Use these, together with edge deletion and canonical augmentation, to generate all plane graphs.
Essentially, this shouldn't be too difficult to implement in Sage:
http://cs.anu.edu.au/~bdm/papers/plantri-full.pdf
The basic steps to generate plane graphs (graphs embedded in the plane) of minimum degree at least
d
, connectivity at leastk
, number of edges at leaste
, and max face size at mostp
, are:Implement section 1.3 of the above paper. This allows for a much faster implementation of automorphism group and isomorphism in the case of plane graphs.
Generate all planar triangulations, with min degree at least
max(d,3)
, connectivity at leastmax(k,3)
. This is described in section 1.2, mainly the third paragraph. Essentially, you start with K_4, and you augment by one of the three moves E_3, E_4, or E_5. The "backwards" step in canonical augmentation here is to first try to remove the least-labeled vertex of degree 3, i.e. try to undo E_3 if possible, or degree 4 if that is possible, i.e. try to undo E_4 if possible, then finally checking for degree 5.Use these, together with edge deletion and canonical augmentation, to generate all plane graphs.
CC: @nathanncohen @sagetrac-mvngu @slel
Component: graph theory
Keywords: planar graph, triangulation
Issue created by migration from https://trac.sagemath.org/ticket/6074