Here's a fine article about cheating at on-line poker by reverse-engineering the random number seed from (inadequate) random number technique:
http://www.developer.com/tech/article.php/10923_616221_2
The problem is number space. To say that a 32 bit seed can produce a particular book is approximately equivalent to stating that there are only 2 to the 32nd possible books, especially considering that the generator will begin to repeat its self long before much of a particular book was recognized.
As an example, here's Microsoft's C runtime random number generator, doctored up for clarity. In this case, there really only is 32 bits of non-constant precision maintained. Very weak. You will not get a particular book from this. Not ever.
Code:
/***
*rand.c - random number generator
*
* Copyright (c) 1985-2001, Microsoft Corporation. All rights reserved.
*
*Purpose:
* defines rand(), srand() - random number generator
*
*******************************************************************************/
static long holdrand = 1L;
void __cdecl srand (
unsigned int seed
)
{
holdrand = (long)seed;
}
int __cdecl rand (
void
)
{
return(((holdrand = holdrand * 214013L + 2531011L) >> 16) & 0x7fff);
}
The basic gnu pseudorandom generator is much the same, maintaining 32 bits, but returning 32 bits of data. Microsoft's is a hold-over from 16 bit days. They have additional code to do more elaborate generation based on tables of data as well.
Internal to a typical runtime library 32 bit polynomial random number generator, there may be as much as 64 bits of data. The seed is applied to a fixed mask that sets up the internal data, and the random fun begins from there. Are there only 2 to the 64th possible books? Since this internal state (based on 32 bits and the fixed, internal mask), we have 2 to the 32nd possible starting points and 64 bits of internally maintained data.
There are more elaborate pseudo-random number generators, with a LOT more internal state, and they are more time consuming to generate, as well.
It could be pointed out that numbers such as pi or the square root of 2 are non-terminating, non-repeating numbers. A lot of gibberish could be generated from either of these for thousands of years and never amount to much more than a coherent paragraph of text.
Here's a site making fun of 'Bible Codes' using pi.
http://users.aol.com/s6sj7gt/picode.htm