1: \begin{abstract}
2: Herman's algorithm is a synchronous randomized protocol for achieving
3: self-stabilization in a token ring consisting of $N$ processes. The
4: interaction of tokens makes the dynamics of the protocol very
5: difficult to analyze. In this paper we study the expected time to
6: stabilization in terms of the initial configuration.
7:
8: It is straightforward that the algorithm achieves stabilization almost
9: surely from any initial configuration, and it is known that the
10: worst-case expected time to stabilization (with respect to the initial
11: configuration) is $\Theta(N^2)$. Our first contribution is to give an
12: upper bound of $0.64N^2$ on the expected stabilization time, improving
13: on previous upper bounds and reducing the gap with the best existing
14: lower bound. We also introduce an asynchronous version of the
15: protocol, showing a similar $O(N^2)$ convergence bound in this case.
16:
17: Assuming that errors arise from the corruption of some number $k$ of
18: bits, where $k$ is fixed independently of the size of the ring, we
19: show that the expected time to stabilization is $O(N)$. This reveals
20: a hitherto unknown and highly desirable property of Herman's
21: algorithm: it recovers quickly from bounded errors. We also show that
22: if the initial configuration arises by resetting each bit
23: independently and uniformly at random, then stabilization is
24: significantly faster than in the worst case.
25: \end{abstract}