The steady-states of splitter networks
Basile Couëtoux, Bastien Gastaldi, Guyslain Naves
TL;DR
The paper formalizes splitter networks as a versatile model of resource flow in belt-like systems, defines steady-states under capacity and fairness constraints, and develops two polynomial-time algorithms to compute them. It then designs several load-balancing networks (balancers) including Beneš-based, universal, and distributed constructions, and proves near-optimal size lower bounds for splitters via a connection to Knuth–Yao sampling. The work also provides a capacity-simulation toolkit with $G_{p/q}$ gadgets for rational capacities, analyzes the structure of steady-states, and extends the model to priority-driven variants with complexity results ranging from polynomial-time to NP-hard. Collectively, these results illuminate the trade-offs between throughput maximization, fairness, and network size, and establish a rich link between splitter networks, classical flow theory, Markov chains, and discrete sampling theory.
Abstract
We introduce splitter networks, which abstract the behavior of conveyor belts found in the video game Factorio. Based on this definition, we show how to compute the steady-state of a splitter network. Then, leveraging insights from the players community, we provide multiple designs of splitter networks capable of load-balancing among several conveyor belts, and prove that any load-balancing network on $n$ belts must have $Ω(n \log n)$ nodes. Incidentally, we establish connections between splitter networks and various concepts including flow algorithms, flows with equality constraints, Markov chains and the Knuth-Yao theorem about sampling over rational distributions using a fair coin.
