SAWdoubler: a program for counting self-avoiding walks
Raoul D. Schram, Gerard T. Barkema, Rob H. Bisseling

TL;DR
SAWdoubler is a software package that efficiently counts self-avoiding walks on lattices using length-doubling, symmetry exploitation, and parallel computation, enabling large-scale calculations within practical time and memory limits.
Contribution
The paper introduces SAWdoubler, a novel software tool that improves counting of self-avoiding walks through efficient algorithms, symmetry use, and parallelization, extending capabilities to larger N.
Findings
Z(28) computed in 1 hour 40 minutes on dual-core PC
Speedup of 1.56 with multicore parallelization
Symmetry exploitation reduces computation by a factor of 26
Abstract
This article presents SAWdoubler, a package for counting the total number Z(N) of self-avoiding walks (SAWs) on a regular lattice by the length-doubling method, of which the basic concept has been published previously by us. We discuss an algorithm for the creation of all SAWs of length N, efficient storage of these SAWs in a tree data structure, and an algorithm for the computation of correction terms to the count Z(2N) for SAWs of double length, removing all combinations of two intersecting single-length SAWs. We present an efficient numbering of the lattice sites that enables exploitation of symmetry and leads to a smaller tree data structure; this numbering is by increasing Euclidean distance from the origin of the lattice. Furthermore, we show how the computation can be parallelised by distributing the iterations of the main loop of the algorithm over the cores of a multicore…
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.
