, Volume 58, Issue 4, pp 860-910
Date: 21 Jul 2009

A Sequential Algorithm for Generating Random Graphs

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


We present a nearly-linear time algorithm for counting and randomly generating simple graphs with a given degree sequence in a certain range. For degree sequence (d i ) i=1 n with maximum degree d max =O(m 1/4−τ ), our algorithm generates almost uniform random graphs with that degree sequence in time O(md max ) where \(m=\frac{1}{2}\sum_{i}d_{i}\) is the number of edges in the graph and τ is any positive constant. The fastest known algorithm for uniform generation of these graphs (McKay and Wormald in J. Algorithms 11(1):52–67, 1990) has a running time of O(m 2 d max  2 ). Our method also gives an independent proof of McKay’s estimate (McKay in Ars Combinatoria A 19:15–25, 1985) for the number of such graphs.

We also use sequential importance sampling to derive fully Polynomial-time Randomized Approximation Schemes (FPRAS) for counting and uniformly generating random graphs for the same range of d max =O(m 1/4−τ ).

Moreover, we show that for d=O(n 1/2−τ ), our algorithm can generate an asymptotically uniform d-regular graph. Our results improve the previous bound of d=O(n 1/3−τ ) due to Kim and Vu (Adv. Math. 188:444–469, 2004) for regular graphs.