﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Millisecond Forums » Millisecond Forums » Inquisit 3  » constrained randomization help</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Fri, 25 Sep 2026 00:57:12 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: constrained randomization help</title><link>https://forums.millisecond.com/Topic9603.aspx</link><description>&lt;p&gt;[quote]Incidentally, if I ever did want to manipulate blocks through more complex code architecture, is it usually advisable to do it within the experiment tag, or can I use other things (like counters, although apparently not counters) to perform complex logic and have the experiment tag to invoke those blocks?&amp;nbsp;[/quote]&lt;/p&gt;
&lt;p&gt;In Inquisit 4, you can do this with the &amp;lt;list&amp;gt; element (see e.g. http://www.millisecond.com/forums/Topic9304.aspx#9304). This is not available in Inquisit 3, i.e., you'd have to resort to other means (conditional logic, /branch and /skip patterns).&lt;/p&gt;
&lt;p&gt;Regarding complex / constrained randomization, I have posted some general thoughts at http://www.millisecond.com/forums/Topic6419.aspx but don't go into implementation details. Some concrete examples can be found by browsing or searching the forum.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;~Dave&lt;/p&gt;</description><pubDate>Sun, 03 Feb 2013 17:43:38 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: constrained randomization help</title><link>https://forums.millisecond.com/Topic9602.aspx</link><description>&lt;p&gt;Thanks Dave!&lt;/p&gt;
&lt;p&gt;Yes, seems obvious, doesn't it.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Incidentally, if I ever did want to manipulate blocks through more complex code architecture, is it usually advisable to do it within the experiment tag, or can I use other things (like counters, although apparently not counters) to perform complex logic and have the experiment tag to invoke those blocks?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Does my question make sense? Obviously in this case, the solution was simple, but I have a sneaking suspicion some other elements of some of the designs I am programming are not all that simple.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;PS, I'm new to inquisit, so pardon my learning curve. If there is a good resource for implementing complex randomization (or conditional randomization), that would be great.&amp;nbsp;&lt;/p&gt;</description><pubDate>Sun, 03 Feb 2013 17:37:31 GMT</pubDate><dc:creator>tcarpenter216</dc:creator></item><item><title>RE: constrained randomization help</title><link>https://forums.millisecond.com/Topic9601.aspx</link><description>&lt;p&gt;The solution is simple (see the documentation for the /blocks attribute)&lt;/p&gt;
&lt;p&gt;/ blocks = [1,3,5=noreplace(chips,peanut,cereal); 2,4=interim]&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;~Dave&lt;/p&gt;</description><pubDate>Sun, 03 Feb 2013 17:24:01 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>constrained randomization help</title><link>https://forums.millisecond.com/Topic9600.aspx</link><description>&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;I have an experiment in which I have three blocks (chips, peanut, cereal) that I need presented in a random order. Typically, I would just use the following command:&lt;/p&gt;
&lt;p&gt;/blocks = [1,2,3=noreplace(chips, peanut, cereal)]&lt;/p&gt;
&lt;p&gt;However, there is a catch. In between each of the three blocks (chips, peanut, cereal) I need them to do some other things. &lt;/p&gt;
&lt;p&gt;In other words, I want them to do one of the three at random, then do some other procedures, then do one of the remaining two blocks &amp;nbsp;at random, then do some other procedures, then do the last of the three remaining blocks.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is how I attempted to solve it, but the problem here is that this allows you to repeat an earlier block (which I don't want:&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&amp;lt;expt ALL&amp;gt;&lt;/p&gt;
&lt;p&gt;/ blocks = [1=noreplace(chips, peanut, cereal); 2=interim; 3=noreplace(chips, peanut, cereal); 4=interim; 5=noreplace(chips, peanut, cereal)]&lt;/p&gt;
&lt;p&gt;&amp;lt;/expt&amp;gt;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;I also attempted to solve the problem by using a counter. The problem is, apparently, elements can't be invoked this way. This summarizes the idea of what I want to do. Does anybody know how to pull this off?&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&amp;lt;counter chooser&amp;gt;&lt;/div&gt;
&lt;div&gt;/ items = (block.chips, block.peanut, block.cereal)&lt;/div&gt;
&lt;div&gt;/ select = noreplace&lt;/div&gt;
&lt;div&gt;/ selectionrate = always&lt;/div&gt;
&lt;div&gt;&amp;lt;/counter&amp;gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;&amp;lt;expt ALL&amp;gt;&lt;/div&gt;
&lt;div&gt;/ blocks = [1=counter.chooser.selectedvalue; 2=interim; 3=counter.chooser.selectedvalue; 4=interim; 5=counter.chooser.selectedvalue]&lt;/div&gt;
&lt;div&gt;&amp;lt;/expt&amp;gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;As you can see, this code is clearly invalid because you can't "store" blocks in a counter that way. Does anyone know how to correctly implement this randomization procedure?&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/p&gt;</description><pubDate>Sun, 03 Feb 2013 17:20:47 GMT</pubDate><dc:creator>tcarpenter216</dc:creator></item></channel></rss>