Acta Universitatis Sapientiae: Mathematica (Dec 2018)
Rejection sampling of bipartite graphs with given degree sequence
Abstract
Let A = (a1, a2, ..., an) be a degree sequence of a simple bipartite graph. We present an algorithm that takes A as input, and outputs a simple bipartite realization of A, without stalling. The running time of the algorithm is ⊝(n1n2), where ni is the number of vertices in the part i of the bipartite graph. Then we couple the generation algorithm with a rejection sampling scheme to generate a simple realization of A uniformly at random. The best algorithm we know is the implicit one due to Bayati, Kim and Saberi (2010) that has a running time of O(mamax), where m=12∑i=1nai$m = {1 \over 2}\sum\nolimits_{i = 1}^n {{a_i}} and amax is the maximum of the degrees, but does not sample uniformly. Similarly, the algorithm presented by Chen et al. (2005) does not sample uniformly, but nearly uniformly. The realization of A output by our algorithm may be a start point for the edge-swapping Markov Chains pioneered by Brualdi (1980) and Kannan et al.(1999).
Keywords