439
Views
1
CrossRef citations to date
0
Altmetric
Original Article

Sampling contingency tablesFootnote

, &
Pages 298-306 | Received 28 Sep 2017, Accepted 03 Oct 2017, Published online: 10 Jun 2020

Abstract

Let Ω be the set of all m×n matrices, where ri and cj are the sums of entries in row i and column j, respectively. Sampling efficiently uniformly at random elements of Ω is a problem with interesting applications in Combinatorics and Statistics. To calibrate the statistic χ2 for testing independence, Diaconis and Gangolli proposed a Markov chain on Ω that samples uniformly at random contingency tables of fixed row and column sums. Although the scheme works well for practical purposes, no formal proof is available on its rate of convergence. By using a canonical path argument, we prove that this Markov chain is fast mixing and the mixing time τx(ϵ) is given by τx(ϵ)2cmax(mn)4ln(cmaxϵ1),where cmax1 is the maximal value in a cell.

1 Introduction

An m×n contingency table is an m×n array where the sum of entries in row i is ri and the sum of entries in column j is cj. Let the size of a contingency table be the multiset of its rows and columns sums ri and cj. The combinatorial problems involving contingency tables are varied and interesting. They include counting magic squares and enumerating permutations by descent patterns and counting double cosets of symmetric groups. Contingency tables are also useful in the study of induced representations, tensor products and symmetric functions. See [Citation1] for a comprehensive introduction on these topics. Moreover, random sampling contingency tables is a problem that has statistical applications, as illustrated in [Citation2,Citation3]. For graph theoretic concepts, we refer to [Citation4].

While entries in contingency tables may be any non-negative integers, the case where entries are 0 or 1 had deserved a special attention in the literature [1–3,5–12Citation[1]Citation[2]Citation[3]Citation[5]Citation[6]Citation[7]Citation[8]Citation[9]Citation[10]Citation[11]Citation[12]]. Indeed, (0,1) matrices are much researched upon for its relevance in various fields of sciences, such as network modeling in ecology, social sciences, chemical compounds and biochemical networks in the cell, where they serve to model bipartite graphs with fixed degree sequences. Although random sampling contingency tables and (0,1) matrices problems seem similar, the present paper focuses exclusively on the former.

Let Ω be the set of m×n contingency tables. One way to sample a table at random is to construct a random walk that starts at a given element of Ω, then moves to another element according to some simple rule which changes one element to another. After i steps, one outputs the element reached by the random walk and considers this element, the ith state reached, as a random sample. Such a random walk is a Markov chain.

Although this description seems straightforward, there are two issues at stake. First of all, the rule of transition describing the local perturbation from one element to another has to be simple enough so that it can be implemented. Moreover, the local perturbation must be such that, starting from any element, any other element has a chance to be visited. If the Markov chain is viewed as a random walk on a digraph G so that the elements of Ω are vertices of G, the last condition is equivalent to require that G be strongly connected. In [Citation1,Citation2], the following Markov chain is proposed. Take an m×n contingency table T where entries in row i add up to ri and entries in column j add up to cj. Choose at random two rows i and i and two columns j and j. Then make the following local perturbation on table T, changing it into the array T by the rule Tij=Tij+1, Tij=Tij1, Tij=Tij1, and Tij=Tij+1. Move from T to T if T has no negative entry, and stay on T otherwise. It can be easily proved that this operation is a local perturbation that defines a random walk which visits all the contingency tables having row sums and column sums ri and cj, respectively.

There is another issue to be addressed which is as follows. Since the successive states of a Markov chain are not independent, an unbiased sample can only be obtained if the chain reaches stationarity, the stage when the probability of sampling a particular configuration is fixed in time. The mixing time of a Markov chain is the number of steps required to reach that stationary state up to a defined ϵ. The information about the mixing time of a particular Markov chain is important to avoid to get a biased sample (if stationarity is not reached), or to avoid the computational cost of running the chain more than necessary. The present paper solves this problem by showing that the Markov chain proposed in [Citation1,Citation2,Citation13] mixes fast. That is, the stationary state is reached after a number of steps which is polynomial on mn, the size of the contingency table having fixed row and column sums ri and cj, respectively. For the closely related problem of sampling (0,1) matrices, some partial results are available. Indeed, while the mixing time of the general problem is still an open problem, it had been proven by Erdos et al. [Citation14] to be fast mixing for semi-regular degree sequences only.

2 Basics on Markov chains

Let M be a Markov chain on a set of states Ω. Let P be the matrix of transitions from one state to another. One may visualize the Markov chain M as a weighted directed graph G, where the states are the vertices of G and there is an edge of weight P(x,y) if the transition from state x to state y has probability P(x,y). A Markov chain is irreducible if for all pairs of states x and y, there is an integer t, depending on the pair (x,y), such that Pt(x,y)>0. In terms of the digraph G, the Markov chain is irreducible if there is a directed path between every pair of vertices of G. A Markov chain is aperiodic if for all states x, there is an integer t such that for all tt, Pt(x,x)>0. That is, after sufficient number of iterations, the chain has a positive probability to stay on x at every subsequent step. This ensures that the return to state x is not periodic. In terms of the graph G, this can be achieved by having a loop at every vertex. A Markov chain is ergodic if it is irreducible and aperiodic. If P is the matrix of transitions of an ergodic Markov chain, it can be shown that there is an integer t such that for all the pairs of states (x,y), Pt(x,y)>0. (Notice that t does not depend on the pair). Also, it can be proven that for every ergodic Markov chain with transition matrix P, the largest eigenvalue of P only occurs once and is equal to 1 (Perron–Frobenius Theorem). Using this, it can be proved that there is a unique probability vector π, such that πP=π. The vector π is the stationary distribution of M. A chain is reversible if P(x,y)π(x)=P(y,x)π(y) for every pair of states x and y. If a chain is reversible and the matrix P is symmetric, then π(x)=π(y) for every pair x and y. The stationary state is then said to be uniform. We say a matrix P is irreducible, ergodic, aperiodic, etc. if the Markov chain ruled by P is irreducible, ergodic, aperiodic, etc.

Let M be an ergodic Markov chain defined on a finite set of states Ω, with a transition matrix P and stationary distribution π. Starting the chain from an initial state x, we would like to measure Δx(t), the distance between the distribution at time t and the stationary distribution. More formally, if Pt(y|x) represents the probability that, at time t, the chain is at state y given initial state x, and π(y) represents the probability that the chain is at state y at stationarity, then the variation distance, denoted by Δx(t), is defined as Δx(t)=12yΩ|Pt(y|x)π(y)|.

A converging chain is one such that Δx(t)0 as t for all initial states x. The rate of convergence is measured by τx(ϵ), the time required to reduce the variation distance to ϵ given an initial state x. τx(ϵ)=min{t:Δx(t)ϵ,foralltt}.

The mixing time of the chain, denoted by τ(ϵ), is defined as maxxΩ, the maximum being over all the initial points x. A Markov chain is said to be rapidly mixing if its mixing time is bounded above by a polynomial in the size of the input and 1ϵ.

Let 1=λ1λ2λn be the eigenvalues of the transition matrix P. The spectral gap of the matrix P is defined as max{1λ2,1|λn|}. If P(x,x)<12 for all x, then λn>0, and therefore smaller than λ2. The spectral gap of P is then the real number λ1λ2, that is, 1λ2. It can be shown that largest the gap, the faster is the mixing time of the chain. The analysis of the mixing time of a Markov chain is based on the intuition that a random walk on the graph G mixes fast (i.e., reaches all the states quickly) if G has no bottleneck. That is, there are no cuts between any set of vertices S to its complement, which blocks the flow of the Markov chain and thus prevents the Markov chain from reaching easily some states. See [10,12,15–17Citation[10]Citation[12]Citation[15]Citation[16]Citation[17]] for a better exposition on the topic. To make this more formal, we need some preliminary definitions which conforms with [Citation12].

Denoting the probability of x at stationarity by π(x) and the probability of moving from x to y by P(x,y), the capacity of the arc e=(x,y), denoted by c(e), is given by c(e)=π(x)P(x,y).

Let Px,y denote the set of all simple paths p from x to y (paths that contain every vertex at most once). A flow in G is a function ϕ, from the set of simple paths to the reals, such that pPx,yϕ(p)=π(x)π(y),for all vertices x,y of G with xy. An arc-flow along an arc e, denoted by ϕ(e), is then defined as ϕ(e)=peϕ(p).

For a flow ϕ, a measure of existence of an overload along an arc is given by the quantity ρ(e), where ρ(e)=ϕ(e)c(e),and the cost of the flow ϕ, denoted by ρ(ϕ), is given by ρ(ϕ)=maxeρ(e).

If a network G representing a Markov chain can support a flow of low cost, then it cannot have any bottlenecks, and hence its mixing time should be small. This intuition is confirmed by the following theorem [Citation12].

Theorem 1

[Citation12]

Let M be an ergodic reversible Markov chain with holding probabilities P(x,x)12 at all states x. The mixing time of M satisfies τx(ϵ)ρ(ϕ)|p|(ln1π(x)+ln1ϵ),where |p| is the length of a longest path carrying non-zero flow in ϕ.

Thus, one way to prove that a Markov chain mixes fast is to produce a flow along some paths, where the paths and the maximal overload on edges are polynomials on the size of the problem.

3 Markov chains on the set of contingency tables

Diaconis et al. [Citation1,Citation2] define local perturbations that transform a contingency table into another of the same row and column sums. We now describe it in more detail while redefining some terms for completeness. Let X be an m×n contingency table of row and column sums ri and cj, respectively. Let Xij be the entry on the ith row and jth column. That is, Xij is the entry in the cell (i,j). We totally order the cells of X lexicographically. That is, (i,j)>(k,l) if i>k. If i=k, then (i,j)>(k,l) with j>l. A site, denoted by [i,i,j,j], is the set of four cells {(i,j),(i,j),(i,j),(i,j)}, with ii and jj. A flip on [i,i,j,j] is a transformation that changes the contingency table X into X by the operations Xi,j=Xi,j+1 Xi,j=Xi,j1 Xi,j=Xi,j+1 Xi,j=Xi,j1, while preserving all the other entries. See for an illustration.

Fig. 1 A flip on the site [i,i,j,j].

The following result given in [Citation1,Citation2], shows that the Markov chain on Ω is irreducible.

Theorem 2

[Citation1,Citation2]

Given two contingency tables X and Y in Ω, there is a sequence of flips which transforms X to Y.

Let G denote the graph whose vertices are all m×n contingency tables of row and column sums ri and cj, respectively, and there is an edge from a vertex X to Y if and only if there is a site [i,i,j,j] such that a flip on [i,i,j,j] changes X to Y. If X is any vertex of G, it is routine to check that X has at most (mn)2 adjacent neighbors. Indeed, the vertex Y is an adjacent neighbor of X if there is a flip changing X to Y. Now, given a cell (i,j) on the contingency table X, there are at most (m1)(n1) sites involving (i,j). Considering all mn points on the array X gives a total of at most (mn)2 possible sites.

For the sake of convenience, in what follows, we use X or x interchangeably. We write X when we need to stress that we are talking about a contingency table and we write x if we need to stress that we are talking about the vertex that represents X in the graph G. Now, we formally define a random walk on G as follows. Start at any vertex z. If the walk is at x, choose at random an adjacent neighbor y of x, and move from x to y with probability Px,y=12(mn)2, or stay at x otherwise. If P denotes the transition matrix and P(x) is the row of P corresponding to the state x, it is routine to check that the entries of P(x) add up to 1. That is, P(x) is a probability vector. Moreover, by Theorem 2, the matrix P is irreducible. Also, since there is a loop on every point x, the matrix P is aperiodic. Hence the random walk is an ergodic Markov chain. Finally, P is a symmetric matrix. Thus, the Markov chain has a stationary uniform distribution π. We call this Markov chain as the Diaconis Markov chain.

Theorem 3

If Ω is the set of m×n contingency tables, the Diaconis Markov chain on Ω mixes fast and the mixing time τx(ϵ) is given by τx(ϵ)2cmax(mn)4ln(cmaxϵ1),where cmax1 is the maximal in a cell.

We prove this result by showing that, between any two vertices of G, there is a path, the canonical path, that is not ‘too long’ and where no edge is overloaded. To put this in a more formal setting, we need the following definitions and lemmas.

Let X and Y be two different m×n contingency tables. If Xij=Yij, we say that the point (i,j) is matched, and unmatched otherwise. Obviously therefore, to match a point (i,j) means to make Xij equal to Yij. A path from X to Y is the sequence of contingency tables (X=X(0),X(1),X(2),,X(t),,Y), where one contingency table is obtained from the preceding one by a single flip on some site. The canonical path from X to Y is a path that matches the cells in increasing lexicographic ordering. Since there are many such paths from X to Y, we take the path that uses the flips with the least indices, lexicographically. This makes the canonical path unique. Suppose that at time t, the canonical path has reached the contingency table X(t), corresponding to matching the cell (i,j), and Xij(t)Yij. The matched zone is the set of cells (k,l) such that (k,l)<(i,j) (Obviously Xkl(t)=Ykl for (k,l)<(i,j)). The cell (i,j) is then called the smallest unmatched cell. A key observation, given in the lemma that follows, is that once a cell is matched, the canonical path does not unmatch it anymore. This entails that it is possible to match all the mn cells in the lexicographic order, without backtracking.

Lemma 4

Let (i,j) be the smallest unmatched cell at time t along the canonical path from X to Y. There is a sequence of flips where all the other cells involved in matching (i,j) are greater than (i,j).

Proof

Let (i,j) be the least unmatched cell at time t, and suppose that Xij(t)=a and Yij=a, with |aa|=r, as illustrated in .

If there is no row i with i>i (if i is the last row), then X(t) and Y have different column sums on the column j, which is a contradiction. A similar argument holds if there is no column j such that j>j. Therefore there is a row i and column j such that i>i and j>j. Thus making r successive flips on [i,i,j,j] matches the cell (i,j). We only have to care about the case where some entries on the site [i,i,j,j] become negative before performing all the r flips.

1.

a<a. In this case, either (i,j) or (i,j), or both, may become negative. Suppose that the entry on the point (i,j) becomes negative at the sth flip, with s<r. Then there must be other rows ki, with ki>i which have together at least rs+1 positive entries, such that successive flips on the site [i,k,j,j] can complete the matching. If there is no such row, then all the entries Xkj(t+s1)=0 for all k>i. But since all the points (l,j) with l<i are matched, we have cj in X(t+s1) is less than cj in Y, a contradiction. A similar argument holds if the entry in the cell (i,j) became negative.

2.

a>a. In this case, (i,j) may become negative. Suppose that the entry on the point (i,j) becomes negative at the sth flip, with s<r. Then, there are rows k and column l , with k>i and l>j, which have together at least rs+1 entries such that the successive flips on [i,k,j,l] complete the matching of the cell (i,j). Suppose there is no such row k, or column l, or both, since all the relevant entries are zeros. Thus, either the row sum ri in X(t+s1) is less than ri in Y , or the column sum cj in X(t+s1) is less than cj in Y or both. Again a contradiction.

Fig. 2 The hatched zone is the matched zone at time t, where we assume that i>i and j>j. The picture also assumes that there may be some other contingency tables between X and X(t), and between X(t) and Y.

Corollary 5

For every pair of contingency tables X and Y, there is a sequence of flips changing X to Y such that the points in successive matched zones are not affected.

Corollary 6

For all contingency tables X and Y, the length of the canonical path from X to Y is at most (cmax1)mn, where cmax1 is the maximal value in a cell.

Proof

To match the point (i,j) requires at most cmax1 successive flips. Since there are at most mn points to match and there is no backtracking by Corollary 5, the result follows.

A second key observation, given in Lemma 9, is that the number of canonical paths which pass through an edge e is not too great. We first need the following definition and a lemma of far reaching importance.

Let Ω denote the set of m×n contingency tables, where ri and cj are the sums of row i and column j, respectively, for 1im, 1jn, and let XΩ. A margin is either a column or a row sum. Let Xj denote the jth column of X. Suppose that the column Xj contains m entries and the sum of these m entries is cj, then the number of non-negative integer solutions of the equation x1+x2++xm=cj is equal to cj+m1m1. We denote by Xjl the lth non-negative integer solution of the equation x1+x2++xm=cj. (Not to be confused with Xj,l, the (j,l)th entry of the contingency table X.) Let Y(l) be a contingency table whose jth column is the solution Xjl. (By Theorem 2, starting from X, it is possible to reach any Y(l). We assume that X=Y(1)). We denote by Y(l)Xjl the contingency table obtained by deleting column Xjl from Y(l). Obviously, Y(l)Xjl is an m×(n1) contingency table whose row sums are riai, where ai is the ith entry of column j of Y(l). We now state and prove the following instrumental lemma.

Lemma 7

Let Ω denote the set of m×n contingency tables where ri and cj are the sums of row i and column j, respectively, for 1im, 1jn. Let N be the cardinality of Ω. Choose any contingency table XΩ and let Xj be the column or row of X with the smallest margin amongst all the columns and rows of X. Then, (1) N=N1+N2++Nσ(1) where Nl is the number of m×(n1) contingency tables that can be reached from Y(l)Xjl through a sequence of flips, σ=cj+m1m1 is the number of non-negative integer solutions of the equation x1+x2++xm=cj, and cj is the margin of Xj.

Proof

(We insist that Xj may be a row or a column, as long as it has the least margin. But even when it is a row, we still consider it as a column, by just transposing the table.) Consider any contingency table Y(l)Ω and consider its column j. The set Ω is the disjoint union of A and B, where A is the set of contingency tables obtained from Y(l) through a sequence of flips on sites not containing entries of column j, and B is the set of contingency tables obtained from Y(l) through a sequence of flips where at least one site containing entries of column j is involved. The set A is isomorphic to the set of m×(n1) contingency tables that can be reached from Y(l)Xjl after a sequence of flips. Thus, |A|=Nl.

Elements of the set B can be obtained from Y(l) by performing a single flip in a site containing entries of column j of Y(l) to obtain a contingency table Y(l+1), and, from Y(l+1) perform all the possible flips in sites not containing entries in column j of Y(l+1). As above, this is isomorphic to the set of m×(n1) contingency tables reachable from Y(l+1)Xj,l+1. There are Nl+1 such contingency tables. Recursively, one may thus obtain all the N1,N2,,Nσ, starting from l=1, where σ=cj+m1m1, is the number of non-negative integer solutions of the equation x1+x2++xm=cj.

It only remains to show that each of these solutions would yield a valid contingency table in Ω. For a contradiction, let Zj be a non-negative integer solution of the equation x1+x2++xm=cj and there is no contingency table Z such that Zj is its jth column. Then there is no contingency table in Ω whose jth column can be transformed into Zj through a sequence of flips. Let ar and as be two entries in Zj. We may assume that as is in the sth position (row) and ar is in the rth position. There is no contingency table Z in Ω such that Zj is its jth column only if there is no contingency table Z(1) in Ω whose (r,j)th entry is ar+1 and the (s,j)th entry is as1, and such that a flip in the site [r,s,j,j] of Z(1) produces Z. This is possible only if, in Z(1), all the entries in row s (apart from as) are zeros (so that none can be decreased by 1). Thus either (1), Zs,j(1)=rs, where rs is the sum of row s, or (2), there is another entry that is not zero in row s.

(1)

Zs,j(1)=rs. Either rs>cj or not. If rs>cj, there will be a negative entry in Z(1), which then is not a contingency table. To avoid this, we chose Xj to be the column or row of the least sum amongst all the column and row sums. If not, then

(2)

Suppose there is another entry that is not zero in row s. Let this non-zero entry be in column j. Then a flip on site [r,s,j,j] may not be possible only if the (r,j) entry of Z(1) is equal to the sum of row r, so that it cannot be increased by 1. Thus Zr,j(1)=0.

Therefore, for all contingency tables Z(1) in Ω whose (r,j)th entry is ar+1 and (s,j)th entry is as1, and all other entries are equal to the corresponding entries of Zj, we have either Zr,j(1)=0 or Zs,j(1)=rs. Thus as=rs+1 or ar=01. In either case, Zj is not a non-negative integer solution of the equation x1+x2++xm=cj. This is a contradiction.

Corollary 8

Let N be the number of all m×n contingency tables of fixed row and column sums. The number of contingency tables having k fixed cells (in lexicographic ordering) is at most Nmnkmn.

Proof

We prove the result by induction on k, the number of cells that are fixed in the lexicographical ordering. Indeed, if k=0, the number of such contingency tables is N. In case k=mn, there is only a single contingency table. Hence the formula holds for these two extreme cases.

For the induction, assume that the result holds for k. Let k+1 cells be fixed and let the (k+1)th cell be on the column j. Let Ω denote the set of contingency tables having k+1 vertices fixed (in lexicographic ordering). We have to show that |Ω|Nmnk1mn.

By Lemma 7, and by induction, we have that |Ω|N1m(n1)km(n1)+N2m(n1)km(n1)++Nσm(n1)km(n1)(N1+N2++Nσ)m(n1)km(n1)Nm(n1)km(n1)Nmnk1mn.

Lemma 9

If e=(z,y) is an arc of G, then the number of different canonical paths passing through e is at most N, where N is the number of vertices of G.

Proof

Let σ=(v,,z,y,,w) be a canonical path passing through the edge e=(z,y), as illustrated in . In the graph G, the edge e represents a flip on a fixed site of the contingency table z, such that making the flip e moves the chain from z to y. Suppose that the z is reached at the kth flip along the canonical path σ, and let Z̄ be the matched zone at z. That is, Z̄ is the set containing the first k cells, in the lexicographic ordering, i.e., Z̄=(1,2,,k). Now, by Lemma 4, the matched zone is preserved along the canonical path. Thus w is the end point of a canonical path passing through e only if w contains Z̄. Hence w are contingency tables where the sequence of cells (1,2,,k) is fixed, and the sequence of cells (k+1,k+2,,mn) may take any entry, subject to being a contingency table of the correct size. The number of such vertices (contingency tables) is thus at most Nmnkmn, by Lemma 7.

Moreover, let Z̄c denote the complement of Z̄. That is Z̄c=(k+1,k+2,,mn). The contingency table v is the start point of the canonical path σ only if v is such that matching the k first cells simultaneously turns the sequence of entries in (k+1,k+2,,mn) equal to the corresponding entries in z. Hence, since the canonical path is unique, the sequence of entries in (1,2,,k) uniquely determines the sequence of entries in (k+1,k+2,,mn). Therefore v are contingency tables where the sequence of cells (k+1,k+2,,mn) is uniquely determined by the sequence of cells (1,2,,k). The latter may take any entry, subject to being a contingency table of the right size. The number of such vertices (contingency tables) is thus at most Nkmn.

Hence, the number of canonical paths using e is at most NkmnNmnkmn=N.

Fig. 3 The set of canonical paths passing through the edge e. Notice that e represents the flip that changes the contingency table Z to the contingency table Y.

Now, we are able to prove Theorem 3.

Proof of Theorem 3

In order to prove Theorem 3 by using Theorem 1, we show that there is a flow ϕ such that ρ(ϕ) is a polynomial in m×n, the size of contingency tables in Ω. Indeed, if x and y are two vertices of G, let pˆxy denote the canonical path from x to y and let ϕ be a flow consisting of injecting π(x)π(y) units of flow along pˆxy. Then, for all arcs e, we have ϕ(e)=π(x)π(y),where the sum is over all the pairs {x,y} such that epˆxy. Since by Lemma 9, there are at most N canonical paths through e, and π(x)=π(y)=1N, as the distribution π is uniform, we have ϕ(e)Nπ(x)π(y)=1N.

Moreover, since Px,y=12(mn)2 if there is an edge from x to y, we have cc(e)=π(x)Px,y=1N(2m2n2 is constant for all e. Thus ρ(ϕ)=maxeϕ(e)c.

Now, using Theorem 1, Corollary 6, we have τx(ϵ)(2m2n2)(cmaxmn)(ln1π(x)+ln1ϵ).

Since an entry may take any value from 0 to cmax1, we have N(cmax)mn. Thus, τx(ϵ)2cmax(mn)3(mnlncmax+ln1ϵ)2cmax(mn)4ln(cmaxϵ1).

Notes

Peer review under responsibility of Kalasalingam University.

References

  • Diaconis P. Gangolli A. Rectangular arrays with fixed margins Proceedings of the Workshop on Markov Chains 1994 Institute of Mathematics and its Applications, University of Minnesota
  • Diaconis P. Efron B. Testing for independence in a two-way table Ann. Statist. 13 1985 845 913
  • Goteli N.J. Ellison A.M. A Primer of Ecological Statistics Second ed. 2013 Sinauer Associates, Inc
  • Pirzada S. An Introduction To Graph Theory 2012 Universities Press OrientBlackswan, Hyderabad, India
  • Brualdi R.A. Matrices of zeroes and ones with fixed row and column sum vectors Linear Algebra Appl. 33 1980 159 231
  • Cobb G.W. Chen Y. An application of Markov Chains Monte Carlo to community ecology Amer. Math. Monthly 110 2003 265 288
  • Cooper C. Dyer M. Greenhill C. Sampling regular graphs and Peer-to-Peer network Combin. Probab. Comput. 16 2007 557 594
  • Erdös P. Gallai T.G. Graphs with prescribed degrees of vertices (Hungarian) Mat. Lapok 11 1960 264 274
  • Gail M. Mantel N. Counting the number of rxc contingency tables with fixed margins J. Amer. Statist. Assoc. 72 1977 859 862
  • Jerrum M. Sinclair A. Approximating the permanent SIAM J. Comput. 18 6 1989 1149 1178
  • Kannan R. Tetali P. Vempala S. Simple Markov-chain algorithms for generating bipartite graphs and tournaments Random Struct. Algorithms 14 4 1999 293 308
  • Sinclair A. Improved bounds for mixing rates of Markov chains and multicommodity flow Lect. Notes Comput. Sci. 583 1992 474 487
  • R. Kannan, Markov Chains and polynomial time Algorithm, in: Plenary Talk At Proc. of 35th Annual IEEE Symp. on the Foundations of Computer Science, 1994, pp. 656–671.
  • Erdös P.L. Miklós I. Toroczkai Z. A simple Havel-Hakimi type algorithm to realize graphical degree sequences of directed graphs Electron. J. Combin. 17 1 2010 P66
  • Chen Y. Diaconis P. Holmes S. Liu J.S. Sequential Monte Carlo methods for statistical analysis of tables J. Amer. Statist. Assoc. 100 2005 109 120
  • Chung F.R.K. Graham R.L. Yau S.T. On sampling with Markov chains Random Struct. Algorithms 9 1996 55 77
  • Levin D.A. Peres Y. Wilmer E.L. Markov Chains and Mixing Times 2006 Amer. Math. Soc