Learning Simulator

Learning Simulator: A simulation software for animal and human learning - Published in JOSS (2021)

https://github.com/learningsimulator/learningsimulator

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

associative-learning behavior gui mathematical-modelling python reinforcement-learning simulation

Scientific Fields

Computer Science Computer Science - 39% confidence
Last synced: 4 months ago · JSON representation

Repository

Learning Simulator: A simulation software for animal and human learning

Basic Info
Statistics
  • Stars: 13
  • Watchers: 1
  • Forks: 0
  • Open Issues: 99
  • Releases: 6
Topics
associative-learning behavior gui mathematical-modelling python reinforcement-learning simulation
Created about 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Learning Simulator: A simulation software for animal and human learning

Build Coverage Read the Docs License: MIT DOI <!-- DOI -->

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'):

SBS'.

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

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
Published
February 24, 2021
Volume 6, Issue 58, Page 2891
Authors
Markus Jonsson ORCID
Centre for Cultural Evolution, Stockholm University, Stockholm, Sweden
Stefano Ghirlanda ORCID
Centre for Cultural Evolution, Stockholm University, Stockholm, Sweden, Department of Psychology, Brooklyn College and Graduate Center, CUNY, New York, NY, USA
Johan Lind ORCID
Centre for Cultural Evolution, Stockholm University, Stockholm, Sweden
Vera Vinken
Biosciences Institute, Newcastle University, Newcastle upon Tyne, United Kingdom
Magnus Enquist
Centre for Cultural Evolution, Stockholm University, Stockholm, Sweden, Department of Zoology, Stockholm University, Sweden
Editor
Olivia Guest ORCID
Tags
associative learning reinforcement learning behavior mathematical model simulation gui

GitHub Events

Total
  • Issues event: 1
  • Watch event: 1
Last Year
  • Issues event: 1
  • Watch event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 313
  • Total Committers: 3
  • Avg Commits per committer: 104.333
  • Development Distribution Score (DDS): 0.125
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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
enhancement (34) bug (17) prio (7) reproducible research (6) post (5) test (5) documentation (4) question (3) duplicate (1) meta issue (1) run (1)
Pull Request Labels
enhancement (3) bug (1) documentation (1) test (1)

Dependencies

docs/response_requirements.txt pypi
  • 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 *
requirements.txt pypi
  • matplotlib *
  • numpy *
  • pytest *
.github/workflows/workflow.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • actions/upload-artifact v3 composite
requirements_webapp.txt pypi
  • 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 *