junipertcy / sbm-bp

Community detection engine for the degree-corrected Stochastic Block Model, using the Belief Propagation algorithm.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sbm-bp Build Status

sbm-bp implements the belief propagation algorithm for the inference of the (degree-corrected) stochastic block model. This program is largely an object-oriented re-implemetation of the "MODE-NET" code by Aurelien Decelle, Florent Krzakala and Pan Zhang.

This program is tested with a few benchmark networks, including synthetic networks and the karate club network. It generates nearly identical outputs as the original ones. For completeness, the original code is also included in this repository, under src/old.

Documentation will be updated soon.

Table of content

  1. Usage
  2. Compilation
  3. Companion articles

Usage

Compilation

This code requires compilers that support C++14 features. It also depends on boost::program_options and cmake.

Compilation:

cmake .
make

The binaries are built in bin/.

Usage

Inference

bin/bp -l dataset/N_1000-Q_2-method_cab_ec-eps_0.1-c_3.0.edgelist -n 500 500 --pa 0.5 0.5 --cab 3.63 2.36 3.63 -t 1000 -i 0 --deg_corr_flag 0 -m infer

Learning

bin/bp -l dataset/N_1000-Q_2-method_cab_ec-eps_0.1-c_3.0.edgelist -n 500 500 --pa 0.5 0.5 --cab 3.63 2.36 3.63 -t 1000 -i 0 --deg_corr_flag 0 -m learn

References

Please find the references from the original project page.

About

Community detection engine for the degree-corrected Stochastic Block Model, using the Belief Propagation algorithm.

License:GNU General Public License v3.0


Languages

Language:C++ 94.7%Language:Python 2.8%Language:CMake 2.1%Language:Makefile 0.2%Language:Shell 0.1%Language:C 0.1%