xgi-org / xgi

CompleX Group Interactions (XGI) is a Python package for higher-order networks.
https://xgi.readthedocs.io
Other
187 stars 31 forks source link

Add community detection algorithms #604

Open nwlandry opened 1 month ago

thomasrobiglio commented 1 month ago

Just to get the ball rolling, I have been looking at what the other libraries have about this.

HGX

HypernetX

Which ones do we want to implement? Do we have a priority list or something of the kind?

maximelucas commented 1 month ago

I would go first for the most "basic" and standard one. And by standard I mean if not standard in hypergraphs yet, that its potential analogue in graphs is standard. Bonus points if it's not the slowest.

Any idea which one would fit? For example I like the mixed-membership ones, but maybe mixed-membership is already kind of more advanced?

nwlandry commented 1 month ago

I think Louvain-style algorithm would be simplest. In fact, I was hoping to implement the Kaminski et al. paper at one point: https://arxiv.org/abs/1810.04816. Maybe this is a good place to start?

thomasrobiglio commented 1 month ago

mmm yes... modularity and link communities (allows for mixed memberships on the nodes @maximelucas ) should be quite easy to implement and relatively fast... about the standard question, it depends on who you ask (aaaargh).

thomasrobiglio commented 1 month ago

but yeah, I guess we can have them... if no one calls dibs I can work on it.