[Coco] Is the RND command really generating a random number?

Mathieu Bouchard matju at artengine.ca
Fri May 19 10:00:01 EDT 2017


"Truly random" is hard to define, if not hardly definable. It's at least as hard 
to test. What we dare call "truly random" is merely what we have no clue about. 
Of course, RNGs have various degrees of ability to "appear random" (whatever 
that means). In the case of BASIC, even if you seed the RNG with a realtime 
clock, the algorithm can still suck in different ways, such as how likely it is 
to produce a number after another given one. I remember an experiment I made in 
QuickBASIC with RND() producing numbers from 0 to 65535 inclusively. I divided 
them by 256, plotted the floor of the quotient as y, and the remainder as x. 
Various temporary visual patterns appeared (such as dotted diagonal lines). This 
256x256 square also got filled completely much quickly than according to 
probability theory. With slight variants of the same (linear-congruential) 
algorithm, theoretical randomness can be faked a lot better than RND(), but 
that's not what Microsoft chose to use.


Le 2017-05-18 à 19:44:00, Dave Philipsen a écrit :

> Very few things in the computer world are truly random.  A better term 
> might be 'pseudo-random'.  Think about it.  In theory if you turn on two 
> identical CoCos at the same time and ask for a random number at the same 
> time they should both provide the same random number.  So, in reality, 
> it's not random.
>
> Dave
>
> On 5/18/2017 7:39 PM, Rietveld Rietveld wrote:
>> I used the RND command to generate a random game play option in the 
> cocoflash, but it doesn't seem to be very random. Some titles come up more 
> than the laws of probability would suggest is possible.   instead I am now 
> using a small math equation that uses a PEEK of the clock value.   This has 
> resulted in a far more random looking selection

  ______________________________________________________________________
| Mathieu BOUCHARD --- tél: 514.623.3801, 514.383.3801 --- Montréal, QC


More information about the Coco mailing list