it may be made shorter by removing its last step. These two operations compose an end-point elementary move for sampling self-avoiding walks, as illustrated in figure \[figure1\]: A *positive elementary move* is the addition of an edge to the endpoint of a growing walk. The reverse of a positive elementary move is a *negative elementary move*, namely the deletion of the least edge in a walk. Notice that every positive move is immediately reversible by a negative elementary move.

Endpoint elementary moves have been used widely in the simulation of self-avoiding walks (for example the Rosenbluth algorithm [@RR55], and the Beretti-Sokal algorithm [@BS85]). In what follows the discussion will be restricted to endpoint elementary moves; however, the algorithms generalise directly if other elementary moves, such as BFACF elementary moves [@BF81; @AA83], or generalised atmospheric moves [@RJvR08], are used instead.

figure3-.tex

As an example, consider the elementary move in figure \[figure1\], which is an implementation of an endpoint elementary move on a self-avoiding walk in the positive half-lattice $\mathL^+_2$ (where $\vec{w}(2)$ is the $y$-coordinate of $\vec{w}$). The set of lattice edges in $\mathL^+_2$ which may be appended to the walk $w$ to extend it by one step is the *positive atmosphere* 