RandomSeed test (was:randomly order a list)
Dar Scott
dsc at swcp.com
Wed May 22 17:24:50 EDT 2013
There is a potential confusion in the term randomSeed. We might be using it two ways.
There is the randomSeed property, the state of the random number generator.
And there is the argument to the random function.
And...
Shouldn't the 'get fld 1' be inside the loop? (Or initialized the same way each time.) You are using the previous sorted 'it' each time. Perhaps that is what is doing the scrambling.
This is my test:
on mouseUp
set the cursor to watch
put 0 into a1
put 0 into a2
put 0 into a3
put "a" & lf & "b" & lf & "c" into x
repeat 1000000 times
put x into myVar
--sort lines of myVar by random(the number of lines of myVar)
sort lines of myVar by random(999999)
if line 1 of myVar is "a" then add 1 to a1
if line 2 of myVar is "a" then add 1 to a2
if line 3 of myVar is "a" then add 1 to a3
end repeat
put a1 && a2 && a3 into field 1
end mouseUp
I got different results depending on which line is commented out.
Dar
On May 22, 2013, at 2:46 PM, dunbarx at aol.com wrote:
> Sorting by a randomSeed greater than the number of elements of a sample does not help.
>
>
> With the following in a fld 1: aaa,bbb,ccc
>
>
> and this in a button:
>
> on mouseUp
> get fld 1
> repeat 1000
> sort items of it by random(3)
> put it & return after lowSeed
> end repeat
>
> repeat 1000
> sort items of it by random(3333)
> put it & return after highSeed
> end repeat
>
> repeat with y = 1 to the number of lines of lowSeed
> add 1 to lowSeedCounter[line y of lowSeed]
> end repeat
>
> repeat with y = 1 to the number of lines of highSeed
> add 1 to highSeedCounter[line y of highSeed]
> end repeat
>
> end mouseUp
>
>
> The distribution of the two groups is about the same.
>
>
> Craig Newman
>
>
>
>
> -----Original Message-----
> From: Dar Scott <dsc at swcp.com>
> To: How to use LiveCode <use-livecode at lists.runrev.com>
> Sent: Wed, May 22, 2013 3:59 pm
> Subject: Re: randomly order a list
>
>
> Try replacing 'the number of lines of myVar' with some huge number you think is
> allowed for random(), say 999999.
>
> With small numbers you are likely to get the same number for different lines and
> perhaps sort does not change order in that case.
>
> Dar
>
>
> On May 22, 2013, at 11:59 AM, Chris Sheffield wrote:
...
>>
>> sort lines of myVar by random(the number of lines of myVar)
>>
...
>>
>> --
>> Chris Sheffield
>> Read Naturally, Inc.
>> www.readnaturally.com
>
More information about the Use-livecode
mailing list