Counting Complex Disordered States by Efficient Pattern Matching: Chromatic Polynomials and Potts Partition Functions
Marc Timme, Frank van Bussel, Denny Fliegner, and Sebastian, Stolzenberg

TL;DR
This paper introduces a novel, efficient pattern matching algorithm to compute chromatic polynomials of graphs, significantly outperforming existing methods and enabling the analysis of complex three-dimensional lattice structures.
Contribution
The paper presents a vertex-oriented symbolic pattern matching algorithm that efficiently computes chromatic polynomials, outperforming traditional methods and enabling analysis of larger, more complex graphs.
Findings
Outperforms standard methods by several orders of magnitude
Successfully computes chromatic polynomials of 3D cubic lattices
Enables analysis of complex disordered systems in physics and chemistry
Abstract
Counting problems, determining the number of possible states of a large system under certain constraints, play an important role in many areas of science. They naturally arise for complex disordered systems in physics and chemistry, in mathematical graph theory, and in computer science. Counting problems, however, are among the hardest problems to access computationally. Here, we suggest a novel method to access a benchmark counting problem, finding chromatic polynomials of graphs. We develop a vertex-oriented symbolic pattern matching algorithm that exploits the equivalence between the chromatic polynomial and the zero-temperature partition function of the Potts antiferromagnet on the same graph. Implementing this bottom-up algorithm using appropriate computer algebra, the new method outperforms standard top-down methods by several orders of magnitude, already for moderately sized…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
