Sequence of trials


Sequence of trials

Author
Message
nm
nm
Associate Member
Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)

Group: Awaiting Activation
Posts: 3, Visits: 22
Hi,

I'm editing a transitive inference task and right now it's programmed to randomly select from 8 trials:

<list trialselection_phase1>
/items = (1, 2, 3, 4, 5, 6, 7, 8)
/poolsize = parameters.trialnumber_learning
</list>

/ontrialbegin = [
values.counttrials_phase1 += 1;
values.nexttrial = list.trialselection_phase1.nextvalue;
]

/branch = [
if (values.nexttrial == 1) trial.ab
else if (values.nexttrial == 2) trial.ba
else if (values.nexttrial == 3) trial.bc
else if (values.nexttrial == 4) trial.cb
else if (values.nexttrial == 5) trial.cd
else if (values.nexttrial == 6) trial.dc
else if (values.nexttrial == 7) trial.de
else if (values.nexttrial == 8) trial.ed

]

I need to edit it so that trials bc and cb never follow trials ab or ba, for trials cd and dc to never follow trials bc and bc, and for trials de and ed to never follow trials cd and dc. Does anyone have any suggestions for how to do this?

Thank you!
Dave
Dave
Supreme Being
Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)

Group: Administrators
Posts: 8.5K, Visits: 35K
nm - Wednesday, January 11, 2017
Hi,

I'm editing a transitive inference task and right now it's programmed to randomly select from 8 trials:

<list trialselection_phase1>
/items = (1, 2, 3, 4, 5, 6, 7, 8)
/poolsize = parameters.trialnumber_learning
</list>

/ontrialbegin = [
values.counttrials_phase1 += 1;
values.nexttrial = list.trialselection_phase1.nextvalue;
]

/branch = [
if (values.nexttrial == 1) trial.ab
else if (values.nexttrial == 2) trial.ba
else if (values.nexttrial == 3) trial.bc
else if (values.nexttrial == 4) trial.cb
else if (values.nexttrial == 5) trial.cd
else if (values.nexttrial == 6) trial.dc
else if (values.nexttrial == 7) trial.de
else if (values.nexttrial == 8) trial.ed

]

I need to edit it so that trials bc and cb never follow trials ab or ba, for trials cd and dc to never follow trials bc and bc, and for trials de and ed to never follow trials cd and dc. Does anyone have any suggestions for .how to do this?

Thank you!

Given that you use <parameters> in your <list>'s /poolsize, you are designing this in Inquisit 5 apparently. Since you posted this to the Inquisit 4 forum, however, I have to ask whether you plan on administering the script via Inquisit 5 or Inqusit 4. This is importatnt because (a) Inquisit 4 syntax does not have a <parameters> element, and (b) what viable solution(s) may exist for your actual trial-selection problem will depend on whether you are using Inquisit 4 or Inquisit 5 as well.

Would you please clarify? Thanks.

nm
nm
Associate Member
Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)

Group: Awaiting Activation
Posts: 3, Visits: 22
Hi Dave,

Thanks for your reply - I meant to ask about Inquisit 5.

Thanks.
Dave
Dave
Supreme Being
Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)

Group: Administrators
Posts: 8.5K, Visits: 35K
nm - Wednesday, January 11, 2017
Hi Dave,

Thanks for your reply - I meant to ask about Inquisit 5.

Thanks.

Thanks for the clarification. Then I would recommend specifying two /not constraints in your <list>

<list trialselection_phase1>
/ items = (1, 2, 3, 4, 5, 6, 7, 8)
/ poolsize = 24
/ not = [values.blocked_1]
/ not = [values.blocked_2]

</list>

and setting values.blocked_1 and values.blocked_2 to the numerical trial identifiers that are impermissible to follow a given <trial>-type. I.e.

<trial ab>
...
/ ontrialend = [values.blocked_1 = 3; values.blocked_2 = 4]
...
</trial>

meaning the values representing trial.bc (3) and trial.cb (4) would be blocked from being selected for the next trial and so forth. Does this make sense or need I elaborate more?

Dave
Dave
Supreme Being
Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)

Group: Administrators
Posts: 8.5K, Visits: 35K
Dave - Wednesday, January 11, 2017
nm - Wednesday, January 11, 2017
Hi Dave,

Thanks for your reply - I meant to ask about Inquisit 5.

Thanks.

Thanks for the clarification. Then I would recommend specifying two /not constraints in your <list>

<list trialselection_phase1>
/ items = (1, 2, 3, 4, 5, 6, 7, 8)
/ poolsize = 24
/ not = [values.blocked_1]
/ not = [values.blocked_2]

</list>

and setting values.blocked_1 and values.blocked_2 to the numerical trial identifiers that are impermissible to follow a given <trial>-type. I.e.

<trial ab>
...
/ ontrialend = [values.blocked_1 = 3; values.blocked_2 = 4]
...
</trial>

meaning the values representing trial.bc (3) and trial.cb (4) would be blocked from being selected for the next trial and so forth. Does this make sense or need I elaborate more?

This example might be worth looking at: https://www.millisecond.com/forums/FindPost20200.aspx

While it concerns stimulus selection (opposed to trial selection as in your case) and the constraint is slightly different, the general approach -- storing categories "blocked" from selection in <values>, using /not constraints -- is the same.

nm
nm
Associate Member
Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)Associate Member (74 reputation)

Group: Awaiting Activation
Posts: 3, Visits: 22
Hi Dave,

Thanks for your help. Currently the experiment is set up to select numbers randomly from the trialselection_phase1 list, and then specifies the type of trial based on those numbers.

<trial learningtrialselection>
/ontrialbegin = [
values.counttrials_phase1 += 1;
values.nexttrial = list.trialselection_phase1.nextvalue;
]
/branch = [
if (values.nexttrial == 1) trial.ab
else if (values.nexttrial == 2) trial.ba
else if (values.nexttrial == 3) trial.bc
else if (values.nexttrial == 4) trial.cb
else if (values.nexttrial == 5) trial.cd
else if (values.nexttrial == 6) trial.dc
else if (values.nexttrial == 7) trial.de
else if (values.nexttrial == 8) trial.ed
]

Do you know how I could specify the conditions for trial ab specifically like you mentioned above?

Dave
Dave
Supreme Being
Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)Supreme Being (285K reputation)

Group: Administrators
Posts: 8.5K, Visits: 35K
nm - Thursday, January 12, 2017
Hi Dave,

Thanks for your help. Currently the experiment is set up to select numbers randomly from the trialselection_phase1 list, and then specifies the type of trial based on those numbers.

<trial learningtrialselection>
/ontrialbegin = [
values.counttrials_phase1 += 1;
values.nexttrial = list.trialselection_phase1.nextvalue;
]
/branch = [
if (values.nexttrial == 1) trial.ab
else if (values.nexttrial == 2) trial.ba
else if (values.nexttrial == 3) trial.bc
else if (values.nexttrial == 4) trial.cb
else if (values.nexttrial == 5) trial.cd
else if (values.nexttrial == 6) trial.dc
else if (values.nexttrial == 7) trial.de
else if (values.nexttrial == 8) trial.ed
]

Do you know how I could specify the conditions for trial ab specifically like you mentioned above?

<trial ab>
...
/ ontrialend = [values.blocked_1 = 3; values.blocked_2 = 4]
...
</trial>

as in

<block myblock>
/ trials = [1-24=learningtrialselection]
</block>

<trial learningtrialselection>
/ontrialbegin = [
values.counttrials_phase1 += 1;
values.nexttrial = list.trialselection_phase1.nextvalue;
]
/branch = [
if (values.nexttrial == 1) trial.ab
else if (values.nexttrial == 2) trial.ba
else if (values.nexttrial == 3) trial.bc
else if (values.nexttrial == 4) trial.cb
else if (values.nexttrial == 5) trial.cd
else if (values.nexttrial == 6) trial.dc
else if (values.nexttrial == 7) trial.de
else if (values.nexttrial == 8) trial.ed
]
/ trialduration = 0
/ recorddata = false
</trial>

<list trialselection_phase1>
/ items = (1, 2, 3, 4, 5, 6, 7, 8)
/ poolsize = 24
/ not = (values.blocked_1)
/ not = (values.blocked_2)
</list>

<values>
/ nexttrial = 0
/ counttrials_phase1 = 0
/ blocked_1 = 0
/ blocked_2 = 0
</values>

- trials bc and cb never follow trials ab or ba,
<trial ab>
/ ontrialend = [values.blocked_1 = 3; values.blocked_2 = 4]
/ stimulusframes = [1=mytext]
/ validresponse = (0)
/ trialduration = 100
</trial>

<trial ba>
/ ontrialend = [values.blocked_1 = 3; values.blocked_2 = 4]
/ stimulusframes = [1=mytext]
/ validresponse = (0)
/ trialduration = 100
</trial>

- for trials cd and dc to never follow trials bc and cb,
<trial bc>
/ ontrialend = [values.blocked_1 = 5; values.blocked_2 = 6]
/ stimulusframes = [1=mytext]
/ validresponse = (0)
/ trialduration = 100
</trial>

<trial cb>
/ ontrialend = [values.blocked_1 = 5; values.blocked_2 = 6]
/ stimulusframes = [1=mytext]
/ validresponse = (0)
/ trialduration = 100
</trial>

- and for trials de and ed to never follow trials cd and dc.
<trial cd>
/ ontrialend = [values.blocked_1 = 7; values.blocked_2 = 8]
/ stimulusframes = [1=mytext]
/ validresponse = (0)
/ trialduration = 100
</trial>

<trial dc>
/ ontrialend = [values.blocked_1 = 7; values.blocked_2 = 8]
/ stimulusframes = [1=mytext]
/ validresponse = (0)
/ trialduration = 100
</trial>

<trial de>
/ ontrialend = [values.blocked_1 = 0; values.blocked_2 = 0]
/ stimulusframes = [1=mytext]
/ validresponse = (0)
/ trialduration = 100
</trial>

<trial ed>
/ ontrialend = [values.blocked_1 = 0; values.blocked_2 = 0]
/ stimulusframes = [1=mytext]
/ validresponse = (0)
/ trialduration = 100
</trial>

<text mytext>
/ items = ("<%script.currenttrial%>")
</text>


GO


Reading This Topic


Login
Existing Account
Email Address:


Password:


Social Logins

Select a Forum....






Millisecond Forums


Search