Am 04.09.20 um 19:01 schrieb Snehal Shekatkar:
Thanks Tiago for the reply. Here is a script for generating a random regular graph as an example:
def generate_rrg(n, k):
g = gt.random_graph(n, deg_sampler = lambda : k, directed = False, verbose = True, n_iter = 1000)
return g
Since verbose is True, this prints what is happening. Now when I run generate_rrg(n = 10, k = 11), the following is printed and script never stops:
adding vertices: 1 of 10 (10%)
This is giving me impression that the algorithm is adding one vertex at a time. Since every time added vertex has degree 11 in this case, the algorithm is not moving ahead because that will lead to multi/self edges (if my interpretation is right). The verbose message looks difficult to explain using your description. Am I missing something obvious? In the initial placement it does indeed test if each degree is below the maximum possible before continuing. This a necessary but not sufficient condition being able to build a graph. After the initial degrees have been sampled, it proceeds as I had explained.
You're attempting to generate an impossible graph, so I don't understand what you were expecting would happen. Best, Tiago Tiago de Paula Peixoto <tiago@skewed.de>