Signal control splits into three layers, and only one of them is combinatorially hard. Stage selection decides which movements share a green. Timing decides how many seconds each stage runs — continuous, and classical. Adaptation re-solves stage selection against live demand. This twin makes the first layer visible and leaves the second honestly classical.
At a junction, movements that would collide cannot show green together. Draw a node per movement and an edge for every pair that conflicts, and a legal stage is exactly an independent set — no two chosen nodes joined by an edge. Weight each node by its queue and waiting time, and the best stage right now is the maximum weighted independent set:
Fixing a cycle instead of a moment turns the same structure into graph colouring. Both are NP-hard, and both are Ising-formulable without any embedding tricks.
Most UK cities run SCOOT, and its name is its method: it tunes split (how the cycle divides between stages), cycle (a common cycle time across a region, so offsets stay coherent) and offset (when each junction starts its cycle, which is what builds a green wave). It reads detectors upstream of the stop line, builds a cyclic flow profile of how platoons arrive, and makes small incremental changes once per cycle rather than jumping. This twin implements all of that, so the baseline is the real incumbent rather than a straw man: switch to SCOOT-like and watch splits migrate toward the saturated stages, the common cycle stretch under load, and offsets drift into coordination.
What SCOOT does not optimise is the stage structure itself — which movements share a green. That was fixed by a designer, often decades ago, and it is precisely the combinatorial layer: a maximum weighted independent set on the conflict graph. The third mode re-solves it against live demand. Coupled across junctions for progression, it becomes one large, sparse, geometric problem — the regime where better solvers pay.
Vehicle routing written as a QUBO is dense: every stop couples to every other, and on annealing hardware the embedding overhead eats the benefit. Conflict graphs are the opposite — sparse, planar, local. On neutral-atom hardware the Rydberg blockade physically is an independent-set constraint, so maximum independent set maps to the machine with no embedding at all, and it is the one combinatorial problem where a super-linear speedup over simulated annealing has been reported on real hardware (QuEra/Harvard, 289 atoms, Nature 2023). Atom counts are on track for thousands by the end of the decade: real city-subnetwork scale.
It does show the real structure: signalised junctions taken from OpenStreetMap, turning movements split out the way a controller actually sees them, the conflict graph each junction poses, the legal stages that follow from it, and the live independent set holding green — the exact problem instance a quantum solver would be handed, sized and reported as you watch.
It does not show a scored contest between the three controllers. An earlier version of this demo did, and the comparison did not survive scrutiny: a saturated entry link silently refuses vehicles, so suppressed demand never reaches the average and delay per vehicle falls as the network jams. Rather than tune a microsimulation until it produced the ordering we wanted, we removed the claim. Quantifying the benefit needs a model calibrated against real traffic counts — which is work for the project, not a demo.
You can still switch controller and watch the behaviour differ: a fixed plan serves an empty side road on a timer while a queue builds on the main road; SCOOT-like migrates green time toward saturation and pulls offsets into a green wave; stage optimisation additionally changes which movements are grouped together in the first place.
An emergency vehicle is the sharpest test of a signal network: one vehicle, one route, and every second spent at a red is measurable. Real UTC systems offer a hurry call: the controller is told the vehicle is coming and forces a serving stage before it arrives. Here the route is planned on the live network (queues and expected reds priced in), the arrival at each signal is predicted, and a hurry call goes in twelve seconds ahead. The forced stage is still a legal independent set: the conflict graph is unchanged, one node is pinned on, and the junction chooses the best set that contains it. When the vehicle has passed, the junction rejoins the SCOOT clock through a normal all-red clearance.
The comparison shown is fair in a way a controller comparison is not: the same journey is scored from the same network state with the same random seed, once with hurry calls and once without. Nothing is refused at an entry and nothing drops out of the mean. The hard version of this problem is several emergency vehicles crossing the same network with conflicting demands: route choice and stage structure then have to be solved together.
The geometry follows AutoGen's world renderer, so what you see is drawn to real conventions rather than decoration: carriageway widths by road class with pavements and raised kerbs cut back at each junction mouth, junction plates, TSRGD markings (diagram 1008 broken centrelines at 2 m mark and 4 m gap, 1001 stop lines across the nearside half, a 1043 yellow box at signalised junctions), three-aspect heads at the nearside kerb facing each approach with a green filter arrow for the right turn, OSM building massing at building:levels × 4, and traffic driving on the left.
Quantum advantage for combinatorial optimisation is not proven, and may stay open. What this twin establishes is the formulation and the instance — sparse, geometric, and native to neutral-atom hardware — so that the day a quantum solver beats the classical one, the problem does not have to be rewritten to take advantage of it.