Skip to content

Releases: ryhigg/pyetbd

pyetbd v0.2.1

06 Feb 00:23
5d46b68
Compare
Choose a tag to compare

pyetbd version 0.2.1

Release Date: 02/05/2024

Highlights

  • Refactoring of codebase to improve readability and future extensibility

Improvements

The pyetbd is now more modular and has more flexibility for settings that can be varied in an experiment.

General Structure

  • Organism object is now only responsible for dealing with the population
  • Schedule objects are less repetitive and are only concerned with keeping track of whether reinforcement or punishment is available
  • Algorithm object introduced to handle running the algorithm
  • Algorithm strategies introduced to make adding new behavior to the algorithm simple as they can just be written and 'plugged in' to the algorithm. The algorithm strategies are used to implement the rules.
    • Rules are now all functions compiled by numba for improved performance and provide a clear structure for where new rules could be added in the future
  • Settings classes added for schedules and experiments to make object creation and data output more streamlined
    • The algorithm strategies are also given these as arguments, making it easy for them to pull out the settings they need and ignore any settings that don't apply to them. This prevents needing to rewrite code when adding new settings and behavior to the pyetbd.
  • ExperimentRunner replaced ExperimentHandler

Bug Fixes

  • Fixed bug where settings in the GUI were appearing in the wrong order

Deprecations

  • ExperimentHandler is no longer supported and has been replaced by ExperimentRunner

pyetbd v0.1.4

05 Jan 22:05
Compare
Choose a tag to compare

pyetbd v0.1.4

Release Date: 01-05-24
Author: Ryan Higginbotham (ryhigg)
Author email: ryanhigginbotham@ufl.edu

Project Overview

This is a Python implementation of McDowell's (2004) Evolutionary Theory of Behavior Dynamics (ETBD). This project aims to provide an accessible open-source version of the ETBD for anyone interested in it. This version has successfully replicated the results of McDowell et al. (2008), and replications of other experiments are planned. Using this version to run experiments for publication is not suggested until the code has been validated by replicating more experiments.

Getting started

Installation

This project is available on PyPI. It can be installed with the following command:
pip install pyetbd

Usage Instructions

See the pyetbd Wiki for info on how to use the package. The Wiki also provides more detailed installation instructions.

Key Features

  • Core ETBD algorithm
  • An experiment handler that can run experiments from '.json' input files.
  • A GUI that can write and run experiment '.json' files.

References

McDowell, J. J (2004). A computational model of selection by consequences. Journal of the Experimental Analysis of Behavior, 81(3), 297-317. https://doi.org/10.1901/jeab.2004.81-297

McDowell, J. J, Caron, M. L., Kulubekova, S., & Berg, J. P. (2008). A computational theory of selection by consequences applied to concurrent schedules. Journal of the Experimental Analysis of Behavior, 90(3), 387-403. https://doi.org/10.1901/jeab.2008.90-387