1: % A LaTeX file for a 13 page paper.
2: \documentclass[12pt]{article}
3: \usepackage{amsmath2000,amsthm2000,amssymb,amsfonts}
4: % Note: the 2000s in the line above are for compatability
5: % purposes in the arXiv; delete them to latex it on your own.
6:
7: \setlength{\textwidth}{6.3in}
8: \setlength{\textheight}{8.7in}
9: \setlength{\topmargin}{0pt}
10: \setlength{\headsep}{0pt}
11: \setlength{\headheight}{0pt}
12: \setlength{\oddsidemargin}{0pt}
13: \setlength{\evensidemargin}{0pt}
14:
15: \makeatletter
16: \newfont{\footsc}{cmcsc10 at 8truept}
17: \newfont{\footbf}{cmbx10 at 8truept}
18: \newfont{\footrm}{cmr10 at 10truept}
19: \renewcommand{\ps@plain}{%
20: \renewcommand{\@oddfoot}{\footsc the electronic journal of combinatorics
21: {\footbf 9} (2002), \#R10\hfil\footrm\thepage}}
22: \renewcommand{\section}{\@startsection
23: {section}{1}{0pt}{-3.5ex plus-1ex minus-.2ex}%
24: {0.8ex plus.2ex}{\centering\normalfont\large\bfseries}}
25: \newcommand{\ssection}[1]%
26: {\addtocounter{section}{1}\section*{\arabic{section}.\ \ #1} \ }
27: % The \ at the end is a kludge to make it indent after section headings.
28: % The spacing isn't perfect, but still looks OK.
29: \newcommand{\ssections}[1]%
30: {\addtocounter{section}{1}\section*{#1} \ }
31: \setcounter{section}{0}
32: \makeatother
33: \pagestyle{plain}
34: \theoremstyle{plain}
35: \newtheorem{thm}{Theorem}
36: \newtheorem{cor}[thm]{Corollary}
37: \newtheorem{lem}[thm]{Lemma}
38: \newtheorem{pr}[thm]{Proposition}
39: \newtheorem{quest}[thm]{Question}
40: \numberwithin{thm}{section}
41:
42: \numberwithin{equation}{section}
43:
44: \newcommand{\R}{{\mathbb R}}
45: \newcommand{\Z}{{\mathbb Z}}
46: \newcommand{\N}{{\mathbb N}}
47: \newcommand{\E}{{\bf E}}
48:
49: \newcommand{\DD}{\Delta}
50: \newcommand{\DE}{\Delta'}
51: \newcommand{\sign}{\mbox{sgn}}
52: \newcommand{\deq}{\, {\stackrel {\textup{def}} {=}}}
53: \newcommand{\diseq}{\, {\stackrel {{\cal D}} {=}}}
54: \newcommand{\ee}{\varepsilon}
55: \newcommand{\dd}{\delta}
56: \newcommand{\vv}{{\vec v}}
57: \newcommand{\cS}{{\mathcal S}}
58: \newcommand{\B}{{\mathcal B}}
59: \newcommand{\cE}{{\cal E}}
60: \newcommand{\Prob}{{\bf{P}}}
61: \newcommand{\F}{{\mathcal{F}}}
62: \newcommand{\one}{{\bf 1}}
63:
64: \title{Generating a random sink-free orientation\\
65: in quadratic time}
66: % The line break above keeps "time" from being isolated
67: % in a line by itself, which looks silly.
68:
69: \author{\begin{tabular}{ccc}
70: Henry Cohn
71: % This might look weird with an asterisk down below, but none above.
72: % However, the footnote does not apply just to any particular person.
73: \!\!\phantom{\thanks{This work was begun at the 1997 Workshop on
74: Exact Simulation in Rebild, Denmark (funded by the European
75: Science Foundation) and completed at the 1998 Institute for
76: Elementary Studies (funded by the National Science Foundation).
77: Cohn was supported by an NSF Graduate Research Fellowship, and
78: currently holds a five-year fellowship {}from the American
79: Institute of Mathematics. Propp is supported in part by grants
80: {}from the National Science Foundation and National Security
81: Agency. Pemantle is supported in part by NSF grant DMS 9803249.}}
82: & Robin Pemantle & James Propp\\
83: \small Microsoft Research &
84: \small Department of Mathematics & \small
85: Department of Mathematics\\[-0.8ex]
86: \small One Microsoft Way & \small Ohio State University
87: & \small University of Wisconsin\\[-0.8ex]
88: \small Redmond, WA 98052-6399 & \small Columbus, OH 43210
89: & \small Madison, WI 53706\\[-0.8ex]
90: \small \texttt{cohn@microsoft.com} & \small
91: \texttt{pemantle@math.ohio-state.edu}
92: & \small \texttt{propp@math.wisc.edu}\\[-0.8ex]
93: \end{tabular}}
94:
95:
96:
97: \date{\small Submitted: May 1, 2001; Accepted: March 12, 2002.
98: \\ \small MR Subject Classifications: 60C05, 68W20}
99:
100: \begin{document}
101:
102: \maketitle
103:
104: \begin{abstract}
105: A {\em sink-free orientation\/} of a finite undirected graph is a
106: choice of orientation for each edge such that every vertex has
107: out-degree at least 1. Bubley and Dyer (1997) use Markov Chain
108: Monte Carlo to sample approximately {}from the uniform
109: distribution on sink-free orientations in time $O(m^3 \log (1 /
110: \ee))$, where $m$ is the number of edges and $\ee$ the degree of
111: approximation. Huber (1998) uses coupling {}from the past to
112: obtain an exact sample in time $O(m^4)$. We present a simple
113: randomized algorithm inspired by Wilson's cycle popping method
114: which obtains an exact sample in mean time at most $O(nm)$, where
115: $n$ is the number of vertices.
116: \end{abstract}
117:
118: \ssection{Introduction}
119:
120: A common problem is to select a random sample efficiently {}from a
121: large collection of combinatorial objects. There are many
122: reasons one may wish to do this. One is to obtain an approximate
123: count: Jerrum and Sinclair \cite{JS} showed that if one can
124: generate nearly uniform samples, then for each $\ee >0$, one can
125: obtain the cardinality of the collection to within a factor of $1
126: + \ee$ with probability $1 - \ee$, in just a little more time.
127: When counting the collection is \#P-hard, as in the case of
128: properly $k$-coloring a graph, this may be the only reasonable
129: way to count, since it is unlikely that \#P-hard counting
130: problems can be solved exactly in polynomial time. Another reason
131: to seek a sampling algorithm is that it may shed light on
132: properties of the typical sample. For example, the analysis of
133: typical spanning trees of Cayley graphs \cite{P,BLPS} relies on
134: two algorithms, the first developed by Aldous \cite{A} and Broder
135: \cite{B} and the second by Wilson \cite{W}. The analysis of
136: phase boundaries in typical domino tilings of regions known as
137: Aztec diamonds also relies on a sampling algorithm, known as
138: domino shuffling \cite{CEP}. Finally, sample generation may be a
139: way of producing conjectures about the typical sample via
140: simulation, when no theorem is known (for example, the results in
141: \cite{CEP} were initially discovered this way).
142:
143: One common way to generate samples is Markov Chain Monte Carlo
144: (MCMC). Here one finds an ergodic Markov chain whose equilibrium
145: measure is the desired distribution $\mu$; then one runs the
146: chain until the distribution is close to $\mu$. Constructing
147: such a chain is usually easy (often when $\mu$ is uniform, there
148: is a natural doubly stochastic transition matrix) and the hard
149: part is knowing how long to run it. This may be established via
150: eigenvalue bounds, or via coupling arguments or stopping times.
151: In cases where the time bounds on the chain are established via
152: coupling, it is often possible to improve on MCMC by using
153: coupling {}from the past (CFTP) to obtain an exact sample rather
154: than an approximate one \cite{PW}.
155:
156: In this note we consider the generation of a random {\em sink-free
157: orientation} (SFO) of a finite undirected graph. Sink-free
158: orientations were introduced by Bubley and Dyer \cite{BD}, who
159: were motivated by an equivalence between counting them and
160: counting satisfying assignments of Boolean formulas in
161: conjunctive normal form in which each variable occurs at most
162: twice (they call this problem Twice-SAT). Bubley and Dyer showed
163: that counting sink-free orientations is \#P-complete, so it is
164: unlikely that an exact count can be obtained in polynomial time,
165: and we must use approximate counting techniques based on nearly
166: uniform sampling.
167:
168: Bubley and Dyer give an MCMC algorithm that produces a sample
169: whose distribution is within $\ee$ of uniform (in total variation)
170: in time $O(m^3 \log (1/\ee))$, where $m$ is the number of edges.
171: Huber \cite{H} uses Bubley and Dyer's analysis along with CFTP to
172: produce an exact uniform sample in mean time $O(m^4)$. The
173: purpose of this note is to improve the running time to $O(nm)$,
174: where $n$ is the number of vertices. Instead of MCMC, we use a
175: strong uniform time algorithm inspired by David Wilson's cycle
176: popping algorithm \cite{W} for generating uniform directed
177: spanning trees.
178:
179: We now describe the problem and our results more precisely. Let
180: $G = (V, E)$ be a finite undirected graph. We allow multiple edges
181: and self-loops (but at most one self-loop per vertex, since
182: multiple self-loops play no useful role in sink-free
183: orientations). We define an $n$-cycle to be a ring of $n$ vertices
184: $v_0,\dots,v_{n-1}$ with edges {}from $v_i$ to $v_{i+1}$ for each
185: $i$ (taken modulo $n$; note that a $1$-cycle is a vertex with a
186: self-loop), and an $n$-lollipop to be a path consisting of $n$
187: vertices and $n-1$ edges, with a self-loop added at one end.
188:
189: An orientation of an edge between vertices $v$ and $w$ is a
190: mapping of the set $\{\textup{head},\textup{tail}\}$ onto $\{ v ,
191: w \}$. Thus, a self-loop has only one orientation, but all
192: other edges have two. To reverse the orientation of an edge,
193: swap its head and tail. An orientation of $G$ is an orientation of
194: each edge. A sink in an orientation is a vertex that is not the
195: tail of any edge (a source is the opposite, i.e., not the head of
196: any edge), and a sink-free orientation (SFO) of $G$ is an
197: orientation that contains no sinks. If any connected component of
198: $G$ is a tree, then $G$ has no SFO, and vice versa. Henceforth we
199: restrict consideration to the class $\cS$ of graphs in which no
200: component is a tree. Let $\mu_G$ denote the probability measure
201: assigning probability $1/N$ to each SFO of $G$, where $N$ is the
202: total number of SFO's of $G$.
203:
204: Our algorithm, which we call ``sink popping,'' works as follows.
205: Given a graph, orient the edges by independent, fair coin flips.
206: If this orientation has no sinks, then it is the SFO we seek.
207: Otherwise, choose any sink, and randomly re-orient each edge that
208: points into the sink (i.e., all of its edges). We call this
209: popping the sink, for reasons that will become clearer in the
210: next section. Repeat until there are no more sinks.
211:
212: We now state our main result.
213:
214: \begin{thm} \label{th:main}
215: For every graph $G \in \cS$, sink popping terminates in finite
216: time with probability~$1$, regardless of how one chooses which
217: sink to pop, and produces an output whose distribution is
218: precisely $\mu_G$. The average number of sinks that must be
219: popped is at most $\binom{n}{2}$, where $n$ is the number of
220: vertices of $G$, once again regardless of how one chooses which
221: sink to pop. Equality holds only for the $n$-cycle or the
222: $n$-lollipop. The expected number of times each particular vertex
223: is popped is at most $n-1$.
224: \end{thm}
225:
226: Sink popping is briefly mentioned at the end of \cite{PW2}, where
227: the claims in the first sentence of the theorem are mentioned
228: without detailed proof (and the running time is not analyzed).
229:
230: To show that sink popping's running time is $O(nm)$, we need to
231: state the algorithm slightly more carefully. The subtle point is
232: avoiding spending lots of time searching for sinks. We will keep
233: a list of all sinks in the graph, and also a table showing the
234: out-degree of every vertex. Generating these initially takes time
235: proportional to the sum of the degrees of the vertices, or $O(m)$
236: time. Whenever we search for a sink to pop, we simply take the
237: first sink {}from the list. When we pop the sink, we update the
238: table to reflect the changes to its out-degree, and to those of
239: its neighbors. It neighbors may have become sinks, in which case
240: we append them to the list of sinks. (The purpose of the table
241: is to let us easily see whether the neighbors have become sinks,
242: without having to examine all their edges: in a complete graph,
243: that would waste lots of time.) No sink can be annihilated except
244: the one we popped, since no two sinks can share a common edge (it
245: would have to point to both). Thus, each time we pop a sink at
246: $v$, re-orienting its edges and updating the list and table
247: requires time $O(\deg(v))$. By Theorem~\ref{th:main}, the
248: expected number of times $v$ is popped is $O(n)$, so the total
249: expected number of operations is
250: $$
251: O\left(\sum_{v} n\deg(v) \right) = O(nm).
252: $$
253:
254: This time bound does not actually estimate the number of bit
255: operations, but instead treats individual graph operations as
256: units.
257:
258: In the next section we give another description of the sink
259: popping algorithm and explain its connection to cycle popping.
260: We also state some further results about sink popping with
261: arbitrary initial conditions. The third section contains proofs
262: of the diamond and strong uniformity lemmas, which are analogous
263: to the equivalent lemmas for cycle popping. The fourth section
264: analyzes the running time. The fifth section derives some
265: further facts about the running time. We conclude with some
266: speculations and open questions.
267:
268: \ssection{Sink popping and cycle popping}
269:
270: Let $H = (V, E)$ be a finite, connected, directed graph, and let
271: $v$ be any fixed vertex of $H$. A directed spanning tree of
272: $(H,v)$ is a subset of edges so that every vertex other than $v$
273: has out-degree 1 and $v$ has out-degree 0. Wilson \cite{W,PW2}
274: invented the following algorithm, known as ``cycle popping,'' for
275: generating a uniform random directed spanning tree. For each $w
276: \in V \setminus \{ v \}$ and $k \geq 0$, let $X_{w , k}$ be a
277: random edge leading out of $w$, chosen uniformly {}from among all
278: edges leading out of $w$. Let these be independent as $w$ and
279: $k$ vary. For fixed $w$, imagine the collection $\{ X_{w , k} : k
280: \geq 0 \}$ as a stack with $X_{w,0}$ on top. Initially, look at
281: the collection $\{ X_{w , 0} : w \in V \setminus \{ v \} \}$,
282: that is, consider the collection $\{ X_{w , f(w)} \}$ with $f
283: \equiv 0$. If these form a directed spanning tree, stop and set
284: the sample equal to it. If not, there must be a cycle in this
285: collection. Choose a cycle (it doesn't matter which), and
286: increment $f(w)$ by 1 for each $w$ in the cycle. (Imagine popping
287: these edges off the stack so the next element of each stack is now
288: on top.) If the collection $\{ X_{w , f(w)} : w \in V \setminus
289: \{ v \} \}$ is now a directed spanning tree, stop and return this
290: for your sample, otherwise continue popping until you do stop.
291: Wilson showed that the set of cycles popped does not depend on
292: which you choose to pop when you have a choice, and that the
293: algorithm stops almost surely at a directed spanning tree with
294: uniform distribution.
295:
296: We can describe sink popping in similar terms, which will be
297: useful in the proof of Theorem~\ref{th:main}. Let $G = (V , E)$
298: be a finite undirected graph in $\cS$ and let $\Omega =
299: \Omega_0^{\N}$, where $\Omega_0$ is the set of orientations of
300: $G$, i.e., $\Omega$ consists of sequences of orientations of $G$.
301: We endow $\Omega$ with the $\sigma$-field $\F$ generated by the
302: coordinate functions $X_{e , k}$ for $e \in E(G)$ and $k \geq 0$,
303: which specify the orientation of $e$ in the $k$-th orientation in
304: the sequence. Endow $\Omega$ with the probability measure $\Prob$
305: under which the coordinate functions are independent and each
306: equally likely to yield either orientation. The intuition is
307: that $\{ X_{e,k} : k \geq 0 \}$ represents a stack of arrows
308: under the edge $e$. Define a random function $f : E \times \N \to
309: \N$ as follows. Let $f(e,0) = 0$ for all $e$. Given $f (e , k)$
310: for all $e$, define $f(\cdot , k+1)$ inductively: If the
311: collection $\{ X_{e , f(e , k)} : e \in E \}$ is an SFO, then set
312: $f(e,k+1) = f(e,k)$ for all $e$. If not, choose a sink $v_k \in
313: V$ arbitrarily, i.e., a vertex $v_k$ for which all edges $e$
314: incident to it are oriented toward it by the orientation $X_{e ,
315: f(e , k)}$. Let $f(e,k+1) = f(e,k)$ for $e$ not incident to
316: $v_k$, and $f(e,k+1) = f(e,k) + 1$ for $e$ incident to $v_k$. The
317: dependence of $f$ on the choice rule (for choosing $v_k$, if
318: there are several sinks) is suppressed in the notation, as is the
319: dependence on the choice of $\omega \in \Omega$ via the variables
320: $\{ X_{e,k}\} $. Intuitively, $f(e,k)$ is the original depth of
321: the arrow under $e$ now at the top of the stack at time $k$. Say
322: that $v_k$ is the sink popped at time $k$, and let $\tau = \min
323: \{ k : \{ X_{e , f(e,k)} \} \textup { is an SFO} \}$ be the number
324: of pops before an SFO is obtained (conceivably $\tau=\infty$),
325: and $\eta = \eta (\omega, \textup{choice rule})$ denote the
326: resulting SFO (if any).
327:
328: Except for its last sentence, Theorem~\ref{th:main} is
329: established by showing that $\tau < \infty$ with probability~$1$,
330: the law of $\{ X_{e , f(e,\tau)} \}$ is precisely $\mu_G$, and
331: $\E \tau \leq \binom{n}{2}$, with equality in and only in the
332: cases indicated. The first two lemmas are analogous to those used
333: by Wilson \cite{W} in establishing the validity of the cycle
334: popping algorithm, and the third is the running time analysis.
335:
336: \begin{lem}[Diamond lemma] \label{lem:diamond}
337: The number of pops $\tau \leq \infty$ in a maximal popping
338: sequence is independent of the choice rule, as is the multiset
339: $\{ v_k : 0 \leq k < \tau \}$. If $\tau < \infty$ then the
340: resulting SFO $\eta$ is also independent of the choice rule.
341: \end{lem}
342:
343: The name ``diamond'' is meant to remind the reader that moving
344: from the top of a diamond to the bottom by going southeast then
345: southwest is equivalent to going southwest then southeast. This
346: terminology comes from the article \cite{E}.
347:
348: \begin{lem}[Strong uniform time] \label{lem:unif}
349: Let $N$ be the number of SFO's of $G$. Then for each $k \geq 0$,
350: and each SFO $\eta$,
351: $$
352: \Prob (\tau = k , \{ X_{e , f(e ,\tau)} \} = \eta) =
353: \frac {\Prob (\tau = k)} {N} \, .
354: $$
355: In other words, $\tau$ is a strong uniform time.
356: \end{lem}
357:
358: \begin{lem} \label{lem:n choose 2}
359: If $G \in \cS$ has $n$ vertices, then $\E \tau \leq \binom{n}{2}$,
360: with equality only for the $n$-cycle and the $n$-lollipop.
361: \end{lem}
362:
363: We conclude this section by stating two results that shed further
364: light on the running time of the popping algorithm.
365:
366: \begin{pr} \label{pr:equal}
367: The distribution of $\tau$ for the $n$-cycle is exactly the same
368: as the distribution for the $n$-lollipop.
369: \end{pr}
370:
371: \begin{pr} \label{pr:extremal}
372: Let $G \in \cS$ be any graph with $n$ vertices and let $\F_0$ be
373: the $\sigma$-field generated by the variables $\{ X_{e , 0} \}$.
374: Then the conditional mean running time $\E (\tau \,|\, \F_0)$ is
375: always bounded by $n (n-1)$, and the only case to achieve this is
376: an $n$-lollipop with all edges oriented opposite to their
377: orientation in the unique SFO.
378: \end{pr}
379:
380: \ssection{Strong uniformity}
381:
382: We first establish deterministic facts holding for every sample
383: $\omega \in \Omega$. Say that a sequence $v_0 , \ldots , v_{k-1}$
384: with $k \leq \infty$ is a maximal popping sequence for $\omega$
385: if it is legal (i.e., only sinks are popped) and cannot be
386: extended to larger $k$ (thus if $k < \infty$ it results in an
387: SFO). Note that if $k = \infty$, we do not mean our notation to
388: suggest that $v_0,v_1,\dots$ is followed by a final term
389: $v_{\infty-1}$; instead, $v_0,\dots,v_{\infty-1}$ denotes the
390: infinite sequence $v_0,v_1,\dots$, with no final term.
391:
392: Let $f(e,k)$ denote the function $f(e,k,\omega,\mathbf{v})$ where
393: $\omega$ is a sample point and $\mathbf{v}$ is a specified legal
394: sequence of pops of length at least $k$. Define an equivalence
395: relation on finite sequences $v_0 , \ldots , v_{k-1}$ of vertices
396: of $G$ by calling two sequences equivalent if one can be changed
397: to the other by a sequence of transpositions of pairs of vertices
398: $(v_i , v_{i+1})$ that are not neighbors in $G$. (Note that such
399: a transposition does not change whether a sequence is a legal
400: popping sequence.) The following lemma is useful, though obvious.
401:
402: \begin{lem}[Deterministic strong Markov property] \label{DSMP}
403: Given an integer $j$ and vertices $v_0 , \ldots , v_{j-1}$, let
404: $\omega$ be any initial configuration for which $v_0 , \dots ,
405: v_{j-1}$ is a legal popping sequence and let $\omega'$ and
406: $\omega$ be related by
407: $$X_{e,k} (\omega') = X_{e , k + f(e,j)} (\omega) .$$
408: That is, $\omega'$ looks like $\omega$ after $v_0 , \ldots ,
409: v_{j-1}$ are popped. Then the following deterministic strong
410: Markov property (DSMP) holds. For any $k \le \infty$, the set of
411: sequences $\{ v_{j+i} : 0 \leq i \leq k-1 \}$ for which $v_0 ,
412: \ldots , v_{j+k-1}$ is a legal popping sequence for $\omega$ is
413: the same as the set of legal popping sequences of length $k$ for
414: $\omega'$. If $v_0 , \ldots , v_{j+k-1}$ is maximal for $\omega$
415: then $v_j , \ldots , v_{j+k-1}$ is maximal for $\omega'$, and
416: leaves the same SFO (if $k < \infty$).
417: \end{lem}
418:
419: Extend the definition of equivalence to infinite sequences by
420: saying that $v_0,v_1,\dots$ is equivalent to $w_0,w_1,\dots$ if,
421: by a sequence of transpositions as above applied to
422: $v_0,v_1,\dots$, one can transform $v_0,v_1,\dots$ so that
423: arbitrarily long initial segments of it match those of
424: $w_0,w_1,\dots$. In particular, this implies that the multisets
425: $\{ v_k \}$ and $\{ w_k \}$ are the same.
426:
427: Let $l(\omega)$ denote the minimal length of a maximal popping
428: sequence for $\omega$.
429:
430: \begin{lem} \label{lem:equiv}
431: The set of maximal popping sequences is an equivalence class.
432: \end{lem}
433:
434: \begin{proof}
435: Let $v_0 , \ldots , v_{k-1}$ be a legal popping sequence for
436: $\omega$ with $k < \infty$, and let $w_0 , \ldots , w_{k-1}$ be
437: obtained {}from $v_0 , \ldots , v_{k-1}$ by transposing $v_i$ and
438: $v_{i+1}$ which are not neighbors in $G$. Suppose $i=0$. Since
439: the edges incident to $v_0$ are disjoint {}from the edges incident
440: to $v_1$, we may apply the DSMP to $v_0 , v_1$ and to $v_1 , v_0$
441: and see that $w_0 , \ldots , w_{k-1}$ is legal as well and
442: maximal if $v_0 , \ldots , v_{k-1}$ is. If $i > 0$, first apply
443: the DSMP to $v_0 , \ldots , v_{i-1}$ and then use the same
444: argument. This shows that equivalent sequences are either both
445: maximal popping sequences or neither. (The case of $k=\infty$ is
446: trivial, since infinite popping sequences are automatically
447: maximal.)
448:
449: To prove the lemma, we induct on $l(\omega)$, and then deal with
450: the case of $l(\omega)=\infty$. It is clear when $l=0$. Assuming
451: the lemma for $l(\omega) < L$, let $l(\omega) = L$ with maximal
452: popping sequence $v_0 , \ldots , v_{L-1}$. Let $w_0 , \ldots ,
453: w_{k-1}$ be any other maximal popping sequence. If $w_0 = v_0$,
454: applying the DSMP and the induction hypothesis completes the
455: induction. If not, then consider the least $i$ for which $v_i =
456: w_0$, if any. When we pop $v_0, \ldots, v_{L-1}$, the orientation
457: $\{ X_{e , f(e,j)} : e \in E \}$ has a sink at $w_0$ for each $j
458: < i$, since the sink at $w_0$ exists until one of its edges is
459: popped and no other sink can contain any such edge until $w_0$ is
460: popped. Thus $i$ exists and $v_j$ cannot be a neighbor of $v_i$
461: for $j < i$. Hence, we can move $v_i$ to the first position by a
462: sequence of adjacent transpositions with non-neighbors in $G$. We
463: have seen that the resulting sequence $v_i , v_0 , v_1, v_2 ,
464: \ldots , v_{i-1} , v_{i+1} , \ldots , v_{L-1}$ is a maximal
465: popping sequence. Now apply the DSMP and the induction
466: hypothesis to conclude that $w_0 , \ldots , w_{k-1}$ is
467: equivalent to $v_i , v_1 , \ldots v_{i-1} , v_{i+1} , \ldots ,
468: v_{L-1}$, and thus to $v_0 , \ldots , v_{L-1}$.
469:
470: All that remains is the case of $l(\omega)=\infty$, i.e., the
471: case when all maximal popping sequences are infinite. Given two
472: such sequences $v_0,v_1,\dots$ and $w_0,w_1,\dots$, the argument
473: {}from the previous paragraph shows that we can transform
474: $v_0,v_1,\dots$ so that its first element is $w_0$. Now applying
475: the DSMP shows that we can bring arbitrarily long initial
476: segments into agreement, which is the definition of equivalence.
477: \end{proof}
478:
479: \begin{proof}[Proof of the diamond lemma]
480: {}From the previous lemma, we know that $\tau = l$, so $\tau$ is
481: independent of the choice rule. Furthermore, since all maximal
482: popping sequences are equivalent, the multisets of popped vertices
483: are the same. The assertion about SFO's follows because the SFO
484: depends only on which vertices were popped.
485: \end{proof}
486:
487: \begin{proof}[Proof of strong uniform time] We prove by induction that
488: for any SFO $\eta$ and any finite sequence $v_0 , \ldots , v_{k-1}$,
489: the following event has probability $2^{-m
490: -\sum_{i=0}^{k-1} \deg_0(v_i)}$, where $\deg_0$ means the degree
491: not counting self-loops: $\tau = k$, and $v_0 , \ldots , v_{k-1}$
492: is a legal popping sequence for $\omega$, and $\eta (\omega) =
493: \eta_0$. This is vacuously true when $k = 0$. Now the probability
494: that the singleton $ v_0 $ is a legal pop is $2^{-\deg_0(v_0)}$,
495: so applying the DSMP we see that the probability of a maximal
496: popping sequence $v_0 , v_1 , \ldots, v_{k-1}$ with $\eta =
497: \eta_0$ is
498: $$2^{-\deg_0(v_0)} 2^{-m - \sum_{i=1}^{k-1} \deg_0(v_i)},$$
499: which completes the induction.
500:
501: To find the probability of both $\tau = k$ and $\eta = \eta_0$
502: (with no restrictions on the popping sequence), we must sum this
503: probability over all equivalence classes of potential popping
504: sequences of length $k$. We sum over equivalence classes to avoid
505: double counting, since for any given $\omega$,
506: Lemma~\ref{lem:equiv} tells us that the set of maximal popping
507: sequences is an equivalence class. Since neither the summand nor
508: the set of sequences depends on $\eta_0$, we have proved the
509: lemma.
510: \end{proof}
511:
512: \ssection{Analysis of the running time}
513:
514: We still have not shown that $\tau$ is almost surely finite. While
515: this may appear obvious {}from some kind of Markov property, the
516: choice rule makes things sticky and we find it easiest to
517: conclude this {}from the existence of a finite upper bound on the
518: expected run time. To bound $\tau$ we make repeated use of the
519: following monotonicity principle. We let $Q(G,v)$ denote the
520: random number of times $v$ is popped in a maximal popping
521: sequence (possibly $\infty$), which, by the diamond lemma, is well
522: defined.
523:
524: \begin{lem}[Monotonicity] \label{lem:monotonicity}
525: Fix $G \in \cS$ and let $H \in \cS$ be a subgraph of $G$, that is,
526: $V(H) \subseteq V(G)$ and $E(H) \subseteq E(G)$. For $v \in
527: V(H)$,
528: $$
529: \E Q(H, v) \geq \E Q(G , v) .
530: $$
531: \end{lem}
532:
533: \begin{proof}
534: This is proved by stochastic domination: we run sink popping
535: simultaneously on $H$ and $G$, using the same stacks for edges
536: common to both graphs. Every legal popping sequence on $G$
537: restricts to a legal popping sequence on $H$ as well, so under
538: this coupling $Q(H,v) \geq Q(G,v)$ always.
539: \end{proof}
540:
541: \noindent{\em Remark:} Additionally, we see that equality occurs
542: only when no SFO on $G$ can require further popping of $v$ on $H$.
543:
544: \begin{pr} \label{pr:cycles}
545: If $G$ is an $n$-cycle, then $\E \tau = \binom{n}{2}$.
546: Furthermore, conditioned on starting with $j$ edges oriented
547: clockwise and $n-j$ counterclockwise, the expected value of
548: $\tau$ is $2j(n-j)$.
549: \end{pr}
550:
551: \begin{proof}
552: At any time, some of the arrows point clockwise and others
553: counterclockwise. Let $Y_k$ be the number of arrows pointing
554: clockwise at time $k$. Popping at any vertex causes two opposite
555: pointing arrows to be replaced by two random arrows. Thus
556: $Y_{k+1}$ has the distribution of $Y_k + Z$ where $\Prob (Z = 1)
557: = \Prob (Z = -1) = 1/4$ and $\Prob (Z = 0) = 1/2$. Therefore $\{
558: Y_k : k \geq 0 \}$ is a simple random walk with delay probability
559: of $1/2$ absorbed at $0$ and $n$. The expected absorption time
560: {}from $j$ is twice that for simple random walk, and thus is $2 j
561: (n-j)$; see equation~(3.5) on page~349 of Feller \cite{F}. Hence
562: $\E \tau = 2 \E Y_0 (n - Y_0)$, which is twice the expected
563: number of ordered pairs of edges where the first is initially
564: clockwise and the second initially counterclockwise. There are
565: $n(n-1)$ ordered pairs of distinct edges, each having these
566: orientations with probability $1/4$, so $\E \tau = n(n-1)/2$.
567: \end{proof}
568:
569: \begin{cor} \label{cor:UC}
570: Let $\cS_0$ denote the class of graphs in which every vertex is
571: in some cycle. For $G \in \cS_0$ and $v \in V(G)$,
572: $$
573: \E Q(G,v) \leq (n-1)/2
574: .
575: $$
576: Equality holds for all $v$ if and only if $G$ is an $n$-cycle.
577: \end{cor}
578:
579: \begin{proof}
580: Fix $G$ and $v$ and let $H$ be a cycle containing $v$. By
581: monotonicity, $\E Q(G,v) \leq \E Q(H,v)$ which is at most $(n-1)
582: / 2$ by Proposition~\ref{pr:cycles} and symmetry. In fact, $\E
583: Q(H,v)$ is strictly less than $(n-1)/2$ unless $H$ is an
584: $n$-cycle. By the remark following the proof of the monotonicity
585: lemma, the inequality $\E Q(G,v) \leq \E Q(H,v)$ is strict unless
586: no SFO on $G$ can require further popping of $v$ on $H$. In our
587: case, $H$ is an $n$-cycle, and $G$ is an $n$-cycle with some
588: chords or self-loops added. Then (assuming $G$ is not an
589: $n$-cycle), there is always an SFO on $G$ that does not restrict
590: to an SFO on $H$: if $G$ has a self-loop, one can choose an SFO
591: on $G$ such that $H$ has a sink there; if $G$ has a chord, one
592: can use the chord to create a short circuit across $H$ giving a
593: cycle of length less than $n$, orient this cycle in a loop, and
594: orient the other edges in $G$ towards the cycle. If $v$ is a sink
595: in the restriction to $H$ of such an SFO on $G$, then strict
596: inequality holds for $v$ (because with positive probability, sink
597: popping on $G$ will produce this SFO, and $v$ will still need to
598: be popped in $H$).
599: \end{proof}
600:
601: \begin{lem} \label{lem:4}
602: For every $G \in \cS$ with $n$ vertices, and each $v \in V(G)$,
603: $$\E Q(G , v) \leq n-1,$$
604: and equality holds only when $v$ is the vertex furthest from the
605: self-loop in an $n$-lollipop.
606: \end{lem}
607:
608: \begin{proof}
609: We induct on $G$. The base step is $G \in \cS_0$, which is
610: immediate {}from the previous corollary. Assume for induction
611: that the conclusion holds for all subgraphs of $G$. There are
612: three cases other than the base step.
613:
614: Case 1. $G$ is not connected. Then the result follows {}from the
615: induction hypothesis and the monotonicity lemma applied to the
616: component $H$ of $G$ containing $v$. Equality never occurs.
617:
618: If $G$ is connected and not in $\cS_0$, then $G$ must contain an
619: isthmus, i.e., an edge whose removal disconnects $G$.
620:
621: Case 2. Some edge $e$ disconnects $G$ into two components both
622: in $\cS$. Again the result follows {}from the induction hypothesis
623: applied to the component $H$ of $G \setminus \{e\}$ containing
624: $v$, and equality never occurs.
625:
626: Case 3. $G$ has an isthmus and removal of any isthmus always
627: leaves a component that is a tree. Then $G$ has a leaf $z$. If
628: $v \neq z$ then the result follows immediately {}from monotonicity
629: with $H = G \setminus \{z\}$. If $v$ is the only leaf, then let
630: $w$ be its neighbor. Choose a popping order that pops $v$ whenever
631: possible, and otherwise executes any choice rule for sink popping
632: on $H := G \setminus \{v\}$. Initially there is a $1/2$ chance
633: that $v$ is a sink, in which case it is popped a mean $2$
634: geometric number of times until the edge $vw$ points to $w$.
635: Then, each time $w$ is popped, the probability is $1/2$ that this
636: edge is reversed, in which case it takes another mean $2$
637: geometric number of pops to reverse it again. Thus
638: $$\E Q(G,v) = 1 + \E Q(H , w) . $$
639: By induction, this is at most $1 + (n-2)$. Equality occurs for
640: $v$ in $G$ if and only if it occurs for $w$ in $H$, so we see by
641: induction that it holds only at the end of a lollipop.
642: \end{proof}
643:
644: \begin{proof}[Proof of Lemma~\ref{lem:n choose 2}]
645: We prove the lemma by induction, following the pattern of the
646: last proof. The base step is $G \in \cS_0$, in which case the
647: lemma follows {}from Corollary~\ref{cor:UC}. In the cases 1 and 2
648: of the induction, if $G$ is disconnected or the union of two
649: graphs in $\cS$ along an added edge, the result is again
650: immediate {}from the subadditivity of the function $n \mapsto
651: \binom{n}{2}$ and monotonicity. Finally, if $G$ has a leaf $v$,
652: we set $H := G \setminus \{v\}$ and observe that the number of
653: pops $\tau_G$ and $\tau_H$ on $G$ and $H$ respectively are
654: related by $\tau_G = \tau_H + Q(G,v)$. Thus
655: $$\E \tau_G = \E \tau_H + \E Q(G,v) \leq \binom{n-1}{2} + (n-1)
656: = \binom{n}{2} \, .$$
657: By the previous lemma, the last inequality is strict unless $H$
658: is an $n$-lollipop and its vertex of degree 1 is the neighbor of
659: $v$ in $G$. This completes the induction.
660: \end{proof}
661:
662: \begin{proof}[Proof of Theorem~\ref{th:main}]
663: The theorem follows immediately {}from combining
664: Lemmas~\ref{lem:diamond}, \ref{lem:unif}, \ref{lem:n choose 2},
665: and~\ref{lem:4}.
666: \end{proof}
667:
668: \ssection{Further proofs}
669:
670: The $n$-cycle and $n$-lollipop have the worst mean run times.
671: Here we prove Proposition~\ref{pr:equal}, namely that the run
672: time distributions are in fact identical.
673:
674: \begin{proof}[Proof of Proposition~\ref{pr:equal}]
675: Number the vertices of the $n$-lollipop $0 , \ldots , n-1$ with
676: $0$ being the leaf. Always pop the sink with lowest number. Let
677: $Y_k$ denote the sink popped at time $k$. Clearly $Y_0$ is $-1$
678: plus a mean $2$ geometric random variable, with the proviso that a
679: value of $n-1$ or higher represents the terminal state in which
680: no sink needs to be popped. Let $\F_k$ be the $\sigma$-field
681: generated by $Y_0 , \ldots , Y_{k-1}$. We claim that $\{ Y_k : k
682: \geq 0 \}$ is a time-homogeneous Markov chain with respect to $\{
683: \F_k \}$ and that {}from any state $j > 0$ its increments are
684: $-2$ plus a mean $2$ geometric, jumping to the terminal state if
685: it reaches $n-1$ or greater, and {}from state $0$ the same thing
686: with $-2$ replaced by $-1$ (thus the jump {}from $0$ is resampled
687: if it hits $-1$). All that is needed to check this is an
688: inductive verification that the orientations of edges between
689: vertices of higher index than $Y_k$ are conditionally i.i.d.\ fair
690: coin flips given $\F_k$, which is straightforward.
691:
692: Now we show that the running time on an $n$-cycle is also equal
693: to the time for a random walk to hit at least $n-1$ when its
694: increments are $-2$ plus a mean $2$ geometric, resampled if it
695: hits $-1$. At time $k$, let $Y_k$ denote the least index of a
696: sink when the edge {}from $n-1$ to $0$ is oriented toward $0$ and
697: $n-1$ minus the greatest index of a sink when the edge is oriented
698: toward $n-1$. In other words, this quantity is the distance {}from
699: the head of the $0,n-1$ edge to the nearest sink in that
700: direction. We always choose the pop that sink. The only time the
701: $0,n-1$ edge can change orientations is when $Y_k = 0$, in which
702: case $Y_{k+1}$ will be $-1$ plus a mean $2$ geometric; when $Y_k >
703: 0$ verification of the conditional increment is trivial. The
704: stopping rule is, again, that one must jump to $n-1$ or greater,
705: and $Y_0$ has the right distribution for the same reason as
706: before, so the sequence has the same distribution.
707: \end{proof}
708:
709: Our final result deals with the run time started {}from an
710: arbitrary state, that is, the conditional distribution of $\tau$
711: given $\F_0$ (as defined in Proposition~\ref{pr:extremal}). While
712: this quantity is a hidden variable as far as users of the
713: algorithm are concerned, it has relevance to the distribution of
714: the run time, as well as having some intrinsic interest. We
715: begin again with a result on the $n$-cycle.
716:
717: \begin{pr} \label{pr:alsace}
718: Let $G$ be an $n$-cycle. Then for every $v \in V(G)$,
719: $$
720: \E (Q(G,v) \,|\, \F_0) \leq 3n/4,
721: $$
722: with equality if and only if $n$ is even and all edges are
723: oriented along the direction of shortest travel to $v$.
724: \end{pr}
725:
726: \begin{proof}
727: Number the vertices $0 , \ldots , n-1$ mod $n$. We first
728: establish that the discrete Laplacian of $\E (Q(G,v) \,|\, \F_0)$
729: depends on the initial orientation of $G$ via
730: \begin{equation} \label{eq:2}
731: \E \left [ \left. Q(G,v) - \frac{Q(G,v+1) +
732: Q (G,v-1)}{2} \,\right|\, \F_0 \right ]
733: =
734: \begin{cases}
735: \phantom{-}1 & \textup{if $v$ is a sink,}\\
736: -1 & \textup{if $v$ is a source, and}\\
737: \phantom{-}0 & \textup{otherwise.}
738: \end{cases}
739: \end{equation}
740: To see this, choose any popping order and let $Y(v,k)$ denote the
741: in-degree of $v$ at time $k$, that is, the number of $e \in E(G)$
742: adjacent to $v$ for which $X_{e , f(e,k)}$ is oriented toward
743: $v$. Then, conditionally on anything up to time $k$,
744: $$
745: \E Y(v,k+1) = \E Y(v,k) - \Prob (v_k = v) +
746: \frac{\Prob (v_k = v+1) +
747: \Prob (v_k = v-1)}{2} \, ,
748: $$
749: since any pop at $v$ reduces the expected in-degree by mean 1 and
750: any pop at a neighbor of $v$ increases it by mean $1/2$. Summing
751: over $k$, conditioning on $\F_0$ and using $Y(v,\tau) \equiv 1$
752: proves~(\ref{eq:2}).
753:
754: {}From Proposition~\ref{pr:cycles} we know that $\E (\tau \,|\,
755: \F_0) = 2Y_0 (n - Y_0)$ where $Y_0$ is the number of initial
756: clockwise arrows (edges oriented {}from $i+1$ to $i$ mod $n$ for
757: some $i$). This, along with~(\ref{eq:2}), determines $\E (Q(G,
758: \cdot) \,|\, \F_0)$, since the difference of any two candidates
759: for this function would be a harmonic function on the cycle, and
760: hence constant.
761:
762: In general,
763: \begin{equation} \label{eq:formula}
764: \E (Q(G,v) \,|\, \F_0) =
765: \frac{k}{n} \left(1 + 3n - 2k - \frac{2}{k}
766: \sum_{j=1}^k a_j\right),
767: \end{equation}
768: if there are $k$ clockwise edges pointing {}from $v + a_j$ to $v +
769: a_j - 1$ for a set $\{ a_1 , \ldots , a_k \} \subseteq \{ 1 ,
770: \ldots n \}$ (addition taken mod $n$). To prove this formula, we
771: need only prove that the right hand side satisfies the two
772: properties that characterize the left hand side. The sum over all
773: $v$ (i.e., $\E(\tau \,|\, \F_0)$) is easy, since it equals
774: $$
775: k(1+3n-2k) - \frac{2}{n}\sum_{j=1}^k \sum_{i=1}^n i,
776: $$
777: which does indeed simplify to $2k(n-k)$. To check that the right
778: hand side of \eqref{eq:formula} works in \eqref{eq:2}, we proceed
779: as follows. Let $f(v)$ be the right hand side of
780: \eqref{eq:formula}. Then
781: $$
782: g(v) \deq f(v+1)-f(v) = -\frac{2}{n}
783: \left(-k + n \delta_{\min \{a_j\},1} \right),
784: $$
785: where $\delta$ is the Kronecker delta. Hence,
786: \begin{equation*}
787: -\frac{g(v)-g(v-1)}{2} =
788: \begin{cases}
789: \phantom{-}1 & \textup{if $v$ is a sink,}\\
790: -1 & \textup{if $v$ is a source, and}\\
791: \phantom{-}0 & \textup{otherwise,}
792: \end{cases}
793: \end{equation*}
794: as desired.
795:
796: Equation \eqref{eq:formula} makes it easy to see when $\E (Q(G,v)
797: \,|\, \F_0)$ is maximized: that can occur only when
798: $\{a_1,\ldots,a_k\} = \{1,\ldots,k\}$, in which case $\E (Q(G,v)
799: \,|\, \F_0)$ equals $3n(k/n)(1-k/n)$. This quantity is bounded
800: above by $3n/4$, with equality if and only if $n=2k$.
801: \end{proof}
802:
803: \begin{proof}[Proof of Proposition~\ref{pr:extremal}]
804: Induct again, as in the proof of Lemma~\ref{lem:4} and the main
805: theorem. Simultaneously, we show by induction that $\E (Q(G,v)
806: \,|\, \F_0) \leq 2(n-1)$, with equality only for the leaf of an
807: $n$-lollipop and initial conditions $X_{e,0}$ all pointing toward
808: $v$. Note that the previous proposition proves this bound for all
809: $G \in \cS_0$, if we use monotonicity (which also holds
810: conditioned on the initial orientation).
811:
812: For the base case, $G \in \cS_0$ and Proposition~\ref{pr:alsace}
813: shows that in fact $\E (\tau \,|\, \F_0) < 3 n^2 / 4$. There is
814: strict inequality because equality in Proposition~\ref{pr:alsace}
815: cannot hold simultaneously for all vertices in a cycle. It
816: follows that $\E (\tau \,|\, \F_0) < n(n-1)$ unless $n \le 3$.
817: The cases with $n \le 3$ are easily dealt with: those with $n=2$
818: are trivial, and for $n=3$ the worst case contains a $3$-cycle,
819: which can be analyzed using the sharper bounds in the proof of
820: Proposition~\ref{pr:alsace}.
821:
822: When $G$ is not connected or is the union of two graphs in $\cS$
823: along an added isthmus, the $n(n-1)$ bound is immediate {}from
824: subadditivity of $n(n-1)$ and monotonicity, and the $2(n-1)$
825: bound follows from monotonicity. Finally, when $G$ has a leaf
826: $v$, set $H := G \setminus \{v\}$ as before. This time, in the
827: worst case we know that $v$ is a sink initially, so $\E (Q(G , v)
828: \,|\, \F_0)$ is bounded by $2 + \E (Q(H , w) \,|\, \F_0)$. This
829: verifies the conclusion that $\E (Q(G,v) \,|\, \F_0) \leq
830: 2(n-1)$, and adding this to $\E \tau_H$ gives, by induction, at
831: most $(n-1) (n-2) + 2 (n-1) = n(n-1)$, which completes the proof
832: of the upper bound; the conditions for equality are clear from
833: the proof.
834: \end{proof}
835:
836: \ssection{Questions}
837:
838: It is tempting to view both cycle popping and sink popping as
839: special cases of what might be called ``partial rejection
840: sampling:'' to generate a random structure, choose a random
841: candidate, and if it has any flaws, locally rerandomize until it
842: is flawless. Does partial rejection sampling apply to other
843: natural combinatorial problems? Can one develop a general theory?
844: Note that Fill and Huber's randomness recycler \cite{FH} also uses
845: the idea of rejecting only part of a structure, although in a
846: different way.
847:
848: Cycle popping was applied to the study of random spanning trees
849: on $\Z^d$, as well as some more general graphs, in \cite{BLPS}.
850: It would be interesting if sink popping could be used similarly.
851: Do random sink-free orientations on $\Z^d$ exhibit any interesting
852: or surprising structure?
853:
854: \ssections{Acknowledgements}
855:
856: We thank David Wilson and Peter Winkler for helpful discussions,
857: and the anonymous referee for useful comments on the manuscript.
858:
859: \begin{thebibliography}{BLPS}
860:
861: \vskip 2.8ex
862: % This undoes a stupid kludge, that messed up the appearance here.
863: % I know this is not good LaTeX coding style, but oh well...
864:
865: \bibitem[A]{A} D.~Aldous, {\sl A random walk construction of
866: uniform spanning trees and uniform labelled trees\/}, SIAM
867: Journal of Discrete Mathematics {\bf 3 (4)} (1990), 450--465.
868:
869: \bibitem[BLPS]{BLPS} I.~Benjamini, R.~Lyons, Y.~Peres, and
870: O.~Schramm, {\sl Uniform spanning forests\/}, Ann.\ Probab.\ {\bf
871: 29} (2001), no.\ 1, 1--65.
872:
873: \bibitem[B]{B} A.~Broder, {\sl Generating random spanning trees\/},
874: Proceedings of 30th Annual Symposium on Foundations of Computer
875: Science (Research Triangle Park, NC, 1989), 442--447, IEEE, 1989.
876:
877: \bibitem[BD]{BD}
878: R.~Bubley and M.~Dyer, {\sl Graph orientations with no sink and an
879: approximation for a hard case of \#SAT\/}, Proceedings of the
880: Eighth Annual ACM-SIAM Symposium on Discrete Algorithms (New
881: Orleans, LA, 1997), 248--257, ACM, New York, 1997.
882:
883: \bibitem[CEP]{CEP}
884: H.~Cohn, N.~Elkies, and J.~Propp, {\sl Local statistics for
885: random domino tilings of the Aztec diamond\/}, Duke Math.\ J.\
886: {\bf 85} (1996), no.\ 1, 117--166, arXiv:math.CO/0008243.
887:
888: \bibitem[E]{E}
889: K.~Eriksson, {\sl Strong convergence and the polygon property of
890: $1$-player games\/}, Discrete Math.\ {\bf 153} (1996), no. 1--3,
891: 105--122.
892:
893: \bibitem[F]{F}
894: W.~Feller, {\sl An introduction to probability theory and its
895: applications\/}, Volume I, third edition, John Wiley \& Sons,
896: Inc., New York, 1968.
897:
898: \bibitem[FH]{FH}
899: J.~Fill and M.~Huber, {\sl The randomness recycler: a new
900: technique for perfect sampling\/}, Proceedings of the Forty-first
901: Annual Symposium on Foundations of Computer Science (Redondo
902: Beach, CA, 2000), 503--511, IEEE, 2000.
903:
904: \bibitem[H]{H}
905: M.~Huber, {\sl Exact sampling and approximate counting
906: techniques\/}, Proceedings of the Thirtieth Annual ACM Symposium
907: on the Theory of Computing (Dallas, TX, 1998), 31--40, ACM, New
908: York, 1998.
909:
910: \bibitem[JS]{JS}
911: M.~Jerrum and A.~Sinclair, {\sl Approximate counting, uniform
912: generation and rapidly mixing Markov chains\/}, Inform.\ and
913: Comput.\ {\bf 82} (1989), no. 1, 93--133.
914:
915: \bibitem[P]{P} R.~Pemantle,
916: {\sl Choosing a spanning tree for the integer lattice
917: uniformly\/}, Ann.\ Probab.\ {\bf 19} (1991), no. 4, 1559--1574.
918:
919: \bibitem[PW1]{PW} J.~Propp and D.~Wilson,
920: {\sl Exact sampling with coupled Markov chains and applications
921: to statistical mechanics\/}, Random Structures and Algorithms
922: {\bf 9} (1996), no. 1--2, 223--252.
923:
924: \bibitem[PW2]{PW2} J.~Propp and D.~Wilson,
925: {\sl How to get a perfectly random sample {}from a generic Markov
926: chain and generate a random spanning tree of a directed graph\/},
927: Journal of Algorithms {\bf 27} (1998), 170--217.
928:
929: \bibitem[W]{W}
930: D.~Wilson, {\sl Generating random spanning trees more quickly
931: than the cover time\/}, Proceedings of the Twenty-eighth Annual
932: ACM Symposium on the Theory of Computing (Philadelphia, PA,
933: 1996), 296--303, ACM, New York, 1996.
934:
935: \end{thebibliography}
936: \end{document}
937: