The pivot algorithm is a form of Monte Carlo algorithm used to generate configurations of self-avoiding walks, typically on a lattice. [1] The algorithm typically begins with a straight line consisting of some number N points on the lattice, and transforms it into a disorganized shape known as a walk, in which no two points on the walk occupy the same site on the lattice. In two dimensions it operates according to the following steps:
The configurations generated by the algorithm provide information about the combinatorics of self-avoiding walks and are used to understand the physics of polymers, which can be approximated as self-avoiding walks. The algorithm was invented by Moti Lal in 1969. [2] It can be implemented efficiently, having a computational complexity that allows walks of length N to be generated in a time proportional to the logarithm of N, known as logarithmic time. [1]