Re: random numbers in fortran
- From: "Mark Morss" <mfmorss@xxxxxxx>
- Date: 28 Nov 2006 12:01:27 -0800
Actually I was not the person who made the original post, but in any
case, my question was, what are the >practical< implications of your
point? This being a forum devoted to Fortran, not combinatorics, I was
hoping for an explanation of how, in Fortran, one would make sure that
this criterion were satisfied.
How, for example, would one set "cycle length" to be sure that each one
of 52! combinations had the same chance of coming up? My Fortran
reference is Chapman's _Fortran 90/95 for Scientists and Engineers_,
and in its brief discussion of the RANDOM_SEED and RANDOM_NUMBER
intrinsics, it makes no mention of "cycle length."
But also on a practical level, given the uncertain randomness of
pseudo-random numbers, how could anyone know that each one of so many
combinations had the same chance of coming up? I would have thought
that if a very large number of simulated deals satisfied apparent
randomness, that would be sufficient for most practical purposes --
even if it were known >a priori< that certain outcomes possible in
reality were impossible in the simulation.
Gordon Sande wrote:
On 2006-11-28 10:07:31 -0400, "Mark Morss" <mfmorss@xxxxxxx> said:
You said:
"The basic statistical property that you should worry about first is
the
cycle length. To shuffle cards you want all 52! permutations to have a
chance of happening. With a short cycle length that does not happen.
A rather critical issue if you are going to pretend that the results
have any relevance to real card games."
Would you please elucidate? I am not sure of the practical
implications of this remark.
You are trying to shuffle cards, or so you said.
There are 52! possible shuffles. Get a high precision calculator and
do the many precision arithmetic. Or just use an approximation. It is
more than you can count on your fingers! Or even your fingers and toes.
With a short cycle length the PSEUDO random number generator will not
be able to represent all those permutations. Even if it had a chance it
still might not actually have the permutation somewhere on its cycle.
The first is elementary combinatorics and the second is a more subtle
issue on the quality of the pseudo random number generator.
If there are permutations missing then anything you do based on
the "random" permutations will be at best "hap-hazard". That is
fine for games for young children with short memories but is a bit
short on quality for most other applications.
You dropped the piece where it said
It turns out that this "trivial example" is in fact quite demanding of
a pseudo random number generator.
which comes as a big surprise to many who do not try to do the simple
combinatorics. You have lots of company on that.
If all you are doing is a game for young children then fine. Otherwise
you should read some real literature on the topic which your question
indicates that you have not yet done.
.
- Follow-Ups:
- Re: random numbers in fortran
- From: Craig Powers
- Re: random numbers in fortran
- References:
- random numbers in fortran
- From: lane straatman
- Re: random numbers in fortran
- From: Thomas Koenig
- Re: random numbers in fortran
- From: Gordon Sande
- random numbers in fortran
- Prev by Date: Re: Fortran Error Problem
- Next by Date: Re: defining an arbitrary type in your newer Fortrans
- Previous by thread: Re: random numbers in fortran
- Next by thread: Re: random numbers in fortran
- Index(es):
Relevant Pages
|