PyIBL is a Python implementation of a subset of Instance Based Learning Theory (IBLT). It is made and distributed by the Dynamic Decision Making Laboratory of Carnegie Mellon University for making computational cognitive models supporting research in how people make decisions in dynamic environments.
Typically PyIBL is used by creating an experimental framework in the Python programming language, which uses one or more PyIBL Agent objects. The framework then asks these agents to make decisions, and primaryrms the agents of the results of those decisions. The framework, for example, may be strictly algorithmic, may interact with human subjects, or may be embedded in a web site.
PyIBL is a library, or module, of Python code, useful for creating Python programs; it is not a stand alone application. Some knowledge of Python programming is essential for using it.
PyIBL is an ongoing project, and has been started with a small subset of IBLT. As it evolves it is expected that more and more of the IBLT will be encorporated into it. For example, PyIBL does not currently support similarity, spreading activation or deferred feedback, but those are planned for the near future. PyIBL is still sufficiently early in its development that future versions are likely to radically change some of the APIs exposed today, and some effort may be required to upgrade projects using the current version of PyIBL to a later version.
These are two examples of using PyIBL, a Python implementation of a subset of Instance Based Learning Theory (IBLT). It is made and distributed by the Dynamic Decision Making Laboratory of Carnegie Mellon University for making computational cognitive models supporting research in how people make decisions in dynamic environments.
The first example runs a single-agent PyIBL model simulating 100 partcipants running 100 trials apiece of the 60 problems of the 2008 Technion Prediciton Tournament. It both prints out a summary of the choices made for each of the 60 problems, and writes a detailed, voluminous log of how the IBL model made the choices it did at each trial.
The second example runs a multi-agent PyIBL model simulating 100 groups of varying numbers of participants running 100 trials each of 60 different variants of the Diners' Dilemma problem. It both prints out a summary of the choices made for each of the 60 problems, and writes a log detailing the choices made by each agent of each trial of each problem.
The Instance-Based Learning Tool (IBLTool) is an effort by Dynamic Decision Making Laboratory to formalize the theoretical approach to modeling. The goals are to have the Instance-Based Learning Theory be:
The tool is a graphical interface written in Visual Basic that uses sockets to communicate with various tasks.
This is an R implementation of the IBL model for repeated choice tasks. This is made available for researchers who can then customize the code for other tasks and choice problems. This model is based on descriptions from Lejarraga, Dutt, & Gonzalez 2012 and in Gonzalez & Dutt, 2011.
This is a Matlab implementation of the IBL model for binary-choice which was developed and customized for running the problems in the Technion Prediction Tournament data set. This is made available for researchers who can then customize the code for other tasks and choice problems. This is the model presented in Lejarraga, Dutt, & Gonzalez 2012 and in Gonzalez & Dutt, 2011.
This is a simple verison of an Instance Based Learning (IBL) model implemented in Microsoft Excel. It is made and distributed by the Dynamic Decision Making Laboratory of Carnegie Mellon University to generate the generality of the learning process in multiple tasks. This model is presented in Lejarraga, Dutt, & Gonzalez, 2012.
The DCCS was inspired by generic dynamic stocks and flows tasks, and based on a simplified and adapted climate model. The DCCS interface epresents a single stock or accumulation of CO2 in the form of an orange-color liquid in a tank. Deforestation and fossil fuel CO2 emissions, are represented by a pipe connected to the tank, that increase the level of CO2 stock; and CO2 absorptions, also represented as a pipe on the right of the tank, which decreases the level of CO2 stock.
The absorptions are outside the direct control of the participant. The absorptions depend on the change in concentration of the CO2 stock and the rate of CO2 transfer parameter derived from the models in the previous section.
WPP is a resource allocation and scheduling task. It simulates a water distribution system with 23 tanks arranged in a tree structure and connected with pipes. The goal is to go through the purification process on time before the deadlines expire. Decision makers must manage a limited number of resources (only 5 of the 46 pumps available can be active at a given time) over time to accomplish this goal.
With minor modifications, WPP has been used extensively to study automaticity development, stuation awareness, learning, and adaptation. In addition, we developed an ACT-R cognitive model that reproduces human learning in this task.
DSF is a generic representation of the basic building blocks of every dynamic system: a single stock that represents accumulation; inflows, which increase the level of stock; and outflows, which decrease the level of stock. A user must maintain the stock at a particular level or, at least, within an acceptable range by contrarresting the effects of the environmental flows.
We have created a learning environment that provides users with an interactive experience of supply-chain management. The supply-chain consists of a single retailer who supplies beer to the consumers (simulated as an external demand function), a single wholesaler who supplies beer to the retailer, a distributor who supplies the wholesaler, and a factory that brews the beer (obtaining it from an inexhaustible external supply) and supplies the distributor.
Beer game is used extensively to study the way decision makers perform when confronted by dynamic complexity (Sterman, 2004). We use the beer game to study learning and adaptation in DDM. In addition, we have developed an ACT-R cognitive model that reproduces initial data collected on human learning (Martin, Gonzalez, & Lebiere, 2004).
MEDIC is an interactive tool involving presentation of symptoms, generation of diagnoses, tests of diagnoses, treatments, and outcome feedback. The simulation begins with a patient complaining of symptoms. Each patient has a different initial health level, which continues to fluctuate downward until the patient has been treated or until the patient dies. Since each patient is randomly assigned one of many fictitious diseases, participants must test for the presence of symptoms, each having a different probability of being associated with one of the diseases. Each test returns with a definitive diagnosis (absent or present) after a predetermined time delay for the test to run. The participant provides an assessment of the probability of the presence of the disease. Then, participants can either conduct more tests or administer a treatment. Feedback comprises the actual disease present, the disease the participant believed was present, and a score that represents their accuracy throughout the task.
Firechief is a resource allocation task in which the participant's goal is to minimize the damage caused by the fire to landscape. There are a limited number of the two appliance types (helicopters and firetrucks) used to extinguish fires.
The screenshot shows the fire having already consumed a certain percentage of the landscape (black areas of the screen) and continuing to spread (red dots on the screen). The score is the percentage of landscape that has not yet been consumed by fire. The simulation takes place in real-time and is highly dynamic, the environment changing autonomously as well as depending on the actions of the participant. Resources are limited as the appliances eventually run out of water and may need to be refilled, thus causing a delay in their usage. The player needs to learn how and where to concentrate resources in order to save as much of the landscape as possible.