gonum / graph

Graph packages for the Go language [DEPRECATED]
250 stars 39 forks source link

graph/community: add multiplex graph handling for community detection #166

Closed kortschak closed 7 years ago

kortschak commented 8 years ago

This is described in "Algorithms and dynamical models for communities and reputation in social networks" ISBN: 978-3-319-06390-4 chapter 5 (also available here for people without institutional Springer subscriptions).

The process is essentially one where each layer of a multiplex graph is considered in conjunction with all others during the deltaQ method - so iterate over all layers of the mgraph and sum the dQs to find the best overall move. This means that we need new reduced graph types that hold each individual layer. We can also allow negative edge weights in this case (at a time cost) so we would assess whether any layer contains negative edge weights to automatically change moving behaviour for those cases (we must consider all communities, not just the union of neighbouring communities as is the case for purely positive multiplex graphs).

The API for dealing with multiplex graphs needs consideration.

kortschak commented 7 years ago

Closed by #174.