igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] rewire vs. degree.sequence.game


From: Tamás Nepusz
Subject: Re: [igraph] rewire vs. degree.sequence.game
Date: Fri, 4 Jul 2014 11:48:45 +0200

 
Hello,

> I was wondering how different the functions 'rewire' and 
> 'degree.sequence.game' are.
degree.sequence.game() constructs a graph from scratch, while rewire() rewires 
an existing graph. This means that you must "guesstimate" the number of 
rewiring attempts to perform in case of your particular graph to ensure that 
you do enough rewires so that the starting point (i.e. the original graph) 
becomes irrelevant. I think there are some theoretical results (or at least 
rules of thumb) in the literate about the optimal number of rewiring attempts, 
but I cannot cite any off the top of my head. In general, the number of 
rewiring attempts is usually chosen so that every edge of the graph is 
attempted to be rewired at least k times on average -- choosing the right k is 
then up to you.

> Would there be a problem with calling rewire with, e.g. 1e4 iterations?
It depends on the size of your graph. If your graph contains, say, 1e6 edges, 
then using only 1e4 rewiring attempts is not enough because it will touch only 
2e4 edges out of the 1e6 -- and even then it is not guaranteed that every 
rewiring attempt is successful.

You might also try static.fitness.game(), which generates networks where the 
probability of an edge between two vertices is proportional to some fitness 
scores of the endpoints. It can be shown that the _expected_ degrees of the 
vertices are then proportional to the fitness scores (but not the _actual_ 
degrees) if we allow loop and multiple edges. (Banning loop and multiple edges 
introduces some bias, but it might not be noticeable for your graphs so it's 
worth trying if you don't need to match the degrees of the original graph 
*exactly* but only on average).

Best,
T.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]