I have a sequence of sets of random numbers, with each set generated
by an unknown random number generator. I am assuming that in the
sequence, the random number generator is the same one for a certain
duration, such that a few sets in a row are from the same random
number generator. In essence the sequence looks like this


a1 a2 a3 b1 b2 c1 c2 c3 c4 a4 a5 b3 ...


where a, b and c are unknown random number generators. I am looking
for a way to test if two sets of random numbers might be from the same
random number generator with a certain level of confidence. For
example test(a1, b1) = 0.0 while test(a1,a2) = 0.9


My goal is to be able to group the sets if they are from the same
random number generator, such that I get a sequence like this


[a1 a2 a3] [b1 b2] [c1 c2 c3 c4] [a4 a5] [b3 ...


I am assuming that the random number generators stay the same (i.e.
the seed is never changed).



How to test if two sets of random numbers might be from the same random number generator? 
Some non-trivial information may be acquired, especially with not-so-great pseudo-random number generators, by applying standard compression algorithms (e.g., gzip) to chunks of output. If the ratio of compressed to not-compressed are significantly different, one infers that the sources are different, etc. Obvious benchmarks can be obtained by running compression on old email (with or without headers), the output of linear congruential generators or other bad pseudo-random number generators, etc.


