HP Forums

Full Version: HP-41CX (or 41C/CV + Time module) challenge
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Here goes:

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

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.

...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.

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.