Skip to main content

Payoff-Driven Stochastic Spatial Model for Evolutionary Game Theory

Project description

piegy

The package full name is: Payoff-Driven Stochastic Spatial Model for Evolutionary Game Theory. "pi" refers to "payoff, and "egy" are taken from "Evolutionary Game Theory".

Provides a stochastic spatial model for simulating the interaction and evolution of two species in either 1D or 2D space, as well as analytic tools.

Installation

To install piegy, run the following in terminal:

pip install piegy

Documentation and Source

See source code at: piegy GitHub-repo. The piegy documentation at: piegy Documentation.

How the Model Works

Our model can be summarized as "classical evolutionary game theory endowed with spatial structure and payoff-driven migration rules". Consider two species, predators and preys (denoted by U and V), in a rectangular region. We divide the region into N by M patches and simulate their interaction within a patch by classical game theory (i.e., payoff matrices and carrying capacity). Interactions across patches are simulated by payoff-driven migration rules. An individual migrates to a neighboring patch with probability weighted by payoff in the neighbors.

We use the Gillepie algorithm as the fundamental event-selection algorithm. At each time step, one event is selected and let happen; and the step size is continuous, dependent on the current state in the space. Data are recorded every some specified time interval.

Analytic Tools

The piegy package also provides a wide range of analytic and supportive tools alongside the main model, such as plotting, numerical tools, data saving & reading, etc. We also provide the piegy.videos module for more direct visualizations such as how population distribution change over time.

C Core

From version 2 on, the piegy simulations are now equipped with a C core, which makes it significantly faster than previous versions.

Examples

To get started, simply get our demo model and run simulation:

from piegy import simulation, figures
import matplotlib.pyplot as plt

mod = simulation.demo_model()
simulation.run(mod)

fig1, ax1 = plt.subplots()
figures.UV_dyna(mod, ax1)
fig2, ax2 = plt.subplots(1, 2, figsize = (12.8, 4.8))
U_hmap, V_hmap = figures.UV_heatmap(mod, ax2[0], ax2[1])

The figures reveal population dynamics and steady state population distribution.

Acknowledgments

  • Thanks Professor Daniel Cooney at University of Illinois Urbana-Champaign. This package is developed alongside a project with Prof. Cooney and received enormous help from him.
  • Special thanks to the open-source community for making this package possible.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

piegy-2.0.2.tar.gz (50.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

piegy-2.0.2-py3-none-any.whl (51.7 kB view details)

Uploaded Python 3

File details

Details for the file piegy-2.0.2.tar.gz.

File metadata

  • Download URL: piegy-2.0.2.tar.gz
  • Upload date:
  • Size: 50.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for piegy-2.0.2.tar.gz
Algorithm Hash digest
SHA256 41937c9bfc2a150e0e37b72bfb1ad9deddc6b1316a3dabef7925fe8e9d01483f
MD5 bf43fdb4cb99ba2d053e651392a7cfe6
BLAKE2b-256 84ad89a36bd154f68156eb86a1f784a8e858f327c755d79f75e04a49dfedb156

See more details on using hashes here.

File details

Details for the file piegy-2.0.2-py3-none-any.whl.

File metadata

  • Download URL: piegy-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 51.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for piegy-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8d8e351f5c7a8dfdc56a11a70a513aba812f1e06eb53c4738cc9f66e47fb65b7
MD5 eae9990a8113c3ecaeee578a22c47f52
BLAKE2b-256 162562799f8bfa473c7bb876eb60428c2f8fa7c310f3eb5f7f0f9200834f7416

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page