Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

[open] Corsi Blocks Task - Stopping Rule

edited April 2014 in OpenSesame

Hi,

I'm in desperate need of some help with a stopping rule. I think for most parts I have my basic program working but I am due to start running it in schools very soon and I am yet to work out a stopping rule. Because I'm working with clinical populations with limited time I really can't afford to have each participant run the study until the end if they are failing to get the correct answers.

My task is a Corsi blocks task, participants watch a block sequence play out on a tablet screen and then are required to tap it out in the same order in which they saw it. Effectively they see a skethpad with 9 blank squares, then another in which a black square image has replaced one of the blank squares at target co-ordinates, then another where it has moved to another co-ordinates and so on, creating the impression of a moving sequence.

Participants see two of each sequence length, they see a 2 block length sequence and respond, then another 2 block length sequence and respond, then a three block length sequence and respond, then another three length block sequence and respond, etc up to 9 block length sequences.

Traditionally the task is performed on wooden blocks, and if a participant fails to tap out correctly both of the 2 trials of the same block sequence length then the task stops, so if they get both 2 block length sequences wrong, or two 6 block sequences wrong. If they get either (just one) of the two right however the test carries on as it is assumed that they can complete that length.

I have absolutely no idea how to tell opensesame to recognise this rule or where to even start. I will try to post a picture of my trial sequences etc to give people a better idea but loosely;

This is for a 2 block length sequence,

participants see a sketchpad which draws or inserts, at x and y co-ordinates which I specify in the loop as variables, a blank square image or png. They then see another sketchpad in which at one of the co-ordinates they instead see drawn or inserted a black square image or png replacing what was originally a blank square. This then in a third sketchpad moves to another coordinate replacing the blank square there previously. Finally they see a sketchpad which draws the origninal 9 blank squares of pngs in the 9 different co-ordinates.

(In these skethpads I also have specificed instructions for trial one and trial two, so the first time round it draws the black square at certain co-ordinates and blanks at others (8, blanks, 9 total with the black square), and the second time round this changes, with the black square drawn at another co-ordinate and blanks in the other 8 places.)

I'm not sure whether the next part can be simplified or not but currently I have next a mouse reponse and two pieces of clever inline code which I was kindly helped with that specifies what will be considered a correct or incorrect tap. I have one for the first trial, and one for the second trial but crucially they are for the first tap of each sequence. I have run if trial = commands to tell opensesame which to refer to. This is then logged.

And then another skethpad of the 9 blank squares and a mouse response and the two pieces of incline script but this time for the second tap of each trial, as above, which is again logged to the same output.

For a trial to be considered correct both the first and second tap in it needs to be correct but I currently have these specified at different points.

I have no idea therefore how to get opensesame to understand a stopping rule. All taps in a trial must be correct for it to be a correct trial. There are two trials of each sequence length and if both of them are incorrect (which could be down to just a single tap mistake in both) then the task needs to terminate. If one of the two trials is fully correct however the task must continue.

I am completely stuck and running out of time,

Please HELP! :( . .

Thank you,
Kat x x

Comments

  • edited 6:53AM

    I also can't seem to upload the image unfortunately

  • edited 6:53AM

    Hi Kat,

    From you rather elaborate post, I gather that your experiment should be broken off when a participant fails on two consecutive tries of the same block-tap amounts?

    Even though you might be assessing the correctness of each trial in different places in the experiment, you could still save the trial outcome in a variable that is accessible in the rest of the experiment. In general, this would look somewhat like the following snippet:

    # some stuff concerning the trial
    
    # if an incorrect tap is made, the
    # entire trial is incorrect
    if correcttap = False:
        exp.set("trialcorrect", 0)
    

    Then it becomes a simple counting exercise, where at the end of each trial you update the incorrect count:

    # update the incorrect trial count
    if exp.get("trialcorrect") == 0:
        exp.set("incorrectcount", exp.get("incorrectcount") + 1)
    
    # reset the trialcorrect variable for the next trial
    exp.set("trialcorrect", 0)
    

    After two consecutive trials with the same length, you assess the incorrect count and use it to set a variable that tells you whether the experiment should be continued:

    # check if both trials were incorrect
    if exp.get("incorrectcount") >= 2:
        exp.set("stopexp", 1)
    
    # reset the incorrectcount
    exp.set("incorrectcount", 0)
    

    In order to use this stopexp variable in your experiment, set the Break if statement of all of the loops that are involved in the block tapping to [stopexp] = 1

    Now, for the previous inline scripting to work, you will have to preset some variables. At the start of your entire experiment, place the following code in the Prepare phase of an inline_script item:

    # preset stopexp variable
    exp.set("stopexp", 0)
    
    # preset the error count
    exp.set("incorrectcount", 0)
    
    # preset the trial correctness
    exp.set("trialcorrect", 1)
    

    Where in your experiment you implement this depends on what your actual experiment looks like. I think that you should be able to figure it out, though, seeing how you've managed to get your task running in the first place.

    Good luck! :)

  • edited 6:53AM

    Hi Edwin,

    thank you so much for getting back to me, I really wish I could upload a picture on here to show you the layout of my study as currently I cannot get the code you outlined above to work. I am still trying however. My basic layout looks very like the android back end template that opensesame comes with . . if that helps? I have changed it around a lot actually compared to as described above and I think I need to set it out all again really as I'm in desperate need of this rule working and running out of time :( . .

    thank you though,
    Kat x

  • edited April 2014

    Hi Kat,

    To upload images, you can use this website's free image hosting service: http://img.cogsci.nl/

    But in general, the outline I gave above should do the trick. It's a simple matter of using the correct variable names in the inline_scripts, and placing these inline_scripts in the correct places.

    Good luck!

  • edited 6:53AM

    I think this is the bit that I am struggling most with :) thank you though, I will keep trying, I'm just not sure exactly where to put them, but I am just going to have t sit down today and really think about it.

    Thank you
    Kat x

  • edited 6:53AM

    I may have got it to work, I don't want to jinx it, I couldn't get the break if rule to work so I kind of did a run if version instead, run if stopexp = 0 on the different trial loops . . Thank you for your help.

    Kat x

Sign In or Register to comment.

agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq, agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq , dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games