  The stable marriage problem requires one to find a marriage with no blocking
pair. Given a matching that is not stable, Roth and Vande Vate have shown that
there exists a sequence of matchings that leads to a stable matching in which
each successive matching is obtained by satisfying a blocking pair. The
sequence produced by Roth and Vande Vate's algorithm is of length $O(n^3)$
where $n$ is the number of men (and women). In this paper, we present an
algorithm that achieves stability in a sequence of matchings of length
$O(n^2)$. We also give an efficient algorithm to find the stable matching
closest to the given initial matching under an appropriate distance function
between matchings.
