|
I agree that it doesn't work well for what we were trying to do. What made me most curious was the pattern of the results. A small subset of the numbers each occurred 70 and 69 times each with the remainder each occurring once over 99,999 iterations. I would have expected something more like a normal distribution. Since we were trying to put together numbers in a sequence that appeared random, it would probably be easier to use FMTDTA to shuffle a preselected range. -----Original Message----- From: Hans Boldt To: midrange-l@midrange.com Sent: 9/17/2002 5:31 AM Subject: Re: ceerano and the seed Joel Fritz wrote: > We've been playing with CEERANO to try to construct a list of 13 digit > unique numbers in "random" order. It looks like that after 20,000 or so, > diminishing returns sets in in a big way. > > What we're doing is starting with zero as the seed and using whatever gets > returned in the seed parm as the next seed. The test program looks at its > output file to see if the current random number is in the file. If not, it > writes it. Out of curiosity I tried a run of 99,999--off by 1 <g>--just to > see what I'd get. 1322 of the numbers occurred 70 times, 29 of them > occurred 69 times, and the others occurred once. I guess I'd expect the > frequencies to be a little more normally distributed. > > Looks like using the seed value returned by the function is not a good idea. > Does anyone know what's happening here? If you look at the documentation for ceeran0, you'll see that using the seed value returned by the function for the next iteration is exactly how the seed was intended to be used. The documentations states: "On return, CEERAN0 changes the value of seed so that it may be used as the new seed in the next call." That's the way many pseudo-random number generators are supposed to work. Using the current time is not a good choice for each iteration since the time may not change between iterations, or may change in too predictable a fashion. Clearly, using random numbers is not the best technique to generate "unique" numbers, and you should perhaps look at some better technique. One way to generate unique numbers is to start at 1, and increment for each new number. If you want the numbers to "look" random, then start with some big number, say 293756927, keep incrementing that, but return the number with the digits rearranged in some sytematic manner. Cheers! Hans _______________________________________________ NOTICE: All e-mail sent to or from this e-mail address will be received or otherwise recorded by The Sharper Image corporate e-mail system and is subject to archival, monitoring, review by and/or disclosure to Sharper Image security and other management. This message is intended only for the use of the addressee and may contain information that is privileged and confidential. The contents of this message may contain personal views which are not the views of The Sharper Image. If you are not the intended recipient, dissemination of this communication is prohibited.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.