Learning Simulator
Learning Simulator: A simulation software for animal and human learning - Published in JOSS (2021)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org, zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Scientific Fields
Repository
Learning Simulator: A simulation software for animal and human learning
Basic Info
- Host: GitHub
- Owner: learningsimulator
- License: mit
- Language: Python
- Default Branch: master
- Homepage: https://www.learningsimulator.org
- Size: 95.9 MB
Statistics
- Stars: 13
- Watchers: 1
- Forks: 0
- Open Issues: 99
- Releases: 6
Topics
Metadata Files
README.md
Learning Simulator: A simulation software for animal and human learning

See also the Learning Simulator Project.
Documentation
The Learning Simulator Documentation is hosted by Read the Docs.
Summary
Learning Simulator is a software for simulating learning in animals and humans, as studied for example in experimental psychology and animal cognition research. It is primarily intended for computational and behavioral biologists, ethologists, and psychologists, and it can also be useful to students and teachers in these fields.
Introduction
Learning Simulator was developed to study learning in animals and humans. The current version implements associative learning (AL) and reinforcement learning (RL) algorithms, apt to study instrumental (operant) learning and Pavlovian (classical) learning, including in complex situations such as social learning or maze learning. A plugin system to add more learning mechanisms is planned for a future version.
The simulator uses a commonly used framing of learning that comprises a subject interacting with an environment. The environment presents a stimulus to the subject, and the subject responds with a behavior. As a result, the environment presents the next stimulus that the subject responds to, and so on. See Figure 1.

Figure 1: The subject and the world can be seen as two interacting dynamical systems, where the state variables in the subject determine the probabilities for its behaviors (the subject’s output), and each behavior from the subject puts the environment in a state that determines (probabilistically) its output stimulus. It is this system that is simulated in Learning Simulator.
The stimuli that the environment presents and the behaviors that the subject can exhibit are pre-defined by the user of the program. Each stimulus is given a reinforcement value (corresponding to genetically determined values in biological organisms). A stimulus such as food would typically have a positive value, while the perception of harm to the body would have a negative value.
As seen in Figure 1, the consequence of responding with a behavior (say B) to a stimulus (say S) is that the subject meets the next stimulus (say S'):
S → B → S'.
Learning algorithms can then use the reinforcement value of S' as an indication of the quality of the response B to S. Specifically, this can be accomplished by updating one or more of the subject’s memory state variables. These state variables control the probabilities of future responses: if the response B to stimulus S leads to a reward (a stimulus with high reinforcement value), the subject will be more likely to respond with B the next time it faces S.
The user of Learning Simulator specifies in a text script how the output stimulus from the environment depends on the subject's response to the previous stimulus. This script also specifies the values of all parameters used in the learning process. The simulation script, written in a simple and well-documented scripting language, is the only input to Learning Simulator, facilitating reproducible workflows. The script also specifies how to visualize the simulation data, for example how a memory state variable changes during the simulation. Learning Simulator can also export results to CSV files.
Owner
- Name: Learning Simulator - A simulation software for animal and human learning
- Login: learningsimulator
- Kind: user
- Website: learningsimulator.org
- Repositories: 1
- Profile: https://github.com/learningsimulator
Learning Simulator is a software for simulating learning in animals and humans, as studied e.g. in experimental psychology and animal cognition.
JOSS Publication
Learning Simulator: A simulation software for animal and human learning
Authors
Centre for Cultural Evolution, Stockholm University, Stockholm, Sweden, Department of Psychology, Brooklyn College and Graduate Center, CUNY, New York, NY, USA
Biosciences Institute, Newcastle University, Newcastle upon Tyne, United Kingdom
Centre for Cultural Evolution, Stockholm University, Stockholm, Sweden, Department of Zoology, Stockholm University, Sweden
Tags
associative learning reinforcement learning behavior mathematical model simulation guiGitHub Events
Total
- Issues event: 1
- Watch event: 1
Last Year
- Issues event: 1
- Watch event: 1
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Markus Jonsson | m****n@g****m | 274 |
| Learning Simulator - A simulation software for animal and human learning | l****r@g****m | 20 |
| drghirlanda | d****a@g****m | 19 |
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 76
- Total pull requests: 24
- Average time to close issues: 7 months
- Average time to close pull requests: about 1 month
- Total issue authors: 3
- Total pull request authors: 2
- Average comments per issue: 1.17
- Average comments per pull request: 1.13
- Merged pull requests: 14
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- markusrobertjonsson (58)
- drghirlanda (13)
- learningsimulator (4)
Pull Request Authors
- markusrobertjonsson (19)
- drghirlanda (6)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- Dependencies *
- Description *
- Example *
- Forexample ,inanexperimentwiththestimuluselements
- Ifalistofstimuluselementscontainsasingleelement ,thebracketsmaybeomitted
- Specifiesthebehaviorsthatarefeasibleresponsesforeachstimulus. *
- Syntax *
- Thecomma-separatedlistof *
- Thefeasibleresponsestoacompoundstimulus *
- b2 *
- behavior *
- behaviors =ignore_lever,press_lever,eat
- bn *
- eat *
- ignore_lever *
- isthesameas *
- ofthefeasibleresponsesforeachelement.Forexample ,
- response_requirements =b1
- response_requirements *
- response_requirements =press_lever
- specifiesthat *
- stimulus_elements =blue_lever,red_lever,food
- tothecompund *
- matplotlib *
- numpy *
- pytest *
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/upload-artifact v3 composite
- Flask *
- Flask-Admin *
- Flask-Cors *
- Flask-Login *
- Flask-SQLAlchemy *
- Flask-WTF *
- Jinja2 *
- MarkupSafe *
- SQLAlchemy *
- WTForms *
- Werkzeug *
- click *
- email_validator *
- flask_migrate *
- greenlet *
- itsdangerous *
- mpld3 *
- pymysql *
- python-dotenv *
- redis *
- rq *
- six *
- wtf *