Millisecond Forums

facing different Complexity of randomization in different block

https://forums.millisecond.com/Topic26898.aspx

By ravmeh511 - 4/25/2019

Here I have multiple Stimuli and multiple blocks, when i run this script it is happening that in starting blocks randomization is low i.e. it shows large sequence of same category 
means block is less jumbled but in last few block randomization is high. 
is it the inquisite algorithm work that way? like less randomization in starting blocks  and high randomization in latter blocks  or can I achieve high randomization in starting  blocks also?  


<item attributeAlabel>
/1 = "tp.jpeg"
</item>

<item attributeA>
/1 = "positive1.jpg"
/2 = "positive1.jpg"
/3 = "positive3.jpg"
/4 = "positive4.jpg"
/5 = "positive5.jpg"
/6 = "positive6.jpg"
/7 = "positive7.jpg"
/8 = "positive8.jpg"
</item>

<item attributeBlabel>
/1 = "td.jpeg"
</item>

<item attributeB>
/1 = "negative1.jpg"
/2 = "negative2.jpg"
/3 = "negative3.jpg"
/4 = "negative4.jpg"
/5 = "negative5.jpg"
/6 = "negative6.jpg"
/7 = "negative7.jpg"
/8 = "negative8.jpg"
</item>

<item targetAlabel>
/1 = "Red & White"
</item>

<item targetA>
/1 = "rw1.jpg"
/2 = "rw2.jpg"
/3 = "rw3.jpg"
/4 = "rw4.jpg"
/5 = "rw5.jpg"
/6 = "rw6.jpg"
/7 = "rw7.jpg"
/8 = "rw8.jpg"
</item>

<item targetBlabel>
/1 = "Gold Flake"
</item>

<item targetB>
/1 = "gf1.jpg"
/2 = "gf2.jpg"
/3 = "gf3.jpg"
/4 = "gf4.jpg"
/5 = "gf5.jpg"
/6 = "gf6.jpg"
/7 = "gf7.jpg"
/8 = "gf8.jpg"
</item>

<block attributepractice>
/ bgstim = (attributeAleft, attributeBright)
/ trials = [
1=instructions;
2-21 = random(attributeA, attributeB);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block targetcompatiblepractice>
/ bgstim = (targetAleft, targetBright)
/ trials = [
1=instructions;
2-21 = random(targetAleft, targetBright);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block targetincompatiblepractice>
/ bgstim = (targetAright, targetBleft)
/ trials = [
1=instructions;
2-21 = random(targetAright, targetBleft);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block targetcompatiblepracticeswitch>
/ bgstim = (targetAleft, targetBright)
/ trials = [
1=instructions;
2-41 = random(targetAleft, targetBright);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block targetincompatiblepracticeswitch>
/ bgstim = (targetAright, targetBleft)
/ trials = [
1=instructions;
2-41 = random(targetAright, targetBleft);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block compatibletest1>
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency;
if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a += 1;
if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency);
if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n_correct += block.compatibletest1.correct;
]
</block>

<block compatibletest2>
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40 = random(targetAleft, targetBright);
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
if(block.compatibletest2.latency <= 10000) values.sum1b = values.sum1b + block.compatibletest2.latency;
if(block.compatibletest2.latency <= 10000) values.n1b += 1;
if(block.compatibletest2.latency <= 10000) values.ss1b = values.ss1b + (block.compatibletest2.latency * block.compatibletest2.latency);
if(block.compatibletest2.latency <= 10000) values.n_correct += block.compatibletest2.correct;
]
</block>

<block incompatibletest1>
/ bgstim = (targetBleftmixed, orleft, attributeAleft, targetArightmixed, orright, attributeBright)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21 = random(targetBleft, targetAright);
2,4,6,8,10,12,14,16,18,20 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1) values.sum2a = values.sum2a + block.incompatibletest1.latency;
if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.n2a += 1;
if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.ss2a = values.ss2a + (block.incompatibletest1.latency * block.incompatibletest1.latency);
if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.n_correct += block.incompatibletest1.correct;
]
</block>

<block incompatibletest2>
/ bgstim = (targetBleftmixed, orleft, attributeAleft, targetArightmixed, orright, attributeBright)
/ trials = [
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40 = random(targetBleft, targetAright);
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
if(block.incompatibletest2.latency <= 10000) values.sum2b = values.sum2b + block.incompatibletest2.latency;
if(block.incompatibletest2.latency <= 10000) values.n2b += 1;
if(block.incompatibletest2.latency <= 10000) values.ss2b = values.ss2b + (block.incompatibletest2.latency * block.incompatibletest2.latency);
if(block.incompatibletest2.latency <= 10000) values.n_correct += block.incompatibletest2.correct;
]
</block>

<block compatibletestinstructions>
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [1=instructions]
/ recorddata = false
</block>

<block incompatibletestinstructions>
/ bgstim = (targetBleftmixed, orleft, attributeAleft, targetArightmixed, orright, attributeBright)
/ trials = [1=instructions]
/ recorddata = false
</block>

<block summary>
/skip = [parameters.showsummaryfeedback == false]
/ trials = [1=summary]
/ recorddata = false
</block>

<expt>
/ preinstructions = (iatintro)
/subjects = (1 of 2)
/groupassignment = groupnumber
/ blocks = [
1=targetcompatiblepractice;
2=attributepractice;
3=compatibletest1;
4=compatibletestinstructions;
5=compatibletest2;
6=targetincompatiblepractice;
7=incompatibletest1;
8=incompatibletestinstructions;
9=incompatibletest2;
10=summary;
]
/onexptend = [values.completed = 1]
</expt>

<expt>
/ preinstructions = (iatintro)
/subjects = (2 of 2)
/groupassignment = groupnumber
/ blocks = [
1=targetincompatiblepractice;
2=attributepractice;
3=incompatibletest1;
4=incompatibletestinstructions;
5=incompatibletest2;
6=targetcompatiblepractice;
7=compatibletest1;
8=compatibletestinstructions;
9=compatibletest2;
10=summary;
]
/onexptend = [values.completed = 1]
</expt>
By Dave - 4/25/2019

ravmeh511 - Thursday, April 25, 2019
Here I have multiple Stimuli and multiple blocks, when i run this script it is happening that in starting blocks randomization is low i.e. it shows large sequence of same category 
means block is less jumbled but in last few block randomization is high. 
is it the inquisite algorithm work that way? like less randomization in starting blocks  and high randomization in latter blocks  or can I achieve high randomization in starting  blocks also?  


<item attributeAlabel>
/1 = "tp.jpeg"
</item>

<item attributeA>
/1 = "positive1.jpg"
/2 = "positive1.jpg"
/3 = "positive3.jpg"
/4 = "positive4.jpg"
/5 = "positive5.jpg"
/6 = "positive6.jpg"
/7 = "positive7.jpg"
/8 = "positive8.jpg"
</item>

<item attributeBlabel>
/1 = "td.jpeg"
</item>

<item attributeB>
/1 = "negative1.jpg"
/2 = "negative2.jpg"
/3 = "negative3.jpg"
/4 = "negative4.jpg"
/5 = "negative5.jpg"
/6 = "negative6.jpg"
/7 = "negative7.jpg"
/8 = "negative8.jpg"
</item>

<item targetAlabel>
/1 = "Red & White"
</item>

<item targetA>
/1 = "rw1.jpg"
/2 = "rw2.jpg"
/3 = "rw3.jpg"
/4 = "rw4.jpg"
/5 = "rw5.jpg"
/6 = "rw6.jpg"
/7 = "rw7.jpg"
/8 = "rw8.jpg"
</item>

<item targetBlabel>
/1 = "Gold Flake"
</item>

<item targetB>
/1 = "gf1.jpg"
/2 = "gf2.jpg"
/3 = "gf3.jpg"
/4 = "gf4.jpg"
/5 = "gf5.jpg"
/6 = "gf6.jpg"
/7 = "gf7.jpg"
/8 = "gf8.jpg"
</item>

<block attributepractice>
/ bgstim = (attributeAleft, attributeBright)
/ trials = [
1=instructions;
2-21 = random(attributeA, attributeB);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block targetcompatiblepractice>
/ bgstim = (targetAleft, targetBright)
/ trials = [
1=instructions;
2-21 = random(targetAleft, targetBright);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block targetincompatiblepractice>
/ bgstim = (targetAright, targetBleft)
/ trials = [
1=instructions;
2-21 = random(targetAright, targetBleft);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block targetcompatiblepracticeswitch>
/ bgstim = (targetAleft, targetBright)
/ trials = [
1=instructions;
2-41 = random(targetAleft, targetBright);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block targetincompatiblepracticeswitch>
/ bgstim = (targetAright, targetBleft)
/ trials = [
1=instructions;
2-41 = random(targetAright, targetBleft);
]
/ errormessage = true(error,200)
/ responsemode = correct
</block>

<block compatibletest1>
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21= random(targetAleft, targetBright);
2,4,6,8,10,12,14,16,18,20 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency;
if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a += 1;
if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency);
if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n_correct += block.compatibletest1.correct;
]
</block>

<block compatibletest2>
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40 = random(targetAleft, targetBright);
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
if(block.compatibletest2.latency <= 10000) values.sum1b = values.sum1b + block.compatibletest2.latency;
if(block.compatibletest2.latency <= 10000) values.n1b += 1;
if(block.compatibletest2.latency <= 10000) values.ss1b = values.ss1b + (block.compatibletest2.latency * block.compatibletest2.latency);
if(block.compatibletest2.latency <= 10000) values.n_correct += block.compatibletest2.correct;
]
</block>

<block incompatibletest1>
/ bgstim = (targetBleftmixed, orleft, attributeAleft, targetArightmixed, orright, attributeBright)
/ trials = [1=instructions;
3,5,7,9,11,13,15,17,19,21 = random(targetBleft, targetAright);
2,4,6,8,10,12,14,16,18,20 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1) values.sum2a = values.sum2a + block.incompatibletest1.latency;
if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.n2a += 1;
if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.ss2a = values.ss2a + (block.incompatibletest1.latency * block.incompatibletest1.latency);
if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.n_correct += block.incompatibletest1.correct;
]
</block>

<block incompatibletest2>
/ bgstim = (targetBleftmixed, orleft, attributeAleft, targetArightmixed, orright, attributeBright)
/ trials = [
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40 = random(targetBleft, targetAright);
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39 = random(attributeA, attributeB)]
/ errormessage = true(error,200)
/ responsemode = correct
/ ontrialend = [
if(block.incompatibletest2.latency <= 10000) values.sum2b = values.sum2b + block.incompatibletest2.latency;
if(block.incompatibletest2.latency <= 10000) values.n2b += 1;
if(block.incompatibletest2.latency <= 10000) values.ss2b = values.ss2b + (block.incompatibletest2.latency * block.incompatibletest2.latency);
if(block.incompatibletest2.latency <= 10000) values.n_correct += block.incompatibletest2.correct;
]
</block>

<block compatibletestinstructions>
/ bgstim = (targetAleftmixed, orleft, attributeAleft, targetBrightmixed, orright, attributeBright)
/ trials = [1=instructions]
/ recorddata = false
</block>

<block incompatibletestinstructions>
/ bgstim = (targetBleftmixed, orleft, attributeAleft, targetArightmixed, orright, attributeBright)
/ trials = [1=instructions]
/ recorddata = false
</block>

<block summary>
/skip = [parameters.showsummaryfeedback == false]
/ trials = [1=summary]
/ recorddata = false
</block>

<expt>
/ preinstructions = (iatintro)
/subjects = (1 of 2)
/groupassignment = groupnumber
/ blocks = [
1=targetcompatiblepractice;
2=attributepractice;
3=compatibletest1;
4=compatibletestinstructions;
5=compatibletest2;
6=targetincompatiblepractice;
7=incompatibletest1;
8=incompatibletestinstructions;
9=incompatibletest2;
10=summary;
]
/onexptend = [values.completed = 1]
</expt>

<expt>
/ preinstructions = (iatintro)
/subjects = (2 of 2)
/groupassignment = groupnumber
/ blocks = [
1=targetincompatiblepractice;
2=attributepractice;
3=incompatibletest1;
4=incompatibletestinstructions;
5=incompatibletest2;
6=targetcompatiblepractice;
7=compatibletest1;
8=compatibletestinstructions;
9=compatibletest2;
10=summary;
]
/onexptend = [values.completed = 1]
</expt>

Please explain what you consider to be the "starting blocks" and how you concluded that "randomization is low." Please provide data files illustrating what you mean.