RNG Tournament
Eight random number generators walk into a lottery. Each one generates 50 picks per draw against every real Powerball result on record. The best match counts as their score. Who wins?
Standings · 1,929 draws · 50 picks each
● variance detected| Rank | RNG | Matches | Share | Avg | Wins | Best | 3+ hits | Streak |
|---|---|---|---|---|---|---|---|---|
| 1 | Mulberry32 | 3,809 | 1.975 | 1028 | 4 | 187 | 8 | |
| 2 | LCG | 3,790 | 1.965 | 1024 | 4 | 197 | 10 | |
| 3 | MSWS | 3,780 | 1.960 | 1005 | 4 | 162 | 10 | |
| 4 | Math.random | 3,771 | 1.955 | 1015 | 4 | 179 | 13 | |
| 5 | Xorshift128 | 3,767 | 1.953 | 1007 | 4 | 182 | 13 | |
| 6 | SplitMix | 3,766 | 1.952 | 997 | 4 | 151 | 10 | |
| 7 | Fibonacci | 3,760 | 1.949 | 1005 | 4 | 174 | 12 | |
| 8 | PCG | 1,279 | 0.663 | 156 | 4 | 35 | 2 |
Match distribution · best of 50 per draw
| RNG | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| Mulberry32 | 0.0% | 12.4% | 77.9% | 9.5% | 0.2% | 0.0% |
| LCG | 0.0% | 14.0% | 75.7% | 9.9% | 0.3% | 0.0% |
| MSWS | 0.0% | 12.7% | 78.9% | 8.1% | 0.3% | 0.0% |
| Math.random | 0.0% | 13.9% | 76.8% | 9.1% | 0.2% | 0.0% |
| Xorshift128 | 0.0% | 14.3% | 76.3% | 9.3% | 0.1% | 0.0% |
| SplitMix | 0.0% | 12.8% | 79.4% | 7.6% | 0.2% | 0.0% |
| Fibonacci | 0.0% | 14.4% | 76.6% | 8.8% | 0.3% | 0.0% |
| PCG | 49.0% | 37.6% | 11.6% | 1.7% | 0.1% | 0.0% |
Theory vs reality
| k | P(single pick) | P(best = k) | Expected draws | Avg actual |
|---|---|---|---|---|
| 0 | 67.8427% | 0.0000% | 0.0 | 118.1 |
| 1 | 28.2678% | 13.7576% | 265.4 | 318.8 |
| 2 | 3.7073% | 77.5256% | 1495.5 | 1333.8 |
| 3 | 0.1794% | 8.5740% | 165.4 | 154.5 |
| 4 | 0.0028% | 0.1423% | 2.7 | 3.9 |
| 5 | 0.0000% | 0.0004% | 0.0 | 0.0 |
How it works
The competitors are eight classical RNGs: Math.random (whatever V8 uses), Mulberry32, Xorshift128, a Linear Congruential Generator, SplitMix, Middle Square Weyl Sequence, PCG, and a Fibonacci generator. Each one is reseeded per draw with a deterministic value so runs are reproducible.
For every historical draw, each RNG generates 50random 5-number picks. The best pick (most white balls matched) scores. We total matches across all draws and rank by total — and by how many times each RNG produced the tournament-high match for that specific draw (the “wins” column).
The theoretical expected value sits in the last table: the chance of any 50-pick batch hitting 3+ matches on a fair draw is about 0.2%. With 1,929 draws that's a handful per RNG — well within noise. If any RNG consistently outperformed by more than 2%, that'd be news. None do.