Three coupled rings compute a multiplexer in one settle when inputs and readout are continuous
The previous finding located the noise problem in the operations: kicks that force phase slips are jumps between basins. So here nothing slips. Each input bit switches on a dipole drive — a frequency offset of +U at one oscillator and −U at another, often on two different rings — and every input pattern must settle locked with all three winding numbers at zero. The rings stay in one basin; only the shape of the locked state changes.
The readout is O's complex order parameter, measured against the array's own collective phase, and the decision is one straight line fitted on the eight noiseless points. With one equilibrium the result cannot depend on the order the inputs arrived, so this is a combinational question: can one settle compute the late-selector multiplexer, which no single threshold on the inputs can?
Search
Of 28,672 random drive programs, about a third of those that stayed in the basin computed a multiplexer. Hill-climbing raised the best decision margin from 0.097 to 0.179 (the phasor's magnitude is at most 1). The best program also yields 50 of the 256 three-input functions with a margin above 0.02, one per choice of decision line.
Noise
Decision line fixed from the noiseless points, never refitted.
| noise | accuracy (512 runs) | reference build (128 runs) |
|---|---|---|
| phase kicks σ = 0.15 / 0.30 / 0.60 | 100 / 100 / 100% | 100 / 100 / 100% |
| phase kicks σ = 1.0 | 98.8% | 99.2% |
| frequency disorder on every oscillator, s = 0.01 / 0.02 / 0.05 | 99.8 / 99.4 / 98.6% | 100 / 99.2 / 96.1% |
| drive-strength jitter 5% / 10% / 20% | 99.2 / 97.9 / 91.0% | 99.2 / 99.2 / 93.8% |
Up to σ = 0.6 the settle returns to exactly the same fixed point: the displacement of the readout is zero to four decimals. Reading against the lab frame instead of the array's collective phase fails under frequency disorder (58% at s = 0.01, measured on an earlier program of this search), because the whole array drifts slowly as one; the collective phase is the frame that drifts with it.
Continuous noise during the settle. Adding a random force √(2D)·dW to every oscillator throughout a 900-unit settle — the time the noiseless run needs to lock:
| D | slips (of 512) | accuracy, single read | accuracy, read averaged over 600 time units |
|---|---|---|---|
| 0.0003 | 0 | 100% | 100% |
| 0.001 | 1 | 99.6% | 100% |
| 0.01 | 13 | 94.5% | 97.9% |
| 0.03 | 41 | 93.6% | 98.4% |
| 0.1 | 106 | 76.8% | 80.3% |
D = 0.01 amounts to a phase kick of about σ = 0.14 every time unit for the whole settle. The reference build agrees (D = 0.01: 93.0% single read, 96.9% averaged).
For comparison, the same σ = 0.15 phase noise
| machine | late-selector multiplexer | accuracy at σ = 0.15 |
|---|---|---|
| one ring, winding readout | not robust | 81–85% |
| three coupled rings, slip operations, winding readout | 4 of 8 | about 80% |
| three coupled rings, slip operations, phasor readout | 8 of 8 | 71–84% |
| three coupled rings, frequency drives, phasor readout | 8 of 8 | 100% |
What it does not show
There is no memory here: the inputs persist as drives, so a stateful machine needs its state from somewhere else. The decision line chooses which function is read. The reference phase is the array's own; a physical device needs an equivalent. The remaining errors are genuine slips, because the strongest drive sits near the slip edge.
Measured on an Intel Core 3 100U laptop CPU (8 threads, no GPU), gcc 15.3, -O3, with the noiseless points confirmed identical in the reference build. Instrument: fork_macro.c; raw outputs in research/forks/a2c.
