English

A Sequential Algorithm for Generating Random Graphs

Computational Complexity 2012-03-06 v5 Discrete Mathematics

Abstract

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 (di)i=1n(d_i)_{i=1}^n with maximum degree dmax=O(m1/4τ)d_{\max}=O(m^{1/4-\tau}), our algorithm generates almost uniform random graphs with that degree sequence in time O(mdmax)O(m\,d_{\max}) where m=\f12idim=\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(m2dmax2)O(m^2d_{\max}^2). Our method also gives an independent proof of McKay's 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 dmax=O(m1/4τ)d_{\max}=O(m^{1/4-\tau}). Moreover, we show that for d=O(n1/2τ)d = O(n^{1/2-\tau}), our algorithm can generate an asymptotically uniform dd-regular graph. Our results improve the previous bound of d=O(n1/3τ)d = O(n^{1/3-\tau}) due to Kim and Vu (2004) for regular graphs.

Keywords

Cite

@article{arxiv.cs/0702124,
  title  = {A Sequential Algorithm for Generating Random Graphs},
  author = {Mohsen Bayati and Jeong Han Kim and Amin saberi},
  journal= {arXiv preprint arXiv:cs/0702124},
  year   = {2012}
}

Comments

39 pages