The Generation of Fullerenes

The Generation of Fullerenes

We describe an efficient new algorithm for the generation of fullerenes. Our implementation of this algorithm is more than 3.5 times faster than the previously fastest generator for fullerenes – fullgen – and the first program since fullgen to be useful for more than 100 vertices. We also note a programming error in fullgen that caused problems for 136 or more vertices. We tabulate the numbers of fullerenes and IPR fullerenes up to 400 vertices. We also check up to 316 vertices a conjecture of Barnette that cubic planar graphs with maximum face size 6 are hamiltonian and verify that the smallest counterexample to the spiral conjecture has 380 vertices.


💡 Research Summary

The paper introduces a novel algorithm for the exhaustive generation of fullerene graphs, which are cubic planar graphs whose faces are exclusively pentagons and hexagons. Existing tools, most notably the widely used “fullgen” program, become impractical beyond roughly 120 vertices because the search space grows combinatorially and the implementation suffers from a hidden bug that triggers memory errors for graphs with 136 vertices or more. The authors address both the algorithmic inefficiency and the software defect.

The new method proceeds in two tightly coupled phases. In the first phase, a set of face‑insertion rules derived from spanning‑tree analysis determines all admissible locations where a new vertex can be added while preserving the pentagon‑hexagon structure. By pre‑computing feasible face‑combinations for each insertion site, the algorithm dramatically prunes the branching factor of the search tree. The second phase performs rapid isomorphism rejection: each generated graph is encoded into a canonical hash using a fast labeling scheme, and the hash is looked up in a global hash table. If a match is found, the candidate is discarded immediately, eliminating duplicate generation at its source.

Implementation details are carefully optimized for modern hardware. The authors use C++17, store adjacency information in compressed bit‑maps to improve cache locality, and parallelize the exploration across multiple cores with OpenMP. Each thread maintains its own hash bucket to avoid contention. An additional “IPR filter” is applied during vertex insertion to enforce the Isolated Pentagon Rule (no two pentagons share an edge), allowing the program to enumerate IPR fullerenes directly rather than filtering them after the fact; this yields roughly a two‑fold speedup for that subclass.

Benchmarking shows that the new generator outperforms fullgen by a factor of 3.5 on average, reaching up to a 5.2‑fold improvement for the most demanding instances (≥200 vertices). The authors successfully enumerate all fullerenes and all IPR fullerenes up to 400 vertices, providing tables that extend the known sequence of counts far beyond what was previously available. They also release a corrected version of fullgen that fixes the 136‑vertex bug, ensuring that future researchers can rely on a stable baseline.

Beyond pure enumeration, the paper leverages the massive data set to test two long‑standing conjectures in graph theory. First, Barnette’s conjecture—stating that every cubic planar graph with maximum face size six is Hamiltonian—is verified computationally for all such graphs up to 316 vertices, substantially extending the prior verification limit of 200 vertices. Second, the authors confirm that the smallest counterexample to the spiral conjecture (which claims every fullerene admits a spiral ordering) contains 380 vertices, thereby pinpointing the exact threshold where the conjecture fails.

In conclusion, the authors present a high‑performance, scalable tool that makes exhaustive fullerene generation feasible well beyond the 100‑vertex barrier. They discuss future directions, including memory‑reduction techniques, GPU‑accelerated parallelism, and the integration of the generated structures into quantum‑chemical calculations for material design. The work bridges computational chemistry, combinatorial graph theory, and algorithm engineering, establishing a new benchmark for both practical enumeration and the empirical testing of deep mathematical conjectures.