Skip to content

peaceGui/cyexploit

 
 

Repository files navigation

A cython / python implementation of the COPAN Exploit model.

see https://github.com/wbarfuss/netlogo-exploit for the netlogo version

Model Descriptions

The COPAN:EXPLOIT model demonstrates conceptually that purely social-cultural effects are able to determine whether bio-physical resources collapse from over-use or not. Thereby it illustrates the co-evolution between a social and an ecological sub-system.

The model is based on an adaptive network on a random graph where the nodes harvest their private renewable resource with either a sustainable or non-sustainable strategy. This represents two distinct social preferences: i) long-term sustainable yields and ii) short-term profit maximization. The resulting harvest rates are used to update the node’s strategies through social preference interactions along the edges of the network, which follow two key principles: imitation and homophily. Note that the interactions among the nodes happens only at the social, cultural level and not through a common-pool resource, which is a widely examined case.

The agent with the lowest waiting time performs a social update. These waiting times are exponentially distributed with the characteristic social update time scale tau. During a social update one neighbor of the selected agent is chosen randomly. Only if both agents have different sustainable states an actual update is performed. With rewiring probability phi the selected agent cuts the link to the selected neighbor and establishes a link with an agent with the same sustainable state. With probability 1-phi the selected agent is likely to change its sustainable state if the harvest of the selected neighbor outperforms the agents own harvest.

Details: Use the source!

Implementation

  • exploit_core.py : The basic model is implemented in the cython language, combining easy python and fast c.
  • exploit_explore : This derived class (shall) collect methods to explore the Exploit model interactively

Unittests

We are using the python testing framework pytest with pep8 style guide and pyflakes error checking. Please write corresponding unittests while developing and make sure that all test pass by executing

py.test

in the root of the project tree.

Related Publications

  • Barfuss W, Donges JF, Wiedermann M, Lucht W (2017) Sustainable use of renewable resources in a stylized social-ecological network model under heterogeneous resource distribution, Earth System Dynamics 8, 255-264, DOI: 10.5194/esd-8-255-2017

    Code version: https://zenodo.org/badge/45836179.svg

  • Wiedermann M, Donges JF, Heitzig J, Lucht W, and Kurths J (2015), Macroscopic description of complex adaptive networks co-evolving with dynamic node states, Physical Review E 91, 052801, DOI: 10.1103/PhysRevE.91.052801, Preprint: arxiv:1503.05914 [physics.soc-ph].

License

cyexploit is BSD-licensed (3 clause)

About

cython / python implementation of the COPAN:Exploit model

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 96.6%
  • Shell 3.4%