How to use (3 steps)
- Choose list mode (size or custom) and set trials.
- Click Compare to run both shuffles with the same settings.
- Review heatmaps & stats, then copy a settings-only URL or download a report.
See bias in shuffling
Shuffle bias comparison tool
Naive swapping uses a full-range random index at every step. Fisher–Yates uses a shrinking range, making permutations uniform (with uniform randomInt).
Duplicates are allowed. Analysis uses line indices (1..n) as identifiers.
This is a common anti-pattern in JavaScript. Results depend on your engine and are typically biased.
Summary
Tip: The chi-square df here is a heuristic (constraints exist). Use it for intuition, not as a formal proof.
Charts
Legend: naive=red, FY=green, sort=purple (if enabled).
The curve is a chi-square density with df = n² - 1 (heuristic). Vertical lines show your observed χ².
This chart aggregates cells by |i - j| (distance from the diagonal). Values above 1 indicate “too close to the original position”.
Results
Each side shows a position matrix (item i → position j) aggregated over trials.