GithubHelp home page GithubHelp logo

network-science-lab / infmax-simulator-icm-mln Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 162 KB

A generator of a dataset with actors' spreading potentials in multilayer networks under Independent Cascade Model

Python 100.00%
independent-cascade-model multilayer-networks network-science influence-maximisation

infmax-simulator-icm-mln's Introduction

Inf. Max. Simulator for Multilayer Networks under ICM

A repository to generate dataset with marginal efficiency for each actor from the evaluated network.

  • Authors: Piotr Bródka, Michał Czuba, Adam Piróg, Mateusz Stolarski
  • Affiliation: WUST, Wrocław, Lower Silesia, Poland

Configuration of the runtime

conda env create -f env/conda.yaml
conda activate infmax-simulator-icm-mln

Data

Dataset is stored in a separate rpository bounded with this project as a git submodule. Thus, to obtain it, execute: git submodule init and git submodule update. Then, you have to pull the data from the DVC remote. In order to access it, please sent a request to get an access via e-mail ([email protected]). Then, simply execute in a shell:

  • cd _data_set && dvc pull ns-data-sources/raw/multi_layer_networks/*.dvc && cd ..
  • cd _data_set && dvc pull ns-data-sources/spreading_potentials/multi_layer_networks/*.dvc && cd ..

Structure of the repository

.
├── _configs                -> def. of the spreading regimes under which do computations
├── _data_set               -> networks to compute actors' marginal efficiency for
├── _test_data              -> examplary outputs of the dataset generator used in the E2E test
├── _output                 -> a directory where we recommend to save results
├── env                     -> a definition of the runtime environment
├── misc                    -> miscellaneous scripts helping in simulations
├── runners                 -> scripts to execute experiments according to provided configs
├── README.md          
├── run_experiments.py      -> main entrypoint to trigger the pipeline
└── test_reproducibility.py -> E2E test to prove that results can be repeated

Running the pipeline

To run experiments execute: run_experiments.py and provide proper CLI arguments, i.e. a path to configuration file and a runner type. See examples in _config/examples for inspirations. As a result, for each evaluated spreading case, a csv file will be obtained with a folllowing data regarding each actor of the network:

actor: int              # actor's id
simulation_length: int  # nb. of simulation steps
exposed: int            # nb. of infected actors
not_exposed: int        # nb. of not infected actors
peak_infected: int      # maximal nb. of infected actors in a single sim. step
peak_iteration: int     # a sim. step when the peak occured

Results reproducibility

Results are supposed to be fully reproducable. There is a test for that: test_reproducibility.py.

infmax-simulator-icm-mln's People

Contributors

anty-filidor avatar

Stargazers

Niran Deng avatar

Watchers

Piotr Bródka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.