Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 07, 2018
Last Modified: January 11, 2024 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements a Probabilistic Reversal Learning Task, a task of adaptive learning and flexibility in the context of changing stimulus-reward contingencies.
Waegeman, A., Declerck, C.H, Boone, C., Seurinck, R. & Parizel, P.M. (2014). Individual Differences in Behavioral Flexibility in a Probabilistic Reversal Learning Task: An fMRI Study. Journal of Neuroscience, Psychology, and Economics, Vol. 7, No. 4, 203–218
Cools R, Clark L, Owen AM, Robbins TW. (2002). Defining the neural mechanisms of probabilistic reversal learning using event-related functional magnetic resonance imaging. J Neurosci. 2002;22:4563–4567.
Like Waegeman et al (2014), this Inquisit script a) uses a timelimit for each of the test blocks. The number of reversals reached during that time reflects how fast a participant learned to adjust behavior
B) attaches explicit rewards (aka points) to 'positive' feedback and punishment for 'negative' feedback (however, the points can be made invisible, see section Editable Parameters) and asks participant to maximize their reward without explicitly alerting participants to the fact that payoff probabilities might change (however, instructions can be easily altered under section Editable Instructions).
C) uses a 80%/20% probability for rewards and punishment (editable under section Editable Parameters)
30 minutes
Participants are asked to select btw. 2 patterns. One patterns has an 80% probability of a reward and a 20% probability of a loss whereas the probabilities are reversed for the second pattern. Participants are asked to maximize their rewards. After participants have learned to consistently select the pattern with the higher reward probability, the probabilities of the patterns are reversed. A block ends after 9 minutes.
(1) Practice:
- the practice phase presents two patterns with the same reward/punishment probabilities as during the test.
- the initial 'lucky' pattern is randomly determined
- The screen position of the two patterns (left vs. right) is randomly determined (random selection with replacement).
- Practice ends after the first reversal is reached.
if the first reversal is not reached within 5 minutes (default), practice is cut short and the script is aborted
(3) Test: 3 blocks
- each of the blocks gets 2 randomly assigned patterns (6 patterns provided)
- one pattern has an 80% probability of reward (20% probability of punishment),
the reward/punishment probabilities are reversed for the second pattern
(the initial 'lucky' pattern is determined randomly)
- The screen position of the two patterns (left vs. right) is randomly determined (random selection with replacement)
- after 10-15 consecutive choices of the 'lucky' pattern (randomly determined), the reward/punishment probabilities are reversed
- each test block is terminated after 9 minutes => the number of reversals will differ
Trial Sequence:
pattern presentation (max. 2000ms or response) -> Feedback (500ms) -> ITI: variable (min: 500ms)
(entire trial takes: 3000ms => every 3s a new pattern is presented)
provided by Millisecond - can be edited under section Editable Stimuli
provided by Millisecond - can be edited under section Editable Instructions
File Name: probabilisticreversallearningtask_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
| passedPractice | 1 = practice learning criterium (participant reached first reversal) was reached 0 = practice learning criterium was not reached within 10 minutes and task was aborted |
| abort | 1 = task was terminated because participant failed to reach a block's learning criterium within the specified timeframe. practice learning criterium: participant reached first reversal within 10 minutes test block learning criterium: participant reached 10th reversal within 30 minutes |
| totalPoints | The accumulated points across all test blocks |
| countTrials | Counts the number of choice trials run (across all test blocks) |
| countC | Counts the number of times participant chose the 'correct' option across all test blocks => (C, PE, C-RE, C-RE (PE)) - excludes 'lucky guesses' |
| countLG | Counts the number of times participant had a 'lucky guess' |
| countE | Counts the number of times participant chose the 'incorrect' option (excludes reversal errors) across all test blocks |
| countRE | Counts the number of reversal errors made (see explanation for RE above under respCategory) across all test blocks |
| countNR | Counts the number of 'no responses' across all test blocks |
| probC | Proportion of correct responses across all test trials |
| probLG | Proportion of 'lucky guesses' across all test trials |
| probe | Proportion of errors across all test trials |
| probRE | Proportion of reversal errors across all test trials |
| probNR | Proportion of 'no responses' across all test trials |
| minICFeedback | The minimum number of negative feedbacks for 'lucky' patterns in between reversals (across all test blocks) |
| maxICFeedback | The maximum number of negative feedback for 'lucky' patterns in between reversals (across all test blocks) |
| meanICFeedback | The mean number of negative feedback for 'lucky' patterns in between reversals (across all test blocks) |
| countBlocks | Counts the number of test blocks started |
| countReversalsTest1 | Reversal count in testblock 1 (if completed reversal count should be 9 - default) |
| countReversalsTest2 | Reversal count in testblock 2 (if completed reversal count should be 9 - default) |
| countReversalsTest3 | Reversal count in testblock 3 (if completed reversal count should be 9 - default) |
File Name: probabilisticreversallearningtask_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| countBlocks | Counts the number of test blocks |
| countTrials | Counts the number of test trials run (across blocks) |
| correctChoiceIndex | The itemnumber of the currently 'lucky' pattern |
| incorrectChoiceIndex | The itemnumber of the currently 'unlucky' pattern |
| correctChoicePosition | 1 = lucky pattern is on the left; 2 = lucky pattern is on the right |
| maxCorrectChoices | The number of consecutive correct choices until the next reversal (randomly selected from 10, 11, 12, 13, 14, 15) |
| reversal | 1 = the trial just reversed the probabilities (a reversal just took place) 0 = otherwise |
| relearned | 1 = participant has likely learned the reversed probability assignment => the first selection of the new lucky pattern after a reversal (lucky guesses excluded) 0 = participant has likey not learned the reversed probability assignment |
| presentedCorrectStim | The presented image file of the 'lucky pattern' |
| presentedIncorrectStim | The presented image file of the 'unlucky pattern' |
| response | The participant's response (scancode of response key) 18 = E 23 = I 57 = spacebar |
| respCategory | C = correct (selected correct/winning pattern and received 'happy' feedback) PE = correct (selected correct/winning pattern BUT received 'unhappy' feedback) C-RE* = first correct after reversal error or 'lucky guess' (selected correct outcome and received 'happy' feedback) C-RE (PE)* = first correct after reversal errors (selected correct/winning pattern BUT received 'unhappy' feedback) lucky guess* = correct (selected correct outcome during a reversal trial and received 'happy' feedback) lucky guess (PE)* = correct (selected correct outcome during a reversal trial but received 'unhappy' feedback) RE = reversal error => participant selected incorrect outcome (formerly correct) after a reversal until a correct response is made (=evidence of relearning) a 'lucky guess' is not counted as evidence of relearning E = incorrect (selected incorrect outcome and received 'unhappy' feedback) E (PE)* = incorrect (selected incorrect outcome BUT received 'happy' feedback) NR = no response (participant was not fast enough to select a choice) * = should be rare (but are not impossible) |
| correct | Accuracy of response: 1 = correct response (chose the 'lucky' pattern) 0 = otherwise |
| latency | The response latency (in ms); measured from: onset of patterns |
| countConsecutiveCorrect | Running total of the consecutive choices of the 'lucky' pattern (resets for reversals and when the unlucky pattern is selected) |
| feedback | 1 = negative feedback (points taken away) 2 = positive feedback (points added) |
| countICFeedback | Counts the number of times negative feedback was given for the lucky pattern in between reversals |
| countReversals | Running count of the reversals per block |
| totalPoints | The accumulated points across all test blocks |
| iti | Duration (in ms) of the current iti |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| showTotalPoints | True (default): shows the total points accumulated false: does not show the total points accumulated | |
| maxStimDuration | The maximum duration (in ms) of the patterns | 2000ms |
| feedbackDuration | The duration of the feedback (in ms) | 500ms |
| soa | Stimulus onset asynchrony (in ms): a new pattern appears every 3s | 3000ms |
| readyDuration | The duration (in ms) of the 'get ready' trial at the beginning of each block | 5000ms |
| practiceTimeout | The practice session ends after 5minutes if participant has not reached the learning criterium (=reach first reversal) (default: 300000ms). In this case, the task is aborted. | |
| blockDuration | The duration (in ms) assigned to each test block | 540000 => 9 minutes |
| highProbability | The higher (reward) probability | 0.8 |
| leftKey | The left response key | "E" |
| rightKey | The scancode of the right response key | "I" |
| picSize | Proportional sizing of the patterns relative to canvas height | 30% |