All Projects → mirzaevinom → egtplot

mirzaevinom / egtplot

Licence: MIT license
egtplot: A python package for 3-Strategy Evolutionary Games

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to egtplot

gamegym
A game theory framework with examples and algorithms
Stars: ✭ 49 (+48.48%)
Mutual labels:  game-theory
RaPId
RaPId (a recursive acronym for "Rapid Parameter Identification") utilizes different optimization and simulation technologies to provide a framework for model validation and calibration of any kind of dynamical systems, but specifically catered to power systems.
Stars: ✭ 35 (+6.06%)
Mutual labels:  dynamical-systems
pomp
R package for statistical inference using partially observed Markov processes
Stars: ✭ 88 (+166.67%)
Mutual labels:  dynamical-systems
algorithms
The All ▲lgorithms documentation website.
Stars: ✭ 114 (+245.45%)
Mutual labels:  game-theory
codac
Codac is a library for constraint programming over reals, trajectories and sets.
Stars: ✭ 31 (-6.06%)
Mutual labels:  dynamical-systems
FactorGraph.jl
The FactorGraph package provides the set of different functions to perform inference over the factor graph with continuous or discrete random variables using the belief propagation algorithm.
Stars: ✭ 17 (-48.48%)
Mutual labels:  dynamical-systems
BifurcationInference.jl
learning state-space targets in dynamical systems
Stars: ✭ 24 (-27.27%)
Mutual labels:  dynamical-systems
matching
A package for solving matching games.
Stars: ✭ 97 (+193.94%)
Mutual labels:  game-theory
Deep-Learning-Mahjong---
Reinforcement learning (RL) implementation of imperfect information game Mahjong using markov decision processes to predict future game states
Stars: ✭ 45 (+36.36%)
Mutual labels:  game-theory
LatentDiffEq.jl
Latent Differential Equations models in Julia.
Stars: ✭ 34 (+3.03%)
Mutual labels:  dynamical-systems
RigidBodySim.jl
Simulation and visualization of articulated rigid body systems in Julia
Stars: ✭ 63 (+90.91%)
Mutual labels:  dynamical-systems
sysidentpy
A Python Package For System Identification Using NARMAX Models
Stars: ✭ 139 (+321.21%)
Mutual labels:  dynamical-systems
Computational-Economics
Algorithmic game theory, recursive macroeconomics, machine learning for econometrics
Stars: ✭ 35 (+6.06%)
Mutual labels:  game-theory
gt
Source files for my course on Game Theory.
Stars: ✭ 28 (-15.15%)
Mutual labels:  game-theory
PyRates
Open-source, graph-based Python code generator and analysis toolbox for dynamical systems (pre-implemented and custom models). Most pre-implemented models belong to the family of neural population models.
Stars: ✭ 33 (+0%)
Mutual labels:  dynamical-systems
PySPOD
A Python package for spectral proper orthogonal decomposition (SPOD).
Stars: ✭ 50 (+51.52%)
Mutual labels:  dynamical-systems
chaotic-maps
Simple implementations of chaotic maps in Processing
Stars: ✭ 18 (-45.45%)
Mutual labels:  dynamical-systems
dynamical-systems-with-applications-using-python
Source code for 'Dynamical Systems with Applications Using Python' by Stephen Lynch
Stars: ✭ 100 (+203.03%)
Mutual labels:  dynamical-systems
rom-operator-inference-Python3
Operator Inference for data-driven, non-intrusive model reduction of dynamical systems.
Stars: ✭ 31 (-6.06%)
Mutual labels:  dynamical-systems
evoplex
Evoplex is a fast, robust and extensible platform for developing agent-based models and multi-agent systems on networks. It's available for Windows, Linux and macOS.
Stars: ✭ 98 (+196.97%)
Mutual labels:  evolutionary-game-theory

egtplot: A Python Package for Three-Strategy Evolutionary Games

DOI PyPi Downloads

This is a software package for plotting and animating three-strategy evolutionary games on a triangular simplex.

  • The package can be used to create phase portraits of 3-strategy games

  • It can also be used to animate transient behavior of the game

Use Cases

While there are many use cases for this software, our group's particular focus is on the mathematical modeling of cancer and cancer therapies through evolutionary game theory [@kaznatcheev2017cancer, @kaznatcheev2015edge, @Kaznatcheev179259]. For details on analytical treatments of evolutionary games, please see Artem Kaznatcheev's blog at Theory, Evolution, and Games Group.

Authorship

Inom Mirzaev and Drew FK Williamson contributed equally to this work.

Dependencies

The program is written and tested on Python >=3.5. This software package depends on the following libraries:

  • numpy>=1.13, scipy, shapely for computations
  • matplotlib for static plots
  • imageio, moviepy for animations
  • tqdm for progress bar

Installing the package from PyPi will take care of all the dependencies

pip install egtplot

Installation

  • Easiest way to install the package is through PyPi
pip install egtplot
  • You can clone this repository using git software and run setup.
git clone https://github.com/mirzaevinom/egtplot.git
cd egtplot
python setup.py install
  • Alternatively you can download and extract a zip file of this repo:
cd egtplot-master
python setup.py install
  • Finally, we also have created a Docker container for running a jupyter notebook with egtplot: drewfkw/egtplot

Specific Usage

  • This software has two main functions: plot_static for plotting static simplex figures and plot_animated for generating simplex animations.
  • For detailed usage of these functions we refer to our interactive jupyter notebook: egtplot_demonstration.ipynb
  • We also welcome comments and questions regarding our whitepaper on bioRxiv which describes the package and its usage. The content is nearly identical to the jupyter notebook linked above.

Citation

If you use this program to do research that leads to publication, we ask that you acknowledge use of this program by citing the following in your publication:

Mirzaev I., Williamson D. and Scott J., egtplot: A Python Package for 3-Strategy Evolutionary Games, https://doi.org/10.1101/300004

Acknowledgements

  • The authors would like to thank Mathematical Biosciences Institue (MBI) at Ohio State University, for partially supporting this research. MBI receives its funding through the National Science Foundation grant DMS 1440386.
  • We gratefully acknowledge the work of Hanna Schenk whose code on her github inspired this project.

Contributing and Issues

Please use GitHub Issues for issue tracking and bugs. Feel free to contact Drew and Inom if you would like to contribute to egtplot or with questions and comments.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].