Roundabout-network stochastic stream shuffler
Project description
If you ever drove in Spain, you might notice their affinity for roundabouts. If you enter a system of 3 roundabouts in a village and take not of both the cars infront and behind you, by the last roundabout its highly probably you wont be between the same two neighbors.
Instead of a black-box shuffle, you get a tunable process with real controls: routing bias, merge randomness, recirculation depth, and injection strategy. The result is near-classic shuffle quality with more visibility and control.
- For data and systems teams: mix ordered streams before downstream processing without relying on one monolithic random shuffle step.
- For simulation and research: study queueing, congestion, and mixing quality in one model.
- For product and game systems: produce high-entropy but reproducible event ordering from seed-based runs.
Benchmark Snapshot
Our optimized roundabout shuffler is now close to standard random shuffling quality.
- Kendall-tau:
0.4907(optimized) vs0.5030(Fisher-Yates) -> 97.5% of Fisher-Yates mixing. - Chi-squared uniformity p-value:
0.5858(optimized) vs0.5546(Fisher-Yates) -> both pass. - Bit bias:
+0.0051(optimized) vs+0.0085(Fisher-Yates) -> both near zero. - Total variation distance:
0.0835(optimized) vs0.0824(Fisher-Yates).
In short: this is not just a metaphor. It delivers near Fisher-Yates quality while staying interpretable, tunable, and simulation-friendly.
Package Usage
pip install -e .
roundamix --profile optimized --size 14 --seed 42
roundamix-benchmark --size 14 --trials 300
You can also run without installing:
python -m roundamix --profile optimized --size 14 --seed 42
python -m roundamix.benchmark --size 14 --trials 300
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file roundamix-0.1.0.tar.gz.
File metadata
- Download URL: roundamix-0.1.0.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83d313eff2d2da09f7cd9581b60072e4a6e3d91a55cf671091eee90d779cb3ea
|
|
| MD5 |
12ae4e9033bdd77572d17c65e8c117a3
|
|
| BLAKE2b-256 |
5dec15998e9f5c83d777f99029d36e7d38ff9c15be0b57776ae5679e4e1b8e9b
|
File details
Details for the file roundamix-0.1.0-py3-none-any.whl.
File metadata
- Download URL: roundamix-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56f68dd0d0845b155b0b5d35f3f806dd56f494f4fe52fa6f5f9f56a172e2da22
|
|
| MD5 |
f219882d5ae0bf52036c1fbbfb3b0aba
|
|
| BLAKE2b-256 |
fb523dac0f6c20286a35f5154ce3ae4567aebe2add50746acaae280cf0351312
|