Pyetbd

Latest version: v0.2.1

Safety actively analyzes 623626 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

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

0.1.4

Release Date: 01-05-24
Author: Ryan Higginbotham (ryhigg)
Author email: ryanhigginbothamufl.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](https://github.com/ryhigg/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

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.