I’m trying to figure out the best way to do this in superlab.
Here’s what the experiment would consist of:
I have the basics down. 3 Blocks, 100 trials each. Using ISI’s and triggers to record ERP’s. Participant is asked to try and tell the difference between 2 images by pressing 1 of 2 buttons. Of the 100 trials, 50 present image A, 50 are image b. The order of the 100 trials is going to be in a pre-set random order.
Now, what I’m having trouble with is providing reward feedback (Correct! You win $10!) for only a certain number of correct responses.
For each Block:
-Of the 100 trials, only 40 correct responses will be rewarded overall (max possible).
-Schedule of rewarded trials should be randomized, as the presentation of the stimuli is randomized as well. Two different reward conditions:
Group 1: Correct identification of Image A = 30 max reward feedbacks. Correct identification of image B = 10 max reward feedbacks.
Group 2: These are reversed (correct Image B = max 30 reward screens, etc.)
Any idea how I would begin to do this controlled reinforcement?
I’ve attached what I’ve got so far in superlab. This is just block 1, but you get the idea.
I’ve tried using codes to mark each correct response as correct and then tried to use a macro to only present the reward screen for 40 correct responses. So far, no luck in getting this to work…
Is this even possible in superlab?
Full Task 100 trials.zip (49.9 KB)
The layout below is for Group 1.
a) 1st code: set which 40 out of the 50 trials will get reward. e.g. Gets Reward. Values: yes/no
b) 2nd code: “trial answered correctly” values: yes/no
c) At the event level: set the trial’s code “trial answered correctly” to “yes”
d) Macro: if … last trial’s code gets reward equal to “yes” AND answered correctly equal to “yes,” Then, If True present event “The Reward”
I’ve tried your suggestion and it simply presents the reward every time.
The other issue is that if I should not be flagging 40 of the 100 trials as ‘reward’, because there is no way of telling if the participant will get those 40 trials correct. All trials should have the possibility of showing a reward, with the max reward being 30 trials for one stimuli and 10 trials for the second stimuli.
I’ve also tried flagging every trial as ‘gets reward’ and then doing the macro, with the same results. I’m attaching a smaller, 10 trial version of this paradigm. Maybe this will make things a bit easier to look at.
Small Task.zip (52.9 KB)
Disregard marking the 40 trials ahead of time. Make changes to the Macro so that it’s set to see if the last trial is marked correctly. Then, set it so all the trials that have this code is less than 40.
Ok- what I currently have in the Macro for the correctly answered short face is:
-Number of trials set in this block is less than or equal to 3 (using a maximum of 3 trials in the block and Trials marked with code “Trial Answered Correctly-Short” equal to “Yes”)
-If True: Present event “Trigger Reward”, Present Event “Reward”
-If False: Present event “Trigger No Reward”, Present Event “No Reward”
-Run this macro after trial is presented
Again, please listen to what I am trying to say. This simply presents the reward after participant input for every single trial, regardless of whether I even press the correct button or not. It seems like the responses are not being correctly coded for each trial? I have feedback set up though to code each trial for correct/incorrect short face, correct/incorrect long face, however.
The advice you are giving me is vague and is also something I already have tried numerous times with many different variations. Could someone please contact me over the phone?