2011-04-28 11 views
22

Estoy buscando implementaciones de algoritmos de detección de comunidades, como el algoritmo Girvan-Newman (2002). He visitado los sitios web de varios investigadores en este campo (Newman, Santo, etc.) pero no he podido encontrar ningún código. Me imagino que alguien publicó implementaciones de estos algoritmos (¿tal vez incluso un kit de herramientas?), Pero parece que no puedo encontrarlo.¿Existen implementaciones de algoritmos para la detección de comunidades en gráficos?

+0

Ver: [matlab-networks-toolbox] (https://github.com/ivan-brugere/matlab-networks-toolbox) – kenorb

Respuesta

36

Los algoritmos de detección de comunidad a veces son parte de una biblioteca (como JUNG para java) o una herramienta (consulte Gephi). Cuando los autores publican un nuevo método, a veces hacen que su código esté disponible. Por ejemplo, los métodos Louvain y Infomap.

Nota al margen: El algoritmo de Girvan-Newman a veces todavía se usa, pero en su mayoría ha sido reemplazado por métodos más rápidos y precisos. Para una buena visión general del tema, recomiendo Community detection algorithms: a comparative analysis o el más largo Community detection in graphs (103 páginas).

24

Usted debe echar un vistazo a la igraph library:

  • 7 algoritmos de detección de la comunidad (incluyendo aquellos mencionado anteriormente):
    • Edgebetweenness (Girvan-Newman enlace enfoque basado en el carácter central),
    • Walktrap (enfoque basado en el paseo al azar de Pons-Latapy),
    • Leading Eigenvectors (enfoque espectral de Newman),
    • Fast Greedy (Clauset et. al optimización modularidad),
    • Label Propagación (Raghavan et. al),
    • Lovaina (Blondel et. al, optimización modularidad),
    • Spinglass (Reichardt-Bornholdt, optimización de modularidad),
    • InfoMap (Rosvall -Bergstrom, enfoque basado en la compresión).
  • otras funciones relacionadas con: la modularidad proceso, se ocupan de las estructuras jerárquicas, etc.
  • Disponible en R, C y Python
  • de código abierto

Para mi opinión, la herramienta más completa para detección comunitaria Para más detalles, compruebe también: What are the differences between community detection algorithms in igraph?

+0

También está disponible en Mathematica ahora: https://github.com/szhorvat/IGraphM Todas las funciones de detección de la comunidad están cubiertas. – Szabolcs

0

Hemos puesto en marcha recientemente our algorithm, que se basa en constante Modelo Potts, rápido optimización de Lovaina, y la ecuación mapa fiable de InfoMap para redes ponderados y firmados. Here es el proyecto Java de código abierto + un archivo ejecutable.

Cuestiones relacionadas