The Museum of HP Calculators

HP Forum Archive 18

[ Return to Index | Top of Index ]

HP-41CX (or 41C/CV + Time module) challenge
Message #1 Posted by Geir Isene on 6 Dec 2007, 7:05 p.m.

Here goes:

Write the best quality and fastest random number generator based on Time as the input (instead of a stored seed).

      
Re: HP-41CX (or 41C/CV + Time module) challenge (UPDATED)
Message #2 Posted by Vieira, Luiz C. (Brazil) on 6 Dec 2007, 7:33 p.m.,
in response to message #1 by Geir Isene

Hi, Geir;

just a 'quick and dirty' proposal. I borrowed the 5 SQRT + from HP41 Randon Number Generation, kinda spectrum correction... if such a thing exists. (I'm somehow asleep, forgive my English, bitte...)

Here goes!

LBL”RAND”
TIME
1E3
*
FRC
SQRT  (missing in first listing)
5
SQRT
+     (improves if replaced by *)
FRC
.END.
Can I borrow 2˘?

Cheers.

Luiz (Brazil... hope so!)

Edited: 7 Dec 2007, 2:19 p.m.

            
Re: HP-41CX (or 41C/CV + Time module) challenge (UPDATED)
Message #3 Posted by Geir Isene on 7 Dec 2007, 3:24 p.m.,
in response to message #2 by Vieira, Luiz C. (Brazil)

...hmm

Not really random. Consecutive numbers are rising predictably until it flips over 1 and returns back to a low number only to start rising again.

                  
Re: HP-41CX (or 41C/CV + Time module) challenge (UPDATED)
Message #4 Posted by Vieira, Luiz C. (Brazil) on 9 Dec 2007, 4:18 p.m.,
in response to message #3 by Geir Isene

Hi, Geir;

The routine itself has a limited number of 'random numbers', and it actually repeats everytime the same 'time value' (T-seed, from now on) shows up. The TIME in the HP41 returns a 'hundreth-second' value, so I decided to use only the part of the T-seed with the seconds unit plus the hundreds. So, if you execute the routine consecutively (press [R/S] immediately after it stops), the numbers in the display change fastly. Unfortunately, only 1,000 possible random numbers will be generated. If we use 100 instead of 1,000 to multiply the T-seed, we will increase the number of possible 'random' numbers to 6,000, but the first digit of the generated random numbers eiher steps forwad one step after each immediate, consecutive execution or repeats itself.

Yeap, restricting a random number generator to a 1,000 or a 6,000 or to anything is not creating a random number generator. Using a previous seed would actually enhance it. If we use the full T-seed somehow, we would have 43,200,000 seeds (twice of it if we use 24-hour TIME), but we would still restrict the number of random numbers being generated. The only way I can think of enhancing this RAND program would be to scramble the digits of the T-seed so the generated random numbers do not follow an specific pattern. If the scrambler is linear, i.e., not random, we fall in the same restrictions again...

Any possibilities?

Sorry if I could not go any further...

Luiz (Brazil)

Edited: 10 Dec 2007, 7:31 a.m.


[ Return to Index | Top of Index ]

Go back to the main exhibit hall