I think I might have figured out how to do what I was looking to do. It's not perfect, but it seems to work....
In this example, participants are shown 2-digit numbers and asked whether they are 'good' or 'bad' numbers (by pressing the 'G' or 'B' keys respectively). They get feedback telling them whether their responses are correct or incorrect. They learn to distinguish good from bad numbers across trials. Let's say I want to reinforce participants 80% of the time they give a correct response, and punish participants 20% of the time they give an incorrect response (i.e., participants will learn via reinforcement rather than punishment). I make trials 980-989 the feedback I will give for correct responses. 8 or these will say something like "GOOD JOB!". 2 of them will be blank. I make trials 990-999 the feedback I will give for incorrect responses. 8 of them will be blank and 2 will say something like "AWFUL!". For each experimental trial, I set the time field to randomly select one of either the 10 reinforcing feedbacks or 10 punishing feedbacks.
Like this:
rt:34<rand(980,981,982,983,984,985,986,987,988,989 ),48<rand(990,991,992,993,994,995,996,997,998,999)
Say a 'good' number was shown in this trial. Direct RT will randomly select one of the 10 reinforcing feedbacks (8 say GOOD JOB and 2 are blank) if participants press the G key (coded as 34). Direct RT will randomly select one of the 10 punishing feedbacks (8 are blank and 2 say AWFUL) if participants press the B key (coded as 48). Because each experimental trial is unique, it should make a new random selection of feedback each trial.
I can't 100% verify that this works, but based on my own testing, it seems to be doing the job. Any obvious problems with this?




Reply With Quote