Table of Contents
Fetching ...

CyNetDiff -- A Python Library for Accelerated Implementation of Network Diffusion Models

Eliot W. Robson, Dhemath Reddy, Abhishek K. Umrawal

TL;DR

CyNetDiff is introduced, a Python library with components written in Cython to provide improved performance for these computationally intensive diffusion tasks.

Abstract

In recent years, there has been increasing interest in network diffusion models and related problems. The most popular of these are the independent cascade and linear threshold models. Much of the recent experimental work done on these models requires a large number of simulations conducted on large graphs, a computationally expensive task suited for low-level languages. However, many researchers prefer the use of higher-level languages (such as Python) for their flexibility and shorter development times. Moreover, in many research tasks, these simulations are the most computationally intensive task, so it would be desirable to have a library for these with an interface to a high-level language with the performance of a low-level language. To fill this niche, we introduce CyNetDiff, a Python library with components written in Cython to provide improved performance for these computationally intensive diffusion tasks.

CyNetDiff -- A Python Library for Accelerated Implementation of Network Diffusion Models

TL;DR

CyNetDiff is introduced, a Python library with components written in Cython to provide improved performance for these computationally intensive diffusion tasks.

Abstract

In recent years, there has been increasing interest in network diffusion models and related problems. The most popular of these are the independent cascade and linear threshold models. Much of the recent experimental work done on these models requires a large number of simulations conducted on large graphs, a computationally expensive task suited for low-level languages. However, many researchers prefer the use of higher-level languages (such as Python) for their flexibility and shorter development times. Moreover, in many research tasks, these simulations are the most computationally intensive task, so it would be desirable to have a library for these with an interface to a high-level language with the performance of a low-level language. To fill this niche, we introduce CyNetDiff, a Python library with components written in Cython to provide improved performance for these computationally intensive diffusion tasks.
Paper Structure (16 sections, 4 figures, 2 tables)

This paper contains 16 sections, 4 figures, 2 tables.

Figures (4)

  • Figure 1: Benchmark output on a synthetic random graph.
  • Figure 2: Benchmark output on a real-world graph.
  • Figure 4: A heatmap created by running CyNetDiff and coloring nodes based on how often they were activated. The seed nodes appear completely red, as they were always active.
  • Figure 5: Mean number of nodes activated over time. The data for this plot was dynamically generated during the demonstration on a random regular graph generated by NetworkX.