
Greg Ewing wrote:
Jacob Holm wrote:
Each time I reseed from a truly random source,
If you have a "truly random source" on hand, then you have an infinite amount of entropy available and there is no problem. Just feed your truly random numbers straight into the shuffling algorithm. Of course.
We're talking about the case where you *don't* have truly random numbers, but only a PRNG with a limited amount of internal state.
As it happens, you don't really need the random source. As long as the set of shuffles you can get after reseeding generates the full set of permutations, all you need is to reseed in a way that will eventually have used all long enough sequences of possible seed values. No this is not even remotely practical, and it has very little to do with randomness, but I think I said that right from the start. I was just reacting to the statement that you wouldn't be able to generate all permutations using shuffle+reseed. You almost certainly can, but it is a silly thing to do. If you want large random permutations, you need a PRNG with an *extremely* long period, and if you have that there is no need for repeated shuffles. - Jacob