___________________________________________________________________________________________________________________ *Probabilistic Reversal Learning Task* ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 03-07-2018 last updated: 11-14-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 11-14-2024 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements a Probabilistic Reversal Learning Task, a task of adaptive learning and flexibility in the context of changing stimulus-reward contingencies. References: 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. Notes: 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) ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ 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. ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 30 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'probabilisticreversallearningtask_raw*.iqdat' (a separate file for each participant)* build: The specific Inquisit version used (the 'build') that was run computer.platform: the platform the script was run on (win/mac/ios/android) date, time: date and time script was run subject, group: with the current subject/groupnumber session: with the current session id blockCode, blockNum: the name and number of the current block (built-in Inquisit variable) trialCode, trialNum: the name and number of the currently recorded trial (built-in Inquisit variable) Note: trialNum is a built-in Inquisit variable; it counts all trials run; even those that do not store data to the data file such as feedback trials. Thus, trialNum may not reflect the number of main trials run per block. 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) Note: 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 (2) Summary data file: 'probabilisticreversallearningtask_summary*.iqdat' (a separate file for each participant)* inquisit.version: Inquisit version run computer.platform: the platform the script was run on (win/mac/ios/android) startDate: date script was run startTime: time script was started subjectId: assigned subject id number groupId: assigned group id number sessionId: assigned session id number elapsedTime: time it took to run script (in ms); measured from onset to offset of script completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run) 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) * separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section "DATA" and follow further instructions ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ (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. Note: 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) ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ provided by Millisecond Software - can be edited under section Editable Stimuli ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ provided by Millisecond Software - can be edited under section Editable Instructions ___________________________________________________________________________________________________________________ EDITABLE CODE ___________________________________________________________________________________________________________________ check below for (relatively) easily editable parameters, stimuli, instructions etc. Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment. The parameters you can change are: /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 (default: 2000ms) /feedbackDuration: the duration of the feedback (in ms) (default: 500ms) /soa: stimulus onset asynchrony (in ms): a new pattern appears every 3s (default: 3000ms) /readyDuration: the duration (in ms) of the 'get ready' trial at the beginning of each block (default: 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 (default: 540000 => 9 minutes) /highProbability: the higher (reward) probability (default: 0.8) /leftKey: the left response key (default: "E") /rightKey: the scancode of the right response key (default: "I") /picSize: proportional sizing of the patterns relative to canvas height (default: 30%)