Giter Club home page Giter Club logo

insa's Introduction

INSA

alt text

This repository provides a proof-of-concept implementation for the manuscript Network Reconstruction via Sensitivity Analysis.

Poster and Paper

 

Models

All models have a continuous-time Markov chain (CTMC) semantic. Each node is an individual agent that changes its state depending on neighboring states after an exponentially distributed residence time. The parameters for each agent are sampled in the beginning.

Cascade

Agents occupy one of three states (S, I, R). Initially, most agents are susceptible (S). When an agent has at least one infected neighbor, it either becomes infected (S -> I) or directly reaches immunity (S -> R). The probability to turn to I or R is agent-dependent.

SIS

Agents occupy one of two states (S, I). Initially, most agents are susceptible (S). The infection spreads along each S-I edge independently. Infected agents recover (I -> S) independently from their neighborhood. The infection rate and the recovery rate are agent-dependent random variables.

Opinion

Agents exist in one of two states: A or B. Their objective is either to maximize or minimize agreement with their neighbors. Specifically, agents in state A are more likely to remain in A—or switch from B to A—if a majority of their neighbors are also in state A; this is termed 'maximization.' Conversely, agents are more likely to remain in state B—or switch from A to B—if a majority of their neighbors are in state A; this is termed 'minimization.' The objective of each agent—whether to maximize or minimize agreement—is randomly determined.

Majority Vote

Agents occupy one of two states (A, B). They change their state only when the majority of neighboring agents occupy the state they do not occupy. The inertia of the agents is represented by agent-dependent random variables.

Run INSA

Locally

You can run INSA locally using main.ipynb. First, install Anaconda, then create an environment with the Python dependencies (tested on OS X):

conda env create -f environment.yml -n insa
conda activate insa
jupyter lab

Alternativly, you run install.sh which should be more robust.

Via Docker

Install docker and then:

docker run -p 8888:8888 gerritgr/insa:latest

You need to manually copy the URL to your browser, navigate to the notebook, and activate the insaenv kernel (Kernel -> Change Kernel...).

insa's People

Contributors

gerritgr avatar

Stargazers

 avatar

Watchers

 avatar  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.