Using R,I try to calculate Betweenness centrality for about 1 million nodes and more than 20 million edges. To do so I have a pretty decent machine with 128GB ram and 4*2.40GHz CPU and a 64bit windows. Yet, using betweeness() of Igraph takes ages. I am wondering is there any quick solution? would it be faster, if I use Gephi?!
Asked
Active
Viewed 1,111 times
2
-
2The best algorithm for betweenness is an O(n^2 log(n)), so yes, it will be slow, probably days, or weeks. R/igraph only uses a single CPU, so it does not matter how many you have. Yes, you might try other software, Gephi, or whatever seems promising to you. – Gabor Csardi Feb 12 '14 at 18:15
-
1what do you call "ages" exactly? You could try using Gephi in its Toolkit version: https://gephi.org/toolkit/ – seinecle Feb 12 '14 at 22:48
-
1You can try smaller networks with similar properties first, to see how the running time scales with network size. You can also try `betweenness.estimate`, which might be faster. Again, try it on a smaller network first. – Gabor Csardi Feb 13 '14 at 16:34
-
3As your question is 7 months old, you probably moved on from it. However, I had a same problem and it took me few days to figure out what to do. In a nutshell the fastest way I could find was to export my data to [Matlab compatible file](http://stackoverflow.com/questions/4771144/sharing-large-datasets-between-matlab-and-r) and then use [Matlab-BGL](http://dgleich.github.io/matlab-bgl/) which is very fast and efficient for computing betweenness. Next, you can import the result to R. Its a little bit dirty but efficient. I didnt post it as answer as you tagged your question as R and not Matlab. – Amin.A Sep 14 '14 at 08:35