Efficient sampling of spreading processes on complex networks using a composition and rejection algorithm

Guillaume St-Onge, Jean-Gabriel Young, Laurent Hébert-Dufresne, Louis J. Dubé
8/15/2018
physics.soc-phcs.SI

Official code: gstonge/spreading_CR (11 stars, MIT, last commit 2021-07-08).

Abstract

Efficient stochastic simulation algorithms are of paramount importance to the study of spreading phenomena on complex networks. Using insights and analytical results from network science, we discuss how the structure of contacts affects the efficiency of current algorithms. We show that algorithms believed to require $\mathcal{O}(\log N)$ or even $\mathcal{O}(1)$ operations per update---where $N$ is the number of nodes---display instead a polynomial scaling for networks that are either dense or sparse and heterogeneous. This significantly affects the required computation time for simulations on large networks. To circumvent the issue, we propose a node-based method combined with a composition and rejection algorithm, a sampling scheme that has an average-case complexity of $\mathcal{O} [\log(\log N)]$ per update for general networks. This systematic approach is first set-up for Markovian dynamics, but can also be adapted to a number of non-Markovian processes and can enhance considerably the study of a wide range of dynamics on networks.

View on arXivView PDF

Code Implementations(1)

MIT

Gillespie algorithm for the simulation of spreading processes on complex networks using a composition and rejection scheme.

110C++, CMakeJul 11, 20185 years agoMIT

Similar Papers

Cite this paper

@article{stonge2018efficient,
  title  = {Efficient sampling of spreading processes on complex networks using a composition and rejection algorithm},
  author = {Guillaume St-Onge and Jean-Gabriel Young and Laurent Hébert-Dufresne and Louis J. Dubé},
  year   = {2018},
  eprint = {1808.05859},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1808.05859}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1808.05859.svg)](https://codeofpaper.com/paper/1808.05859)

Discussion