A Sequential Algorithm for Generating Random Graphs


Abstract in English

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-tau})$, our algorithm generates almost uniform random graphs with that degree sequence in time $O(m,d_{max})$ where $m=f{1}{2}sum_id_i$ is the number of edges in the graph and $tau$ is any positive constant. The fastest known algorithm for uniform generation of these graphs McKay Wormald (1990) has a running time of $O(m^2d_{max}^2)$. Our method also gives an independent proof of McKays estimate McKay (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-tau})$. Moreover, we show that for $d = O(n^{1/2-tau})$, our algorithm can generate an asymptotically uniform $d$-regular graph. Our results improve the previous bound of $d = O(n^{1/3-tau})$ due to Kim and Vu (2004) for regular graphs.

Download