On Sat, 14 Feb 2009 02:34:48 +0300, Jason House <[email protected]> 
wrote:

dsimcha Wrote:

== Quote from Andrei Alexandrescu ([email protected])'s article
> bearophile wrote:
> > Andrei Alexandrescu>The quest for finding a random cover of an array
> > with as little extra memory consumed and with good complexity is on!<
> >
> >
> > This thread is very long and complex, I am unable to understand where > > to start reading, etc. So can someone explain the problem to me, so I
> > may be able to suggest some idea/code?
> Given an array of length m, return a range that iterates the array in
> random order such that the entire array is visited without going through
> the same element more than once. Consume minimal amounts of memory and
> time. Baseline solution: allocate an array of indices, shuffle it, then
> follow indices stored in the array.
> Andrei

One important thing to add, since we already have a solution that would be good except for this
requirement:

The frequency with which each of the N! permutations of each array occur must be uniform.


Believe it or not, that's an unreasonable requirement. IIRC, most RNG's have periods such as 2^32. You can't get more permutations than that. Somewhere in the ballpark of 17 elements, your requurement becones impossible to meet without a highly specialized RNG. I hope someone can prove me wrong about that!

You are wrong!

It's 13 elements :p

Reply via email to