There is a newer version of the record available.

Published October 27, 2022 | Version 0.1.11
Software Open

EGTtools: Toolbox for Evolutionary Game Theory

  • 1. Université Libre de Bruxelles

Description

This Python package provides efficient implementation of analytical and numerical Evolutionary Game Theory methods and models.

Fixed

  • fixed errors in docstrings examples
  • fixed missing headers
  • fixed error in full_fitness_difference_group and calculate_fulll_transition_matrix. There was a missing
    multiplying factor in the probability of transition due to mutation. The probability of selecting the strategy to dies
    must also be taken into account. There was also an issue when instantiating the multi_hypergeometric_distribution
    class from scipy. It does not copy the array containing the counts of each strategy. Now we create a copy before
    passing the state vector to avoid the issue.
  • fixed issue with AbstractNPlayerGame. For N-player games it was not a good idea to calculate the fitness in Python
    as this part of the class becomes a bottleneck, as it will be called more often then in the 2-player case (because
    there are more states - so less likely the fitness will be stored in cache). For this reason we now implemented this
    abstract class in C++ and the fitness calculation is done in this language. Everything else remains the same, and it
    should be equally easy to create new games.
  • fixed issues of missing initialization of internal parameters of some egttools.games.NormalForm.TwoAction
    strategies. Internal parameters should be initialized when time == 0, i.e., at the beginning of each game.

Changed

  • changed egttools to src-layout. This should help fix issues with tests and make the overall structure of the
    library cleaner.
  • moved C++ code to the cpp folder. This way the code is more organized.
  • Bump pypa/cibuildwheel from 2.8.1 to 2.11.1
  • Bump pypa/cibuildwheel from 2.11.1 to 2.11.2
  • Bump robinraju/release-downloader from 1.4 to 1.5
  • Bump ncipollo/release-action from 1.10.0 to 1.11.1
  • removed support for win32 and manylinux_i686 for Python > 3.7

Added

  • added new controls to draw_stationary_distribution
  • added enhancement_factor parameter to CRDGame. This parameter serves as a multiplying factor for the payoff of
    each player in case the target is achieved. If enhancement_factor = 1 the CRDGame behaves as usual.
    For enhancement_factor > 1, we are incentivizing strategies that reach the target.
  • added MemoryOneStrategy to egttools.games.NormalForm.TwoAction strategies.
  • added CommonPoolResourceDilemma game - However it has still not been extensively tested!!
  • added ninja as a requirement for the build.
  • added TimeBasedCRDStrategy to egttools.games.CRD strategies. These strategies make contributions to the Public
    Good in function of the round of the game.
  • added sdist to build.
  • added labels to the lines plot by plot_gradients so that several lines can be plotted.
  • added more unit testing, but this still needs a lot of improvement.
  • added missing libraries on C++ code.

Full Changelogv0.1.10...v0.1.11

Notes

Please cite this software using the metadata from 'preferred-citation'.

Files

Socrats/EGTTools-v0.1.11.zip

Files (2.3 MB)

Name Size Download all
md5:389b2c109ef60b3f4f3ad9a50e676524
2.3 MB Preview Download

Additional details

Related works