Efficient implementation of the pivot algorithm for self-avoiding walks

Reading time: 6 minute
...

📝 Original Info

  • Title: Efficient implementation of the pivot algorithm for self-avoiding walks
  • ArXiv ID: 1005.1444
  • Date: 2016-10-06
  • Authors: Researchers from original ArXiv paper

📝 Abstract

The pivot algorithm for self-avoiding walks has been implemented in a manner which is dramatically faster than previous implementations, enabling extremely long walks to be efficiently simulated. We explicitly describe the data structures and algorithms used, and provide a heuristic argument that the mean time per attempted pivot for $N$-step self-avoiding walks is $O(1)$ for the square and simple cubic lattices. Numerical experiments conducted for self-avoiding walks with up to 268 million steps are consistent with $o(\log N)$ behavior for the square lattice and $O(\log N)$ behavior for the simple cubic lattice. Our method can be adapted to other models of polymers with short-range interactions, on the lattice or in the continuum, and hence promises to be widely useful.

💡 Deep Analysis

Deep Dive into Efficient implementation of the pivot algorithm for self-avoiding walks.

The pivot algorithm for self-avoiding walks has been implemented in a manner which is dramatically faster than previous implementations, enabling extremely long walks to be efficiently simulated. We explicitly describe the data structures and algorithms used, and provide a heuristic argument that the mean time per attempted pivot for $N$-step self-avoiding walks is $O(1)$ for the square and simple cubic lattices. Numerical experiments conducted for self-avoiding walks with up to 268 million steps are consistent with $o(\log N)$ behavior for the square lattice and $O(\log N)$ behavior for the simple cubic lattice. Our method can be adapted to other models of polymers with short-range interactions, on the lattice or in the continuum, and hence promises to be widely useful.

📄 Full Content

The self-avoiding walk (SAW) model is an important model in statistical physics [16]. It models the excludedvolume effect observed in real polymers, and exactly captures universal features such as critical exponents and amplitude ratios. It is also an important model in the study of critical phenomena, as it is the n → 0 limit of the n-vector model, which includes the Ising model (n = 1) as another instance. Indeed, one can straightforwardly simulate SAWs in the infinite volume limit, which makes this model particularly favorable for the calculation of critical parameters. Exact results are known for self-avoiding walks in two dimensions [19,14] and for d ≥ 4 (mean-field behavior has been proved for d ≥ 5 [8]), but not for the most physically interesting case of d = 3.

The pivot algorithm is a powerful and oft-used approach to the study of self-avoiding walks, invented by Lal [13] and later elucidated and popularized by Madras and Sokal [17]. The pivot algorithm uses pivot moves as the transitions in a Markov chain which proceeds as follows. From an initial SAW of length N, such as a straight rod, new N-step walks are successively generated by choosing a site of the walk at random, and attempting to apply a lattice symmetry operation, or pivot, to one of the parts of the walk; if the resulting walk is self-avoiding the move is accepted, otherwise the move is rejected and the original walk is retained. Thus a Markov chain is formed in the ensemble of SAWs of fixed length; this chain satisfies detailed balance and is ergodic, ensuring that SAWs are sampled uniformly at random.

One typical use of the pivot algorithm is to calculate observables which characterize the size of the SAWs: the squared end-to-end distance R 2 e , the squared radius of gyration R 2 g , and the mean-square distance of a monomer from its endpoints R 2 m . To leading order we expect the mean values of these observables over all SAWs of N steps, with each SAW is given equal weight, to be R 2

x N ∼ D x N 2ν (x ∈ {e, g, m}), with ν a universal critical exponent. For N-step SAWs, the implementation of the pivot algorithm due to Madras and Sokal has estimated mean time per attempted pivot of O(N 0.81 ) on Z 2 and O(N 0.89 ) on Z 3 ; performance was significantly improved by Kennedy [9] to O(N 0.38 ) and O(N 0.74 ) respectively.

In this article, we give a detailed description of a new data structure we call the SAW-tree. This data structure allows us to implement the pivot algorithm in a highly efficient manner: we present a heuristic argument that the mean time per attempted pivot is O(1) on Z 2 and Z 3 , and numerical experiments which show that for walks of up to N = 2 28 -1 ≈ 2.7 × 10 8 steps the algorithmic complexity is well approximated by O(log N). This improvement enables the rapid simulation of walks with many millions of steps.

In a companion article [4], we describe the algorithm in general terms, and demonstrate the power of the method by applying it to the problem of calculating the critical exponent ν for three-dimensional self-avoiding walks.

Thus far the SAW-tree has been implemented for Z 2 , Z 3 , and Z 4 , but it can be straightforwardly adapted to other lattices and the continuum, as well as polymer models with short-range interactions. Other possible extensions would be to allow for branched polymers, confined polymers, or simulation of polymers in solution.

We intend to implement the SAW-tree and associated methods as an open source software library for use by researchers in the field of polymer simulation.

Madras and Sokal [17] demonstrated, through strong heuristic arguments and numerical experiments, that the pivot algorithm results in a Markov chain with short integrated autocorrelation time for global observables. The pivot algorithm is far more efficient than Markov chains which utilize local moves; see [17,15,22,23] for detailed discussion.

The implementation of the pivot algorithm by Madras and Sokal utilized a hash table to record the location of each site of the walk. They showed that for N-step SAWs the probability of a pivot move being accepted is O(N -p ), with p dimension-dependent but close to zero (p 0.2). As accepted pivots typically result in a large change in global observables such as R 2 e , this leads to the conclusion that the pivot algorithm has integrated autocorrelation time O(N p ), with possible logarithmic corrections. In addition, they argued convincingly that the CPU time per successful pivot is O(N) for their implementation. Throughout this article we work with the mean time per attempted pivot, T (N), which for the Madras and Sokal implementation is O(N 1-p ).

Madras and Sokal argued that O(N) per successful pivot is best possible because it takes time O(N) to merely write down an N-step SAW. Kennedy [9], however, recognized that it is not necessary to write down the SAW for each successful pivot, and developed a data structure and algorithm which cleverly utilized geometric con

…(Full text truncated)…

📸 Image Gallery

cover.png page_2.webp page_3.webp

Reference

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut