Re: Random number question?
From: Paul Nutteing (nutteing_at_quickfindit.com)
Date: 06/21/04
- Next message: phil: "Re: Bodes Law of the planets"
- Previous message: Richard Henry: "Re: Random number question?"
- In reply to: Paul Allen Panks: "Random number question?"
- Next in thread: T Rig: "Re: Random number question?"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 21 Jun 2004 18:51:35 +0100
"Paul Allen Panks" <panks@sdf.lonestar.org> wrote in message
news:cb5umk$por$1@chessie.cirr.com...
> How does HLA's random number generator differ from traditional BASIC's
> version? I've long based much of my adventure gaming on random numbers,
> especially during player/monster fighting. Does seeding a number truly
> make it random, or only quasi-random?
>
> Let's say I have a number between 1 and 35. What guarantee do I have that
> the computer won't habitually (or accidentally) pick the same range of
> numbers twice? Or the same individual number twice?
>
> To find out, I wrote a simple QBasic program below:
>
> 1 CLEAR
> 5 CLS : PRINT "Random Number test"
> 10 FOR x = 1 TO 10
> 20 RANDOMIZE TIMER
> 30 i = INT(RND * 35) + 1
> 40 PRINT i
> 45 NEXT x
>
> The program was run three separate times, with the following results:
>
> Test #1
> Random Number test
> 27
> 25
> 17
> 31
> 24
> 18
> 27
> 34
> 23
> 22
>
> Test #2
> Random Number test
> 32
> 29
> 21
> 35
> 29
> 22
> 32
> 4
> 27
> 27
>
> Test #3
> Random Number test
> 21
> 18
> 10
> 24
> 17
> 11
> 21
> 28
> 16
> 16
>
> Ah oh...the last two tests repeated the last two sets of numbers not once
> but TWICE! That's not good!
>
> Now for the same program in HLA:
>
> program random;
> #include ("console.hhf");
> #include ("stdlib.hhf");
> #include ("math.hhf");
> static
> i:int32:=0;
> x:int32:=0;
> begin random;
> console.cls();
> stdout.put("Random number test",nl);
> start:
> add(1,x);
> rand.randomize();
> rand.urange(1,35); // pick a random number, 1 through 35
> mov(eax,i); // move it into i variable
> mov(i,eax); // set i to eax value
> stdout.put(i,nl);
> if(x<10) then
> jmp start;
> endif;
> end random;
>
> The HLA version gives the following 3 results:
>
> Test #1
> Random number test
> 29
> 24
> 11
> 19
> 22
> 8
> 27
> 33
> 27
> 28
>
> Test #2
> Random number test
> 19
> 4
> 32
> 30
> 23
> 34
> 24
> 20
> 20
> 30
>
> Test #3
> Random number test
> 35
> 26
> 29
> 17
> 26
> 18
> 33
> 29
> 19
> 1
>
> Some repeats, but not as bad as before.
>
> Is there a way to truly limit the number of repeats during a set of random
> number generation? I can foresee a lot of random numbers in my own mind,
> but they have to be truly, truly random for the random number generator to
> be doing a good job.
>
> Any ideas as to why both sets of random number generators seem different
> in functionality?
>
> Sincerely,
>
> Paul Panks
> dunric@gmail.com
>
> --
> panks@sdf.lonestar.org
> SDF Public Access UNIX System - http://sdf.lonestar.org
I needed a reliable RNG that didn't throw up repeats as
I wanted to simulate a large DNA profile database
using totally randomly generated 'alleles'. Each profile
consisting of 20 random selections from (an average of ) 12 integres in
effect.
I had to throw out 2 other versions as they produced
repeating sequences when called 100,000s of times.
I was calling the RNG 80 million times in sequence
and other runs sampling from 200 million and checking for
matches. The last thing I wanted was the RNG throwing
up repeats as it was probality of accidental chance matches
I was interested in. All matches produced were not a
manifest of repeats in the RNG using this RNG form, and
0<p<1
***********
Randomize
z = 2 ^ 24
a = 214013
c = 2531011
x0 = Timer
temp = x0 * a + c
temp = temp / z
x1 = (temp - Fix(temp)) * z
x0 = x1
p = x1 / z
***********
The above generator using VB and Word97 sort macro etc
( apologies, I'm not a programmer ) simulation of large DNA profile database
http://www.nutteing2.freeservers.com/dnas5.htm
or nutteingd in a search engine
email nonarevers@yahoo.co.....uk (remove 4 of 5 dots)
- Next message: phil: "Re: Bodes Law of the planets"
- Previous message: Richard Henry: "Re: Random number question?"
- In reply to: Paul Allen Panks: "Random number question?"
- Next in thread: T Rig: "Re: Random number question?"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|