randomly order a list

Jacques Hausser jacques.hausser at unil.ch
Wed May 22 20:16:26 EDT 2013


Dar,

I'm afraid you are wrong…
they would not be 27 possibilities (3^3) but only 6 (3! - factorial), because each line (first, second and third) can only be present once.

And I tested random (3) and random (9999) corrected to give a number between 1 and 3 with the following scripts:

on mouseUp
   put "" into fld "FR"
   repeat 100
      put random(3) & comma after fld "FR"
   end repeat
end mouseUp

result: 1,3,2,3,1,1,1,3,3,3,3,2,1,2,2,2,1,2,2,3,1,3,2,3,2,2,3,2,2,3,3,2,2,3,1,3,1,3,2,2,1,3,2,1,3,3,2,3…
mean value: 1.992

on mouseUp
   put "" into fld "FR"
   put 0 into tt
   repeat 1000
      put random(9999) into tx
        switch
          case tx <= 3333
              put 1 into t
              break
          case tx <= 6666
              put 2 into t
              break
          default
              put 3 into t
        end switch
        add t to tt
    end repeat
    put tt/1000 into fld "Moyenne"
end mouseUp

result: 1,2,3,3,1,3,2,3,3,2,3,2,3,3,2,2,1,1,3,3,2,2,2,1,3,1,3,3,3,3,1,1,3,2,3,1,2,1,1,1,2,1,3,2,3,2,2…
mean value: 1.992

so, it seems to be no statistical difference in the results ! No reason to use large numbers when not needed. (Ideally, the means should be 2, not 1.992, but well…)

Jacques


Le 23 mai 2013 à 01:23, Dar Scott <dsc at swcp.com> a écrit :

> Here is (I think) the situation for random(3).
> 
> Lines will be (virtually) assigned numbers randomly; there are 27 possibilities.
> 
> There are 9 cases in which the first line is assigned a 1.  It is first in the sort.
> There are 4 cases in which the first line is assigned a 2 and the other lines get 2 or 3.  It is first in the sort
> There is one case in which all get a 3.  Again, the first line comes in first.
> 
> So, assuming my math is good, that means the first line comes in first 14 out of 27 times.  That is 52% and should match what people are getting empirically.  
> 
> This doesn't address broken random(), though.  It just emphasizes the importance of the big number for random().
> 
> Dar
> 
> 
> On May 22, 2013, at 11:59 AM, Chris Sheffield wrote:
> 
>> I have a list of three words that I need to be randomly sorted. To start with, the first word is the correct answer to a question. I want to re-order the list so that the correct answer may be the second or third word, and not necessarily the first. How can I do this successfully every time? The docs give an example like this:
>> 
>> 	sort lines of myVar by random(the number of lines of myVar)
>> 
>> But this only seems to work successfully one time. After that, the list is always set so the first word is the correct answer. So then I tried randomly setting the randomSeed value, since this value is supposed to affect the random() function and the any keyword, but this didn't seem to make much difference except to change it so either the second or third word is *always* the right answer. I need it to be more mixed up than that.
>> 
>> So does anyone have a good way to do this?
>> 
>> Thanks,
>> Chris
>> 
>> 
>> --
>> Chris Sheffield
>> Read Naturally, Inc.
>> www.readnaturally.com
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode






More information about the use-livecode mailing list