My canned response is that FVP is a trainer and therefore it is irrelevant how the RNG works. I also urge you not to try to see patterns in random events, and never change your play based on these perceived patterns.
That being said, I believe you have a right to know, so here is how the FVP RNG works...
FVP uses the rand() function available in the C++ Builder compiler. Here is how Borland describes it... "rand uses a multiplicative congruential random number generator with period 2 to the 32nd power to return successive pseudo-random numbers in the range from 0 to RAND_MAX." Rand() is called for the pick of every card, deal or draw.
It is a sequential RNG, which means that if I seed it the same way every time, I will get the same pattern of numbers from it.
To seed the RNG, I use the Borland randomize() function... "Randomize initializes the built-in random number generator with a random value (obtained from the system clock)." This is the most popular way to seed RNGs.
I reseed the RNG every time a new machine is created. This is more often than you may think, as there are numerous occasions during a session that I have to recreate a new machine.
Of course, there is a bit more to it than what is said here, but basically, this is how it works.
Jim Wolf
--- In vpFREE@yahoogroups.com, "Rick & Lucky Lucy"
<luckylucy39@e...>
wrote:
The way random numbers are used in VP machines a
pattern is very
unlikely if not impossible. When a simulation draws
a single random
number to determine the outcome of a single event, a
pattern may
develop. I have seen this happen on wargame
simulations. But when
the number is drawn from a stream of continualy
produced random
numbers a pattern is almost impossible. The
question becomes does
Winpoker or FVP use a continuous stream of random
numbers or a single
draw for each hand. I suspect it is the latter;
requires less
programming and computer resources. Does anyone
know?Rick
[Non-text portions of this message have been removed]