On 05/19/2014 09:26 AM, Helen Lampesis wrote:
> Dear Friends,
>
> How one should create an Erdos-Renyi random graph with graph_tool? 
> Equivalently, a “G_n_p" graph?
>
> I think, one could create a graph with -n- vertices and n*p edges and
> then use the random_rewire function with model=‘erdos’.

This would work. This is exactly what you would get if you did:

     g = random_graph(n, lambda: poisson((n-1) * p), directed=False, 
model="erdos")

Note that if you remove "model='erdos'" from the above you will get an
almost indistinguishable graph, i.e. a sample from the configuration
model with a Poisson degree distribution.

(Note that your graph will have on average n(n-1)p/2 edges, not n * p)

> Q1. Can I create the input graph of the random_rewire
> /deterministically/ and rely on the random_rewire to actually do the
> shuffling?

Yes.

> Q2. “Turning on” the edge_sweep option and the niter is it crucial for
> the graph’s randomness?

The only important thing is that niter is sufficiently large. The
edge_sweep option only makes things faster, since it attempts to rewire
each edge in a random sequence, whereas if it is disabled, each edge to
be sampled is chosen randomly, and it may take a longer time for a
given edge to be chosen.

> And a small suggestion: given the popularity of this type of model, it
> might worth an *example *at the documentation, to “attract” more
> people.

I agree. I'll make sure to include simpler examples in this part of the
documentation in the future. If you want to help, you could open a
ticket about this in the website, so I can keep track of it.

> Small side-question: what is the* fastest* way to create a graph
> object with n vertices and m edges (any edges other than parallel and
> self-loops are allowed).

Should it be random? If not, you can do:

   ak = floor(2 * m / n)
   dm = 2 * m - ak * n
   g = random_graph(N, lambda i: ak + 1 if i < dm else ak, directed=False, 
random=False)

This is a bit cumbersome, but should be fast.  I think it would be a
good idea to include this simple case in the library in some form...

Best,
Tiago

-- 
Tiago de Paula Peixoto <[email protected]>

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
graph-tool mailing list
[email protected]
http://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to