A few questions regarding this:
- Is this the algorithm you refer to?
Phys. Rev. E 76, 036106 (2007) [11 pages]
Near linear time algorithm to detect community structures in
large-scale networks
http://link.aps.org/doi/10.1103/PhysRevE.76.036106
- Did you make any progress on the cython optimizations?
- Is your code available anywhere, and under a license that would make
it compatible with Networkx for release (i.e. LGPL or BSD)?
I am quite interested in this tool and would be happy to collaborate
with you on cleaning it up and optimizing it for submission into
networkx.
Best regards,
f
We investigate the recently proposed label-propagation algorithm (LPA) for identifying network communities. We reformulate the LPA as an equivalent optimization problem, giving an objective function whose maxima correspond to community solutions. By considering properties of the objective function, we identify conceptual and practical drawbacks of the label propagation approach, most importantly the disparity between increasing the value of the objective function and improving the quality of communities found. To address the drawbacks, we modify the objective function in the optimization problem, producing a variety of algorithms that propagate labels subject to constraints; of particular interest is a variant that maximizes the modularity measure of community quality. Performance properties and implementation details of the proposed algorithms are discussed. Bipartite as well as unipartite networks are considered.
That's very nice. I don't know what the NX policy is regarding cython
in the core, but if possible, it would be great if you'd be interested
in pushing your improvements 'upstream', so that both core NX and Sage
could benefit from this great work.
Just a thought from a regular user of both nx and sage, but who
sometimes needs to use these tools as standalone libraries, where I
don't want or have the entire sage machinery.
Cheers,
f
Thanks a lot for the link. I'm completely new to the literature in
the field, so I appreciate the pointers. I'll have a look now at that
reference.
Regards,
f