RandomSeed test (was:randomly order a list)

Dar Scott dsc at swcp.com
Wed May 22 18:50:24 EDT 2013


I think the problem comes up when two equal items are compared.  I suspect that sort will tend to leave things unchanged.  


On May 22, 2013, at 4:31 PM, dunbarx at aol.com wrote:

> Dar.
> 
> 
> Yes, the randomseed is misused here. Parameter is better.
> 
> 
> 
> I assumed that it made no difference if I sorted the original text, or with a sorted version of that text. Random is random, right? An example of shoot-from-the-hip posting to the list.
> 
> 
> It seems that it does, and I am not sure why. With a low sort parameter, there is a distinct favoring of the original text, and a distinct disfavoring of the reverse of that text, The other sorted results are all about where they should be, 16% of the values.
> 
> 
> 
> I am sure there is an explanation for all this. There is definitely something to what Chris said. The original text occurs far more often than it should. I think there was discussion about this a while back, and I have forgotten what the upshot was.
> 
> 
> Bottom line, though, use a big number.
> 
> 
> Craig
> 
> 
> 
> 
> -----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 5:26 pm
> Subject: Re: RandomSeed test (was:randomly order a list)
> 
> 
> 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
>> 
> 
> _______________________________________________
> 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
> 
> 
> 
> _______________________________________________
> 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