___________________________________________________________________________________________________________________ Cognitive Effort Discounting Task (with n-back task) - includes gain/loss condition- ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software LLC last updated: 03-22-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 03-22-2024 Millisecond Software Millisecond Software thanks Jenny Crawford and the Braver lab at Washington University in St. Louis for help fine-tuning this Cognitive Effort Discounting Task procedure! ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements a Cognitive Effort Discounting Procedure to establish indifference points (minimum price points) at which people start to discount ("devalue") monetary rewards paid for higher effort tasks in favor of less paid lower effort tasks as well as indifference points at which people start to devalue lower monetary Losses paid for higher effort tasks in favor of lower effort tasks resulting in higher monetary losses. The general procedure is based on Westbrook et al (2013) but expands on the original study by including a gain and loss cognitive effort discounting condition as developed by the Braver lab at Washington University in St. Louis. Reference: Westbrook A, Kester D, Braver TS (2013). What Is the Subjective Cost of Cognitive Effort? Load, Trait, and Aging Effects Revealed by Economic Preference. Pessiglione M, ed. PLoS One 981 8:e68210. ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants are repeatedly asked to choose between a more difficult cognitive task with a higher earning potential or an easier cognitive task with less earning potential. Through a series of questions the participants' cognitive effort indifference point for the pair of tasks is determined (aka the price point at which participants start to devalue the potential higher pay for a challenging cognitive task in favor of less pay for a less challenging one). (Note: the same is done for a 'Loss' condition. People are asked to choose between a more difficult cognitive tasks with a promised lower loss and an easier task with a promised higher loss) In this script, the cognitive task chosen is the n-back working memory task. 4 levels of n-back tasks are used in this task (editable) with the 1-back being the designated 'easy' task. The procedure is divided into 5 phases: 1. Participants get familiar with the n-back procedure and work through several rounds of n-back tasks for the different levels of N. The n-back levels are referred to by assigned colors. 2. Gain Condition: Participants work through the indifference point estimation procedure (without actually performing the n-back tasks) for the 3 higher levels of N (1 vs.2; 1 vs. 3; 1 vs. 4) => 3 indifference points are estimated for each level of N tested 3. One of the participant's choices is randomly selected, the participant works through 5 (default) more rounds of n-backs with the selected N and promised reward. 4. Loss Condition: Participants work through the indifference point estimation procedure (without actually performing the n-back tasks) for the 3 higher levels of N (1 vs.2; 1 vs. 3; 1 vs. 4) => 3 indifference points are estimated for each level of N tested 5. One of the participant's choices is randomly selected, the participant works through 5 (default) more rounds of n-backs with the selected N and promised "loss". *N-back Task (with letter stimuli)* *2-key n-back procedure* The 2-key n-back task requires participants to press one key for targets (go) and another key for non-targets. Which stimuli are targets depends on the level of N: for N=1 trials (1-back): - is the letter the same as the one that preceded it? If so (it's a target), and press "S". If not, press "K". for N=2 trials (2-back): - is the letter the same as the one presented two trials before? If so (it's a target), and press "S". If not, press "K". for N=3 trials (3-back): - is the letter the same as the one presented three trials before? If so (it's a target), and press "S". If not, press "K". etc. ___________________________________________________________________________________________________________________ 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: 'cognitiveeffortdiscountingtask_complete_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 taskOrder: 1 = gain condition runs before loss condition; 2 = loss condition runs before gain condition 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. discountingCondition: "gain" vs. "loss" phase1BlockCount: the total number of n-back practice blocks run (phase 1) phase3BlockCount: the total number of phase 3 n-back blocks run phase: 1 = n-back practice 2 = indifference point assessment 3 = final n-back runs to earn money n: the level of N currently tested stimulusItem.1: phase1/phase3: n-back trials: the letter presented stimulusNumber.1: n-back trials: the item number of the presented letter currentTarget: n-back trials: the item number of the current target response: the response of the participant (scancode of response button) nback trials: 31 = S (for n-back trials: correct target response) 37 = K (for n-back trials: correct notarget response) choice trials: 16 = Q (left box selected during Choice Trials) 25 = P (right box selected during Choice Trials) remaining trials: 57 = spacebar 0 = no response correct: the correctness of the response (1 = correct; 0 = otherwise) Note: has no meaning for phase 2 trials latency: how fast a participant responded within the given timeframe (in ms) Phase1/Phase3: n-back trials => latencies of 1500ms (stimulus presentation time) are no responses the following variables have only meaning for phase2: n1X: 25pct = the N1 reward was located in the left box 75pct = the N1 reward was located in the right box level1Reward: Phase 2: the currently offered reward for choosing the 1-back task levelNReward: Phase 2: the currently offered reward for choosing the higher level N-back task the following variables have only meaning for phase3: roundWinAmount: Phase 3: the amount won after the current phase 3 round totalWinAmount: Phase 3: the total amount won during phase 3 //current NASATLX summary variables: on scale: 1 (very low) - 21 (very high) mentalDemand: physicalDemand: temporalDemand: performance: effort: frustration: (2) Summary data file: 'cognitiveeffortdiscountingtask_summary*.iqdat' (a separate file for each participant) inquisit.version: the inquisit build/version 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) taskOrder: 1 = gain condition runs before loss condition; 2 = loss condition runs before gain condition //Phase 2 Variables: //Gain Indifference Points ip12-ip16: indifference points for the gain trials (here: level1Reward after the 6th choice for the currently tested level of N) //Loss Indifference Points ip12Loss-ip16Loss: indifference points for the loss trials //Phase 3 Variables: totalWinAmount: the total win amount from phase 3 (across both gain and loss phase3 trials) finalNReward: final N in Reward phase 3 trials finalRewardReward: final promised Reward in Reward phase 3 trials finalNLoss: final N in Loss phase 3 trials finalRewardLoss: final promised Reward in Loss phase 3 trials //Phase 1 Variables: hitRateN1- hitRateN6: store the hitrates (targets) for N levels 1-6 during phase 1 (across all rounds for each N-level) hit = pressing 's' for a target trial crRateN1- crRateN6: store the correct rejection (non-targets) rate for N levels 1-6 during phase 1 (across all rounds for each N-level) CR = pressing 'k' for a non-target trial //NASATLX summary variables (per level of Nback run during phase 1): on scale: 1 (very low) - 21 (very high) mentalDemand1: physicalDemand1: temporalDemand1: performance1: effort1: frustration1: ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ 5 phases: (1) Phase 1: n-back Practice - by default, this script runs through 1 run of N-levels 1-4 (see section Editable Parameters to select N-levels and/or change number of rounds) => 4 blocks of n-backs - each n-back block runs for 20 trials (see section Editable Parameters to change the number of trials; the start trials that cannot be target yet are not counted towards the trialCount) Note: Westbrook et al (2013) ran 64 trials per block. - each block runs 25% targets (here: 5 target trials) (see section Editable Parameters to change the proportion) !!!This script does not run target-lure trials (see Westbrook et al, 2013, p.2) - the order of targets and nontargets is randomly determined - this script uses a 2 key n-back procedure: one key (S) is used for target identification; another (K) for nontarget identification - each level of N is assigend a particular letter color Note: the level of N is only referenced by assigned color N1 = black N2 = red N3 = blue N4 = purple N5 = green N6 = brown - at the end of each block, participants receive feedback Trial Sequence: Letter (1500ms = response timeout) -> Fixation Cross (2000ms) -> Letter..... Responses are only registered during letter presentations. Responses do not interrupt letter presentations. Note: after each level participants are asked to self-report on the 6 rating scales of the NASA TASK LOAD INDEX- Survey: /mentalDemand /physicalDemand /temporalDemand /performance /effort /frustration (2) Phase 2 (GAIN): Indifference Point Estimations - 3 Indifference Points for level of N tested (e.g. 3 different standard amounts are offered for each level of N) - by default this script runs 54 trials = 3 levels of N (2, 3, 4) x 3 IPs per N level x 6 trials - the trials are presented in random order in a mixed design - level of n-backs are referred to only by color - the position (right/left) of the standard amount is randomly determined: half the trials the standard amount appears on the right - participants have 9s to make a choice (after 9s the black task is automatically assigned as the default choice) Indifference Point Algorithm: - the harder level N always offers a higher (fixed) reward (see section Editable Parameters), - the possible reward for the easier 1-back starts at 1 but gets adjusted according to the choices made: - if the harder choice was previously selected; the reward goes up (by half the previous adjustment) - if the easier choice was previously selected; the reward goes down (by half the previous adjustment) - Indifference Points: the adjusted reward for level 1 after the last choice (aka: the reward offered for level 1 on the 7th round) (3) Phase 3 (GAIN): Actual Money Earning Phase (can be skipped; see parameters.phase3Runs for more info) - one of the 3 (level of N: 2-4) * 6 (trials per level of N) * 3 indifference points per n-level = 54 choice trials from Phase 2 is randomly selected by the computer - the chosen N during that trial as well as the promised reward is used for another 5 (editable) rounds of n-backs This script does not provide any behavioral measure of actual 'effort' during phase 3 (4) Phase 2 (LOSS): Indifference Point Estimations - 3 Indifference Points for level of N tested (e.g. 3 different standard amounts are offered for each level of N) - by default this script runs 54 trials = 3 levels of N (2, 3, 4) x 3 IPs per N level x 6 trials - the trials are presented in random order in a mixed design - level of n-backs are referred to only by color - the position (right/left) of the standard amount is randomly determined: half the trials the standard amount appears on the right - participants have 9s to make a choice (after 9s the black task is automatically assigned as the default choice) Indifference Point Algorithm: - the easy Black level (1back) always offers a higher (fixed) Loss (see section Editable Parameters), - the variable Loss for the more difficult Nback starts at half the loss of the 1back but gets adjusted according to the choices made: - if the harder choice was previously selected; the Loss goes up for the harder amount (by half the previous adjustment) (=> the lower loss amount for the more difficult task was already enough to get participant to show more effort, so the next step is to see whether a higher loss amount for the more difficult task is still enough for participants to choose the higher effort task or whether the higher loss amount now makes that choice less 'tempting') - if the easier choice was previously selected; the Loss goes down for the harder amount (by half the previous adjustment) (=> the lower loss amount for the more difficult task wasn't quite enough yet to get participant to show more effort, so we try to 'tempt' participants with a lower loss amount in the next round) - Indifference Points: the adjusted Loss for level X after the last choice (aka: the Loss offered for level N on the 7th round) (5) Phase 3 (LOSS): Actual Money Earning Phase (can be skipped; see parameters.phase3Runs for more info) - one of the 3 (level of N: 2-4) * 6 (trials per level of N) * 3 indifference points per n-level = 54 choice trials from Phase 2 is randomly selected by the computer - the chosen N during that trial as well as the promised Loss is used for another 5 (editable) rounds of n-backs This script does not provide any behavioral measure of actual 'effort' during phase 3 Note: the order of GAIN and LOSS tasks is counterbalanced by groupnumber odd group numbers: run Gain -> Loss even group numbers: run Loss -> Gain ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ * the n-back task runs with consonants (see section Editable Stimuli) * the size of the letters can be adjusted under section Editable Parameters ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ provided by Millisecond Software as *.htm files. To change instructions, edit the htm files directly (e.g. in TextEdit for Macs or Notepad for Windows). Instructions have been generously shared by Jenny Crawford and her lab ___________________________________________________________________________________________________________________ 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: