puzzlef / leiden-communities-openmp-dynamic

Design of OpenMP-based Dynamic Leiden algorithm for community detection.
https://arxiv.org/abs/2405.11658
MIT License
0 stars 0 forks source link

Observing low modularity with Static/Dynamic Leiden on temporal graphs #1

Closed wolfram77 closed 4 months ago

wolfram77 commented 5 months ago

Compared to Static Louvain.

image

wolfram77 commented 5 months ago

Here is the results with large graphs (5050). Slightly lower modularity with Leiden, and poor modularity with Dynamic Frontier Leiden. What is causing this?

image

wolfram77 commented 4 months ago

Disabling aggregation tolerance seems to help!

wolfram77 commented 3 months ago

On large graph with random batch updates (80% edge insertions, 20% deletions), also run Static Louvain and Static Leiden as reference. However, no issues are observed here. But Dynamic Frontier Leiden is returning communities of lower modularity.

After a small batch update, Dynamic Louvain converges very quickly and does not need to perform aggregation. With Dynamic Leiden, the local-moving phase also converges very quickly, but then there is the refinement phase. The refinement phase now splits the large communities into smaller communities. Here, the algorithm stops - this is the cause of the issue.

The only solution I can see is to keep running more passes - like Static Leiden, until it converges.

wolfram77 commented 3 months ago

disable aggregation tolerance for temporal graphs

wolfram77 commented 3 months ago

restrict refinement phase

The idea is to restrict the refinement of communities to those in which vertices actually change their community membership.


restrict refinement for ND and DS approaches


reduce unneeded copies

Limit to order of current graph.