Here's an approach:
A random number generator can generate a series of random numbers. So, given a series of random numbers, couldn't you work backwards to find the seed (and perhaps a few other parameters) for the random number generator that would generate that series of random numbers?
Clearly, this is lossless.
Clearly, the job gets harder as the series of random numbers gets longer. Perhaps 100 is the practical limit for finding the right seed.
One nice feature: this is very asymmetric compression. Compression is very slow, but decompression would be very fast.
Only problem: I don't know if it is feasible to find the seed.
There is a free Java Applet for an RPN calculator at http://www.cohort.com/CoCalc.html.
Here's an approach: A random number generator can generate a series of random numbers. So, given a series of random numbers, couldn't you work backwards to find the seed (and perhaps a few other parameters) for the random number generator that would generate that series of random numbers? Clearly, this is lossless. Clearly, the job gets harder as the series of random numbers gets longer. Perhaps 100 is the practical limit for finding the right seed. One nice feature: this is very asymmetric compression. Compression is very slow, but decompression would be very fast. Only problem: I don't know if it is feasible to find the seed.