Code Monkey home page Code Monkey logo

einet's Introduction

Effective information and causal emergence in python

Python code for calculating effective information in networks. This can then be used to search for macroscale representations of a network such that the coarse grained representation has more effective information than the microscale, a phenomenon known as causal emergence. This code accompanies the recent paper:

Uncertainty and causal emergence in complex networks
Brennan Klein and Erik Hoel, 2019.
arXiv:1907.03902


EI in ER and PA networks

Fig. 1: Effective information vs network size.

EI in ER and PA networks

Fig. 2: Causal emergence vs preferential attachment.


Tutorial Notebooks (works in progress...)

  1. Chapter 01 - Network Effective Information
  2. Chapter 02 - Network Size and Effective Information
  3. Chapter 03 - Determinism and Degeneracy
  4. Chapter 04 - Effective Information in Real Networks
  5. Chapter 05 - Causal Emergence in Preferential Attachment and SBMs
  6. Chapter 06 - Causal Emergence and the Emergence of Scale
  7. Chapter 07 - Estimating Causal Emergence in Real Networks
  8. Chapter 08 - Miscellaneous

Installation and Usage

In order to use this code, first clone/download the repository. Below is a simple example usage. Please feel free to reach out if you find any bugs, have any questions, or if for some reason the code does not run.

>>> from ei_net import *
>>> import networkx as nx
>>> G = nx.karate_club_graph()
>>> print("effective_information(G) =", effective_information(G))
EI(G) = 2.3500950888734686

The tutorial notebooks are designed to walk through some of the main results from the paper above, in addition to several in-depth analyses that were not included in the original paper.

Requirements

This code is written in Python 3.x and uses the following packages:

The colormaps in the paper are from https://matplotlib.org/cmocean/ and the named colors are from https://medialab.github.io/iwanthue/.

Citation

If you use these methods and this code in your own research, please cite our paper:

Klein, B. & Hoel, E. (2019). Uncertainty and causal emergence in complex networks. arXiv:1907.03902

Bibtex:

@article{klein2019causalemergence,
  title={Uncertainty and causal emergence in complex networks},
  author={Klein, Brennan and Hoel, Erik},
  journal={arXiv preprint arXiv:1907.03902},
  year={2019}
}

See also:

  • Hoel, E. (2017). When the map is better than the territory. Entropy. 19(5), 188; doi: 10.3390/e19050188.
    • recent work making explicit connections between causal emergence and the channel capacity of a model.
  • Hoel, E., Albantakis, L., & Tononi, G. (2013). Quantifying causal emergence shows that macro can beat micro. Proceedings of the National Academy of Sciences. 110 (49) 19790-19795. doi: 10.1073/pnas.1314922110.
    • the first work to quantify causal emergence, showing how and why certain coarse-grained models can have more effective information.

einet's People

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.