Connect a handful of points with the least possible length of road. The obvious
answer — run the road along the shortest links between them — is not the shortest. Adding new
junctions, where exactly three roads meet at 120°, makes the whole
network shorter. A soap film can find those junctions by itself. Drag the pins below to explore a numerical model.
Computed network
…
Obvious network
—
Road saved
—
Separate junction angles
…
This numerical model can miss the shortest network. The angle readout omits merged vertices.
The target is the Euclidean Steiner tree:
the shortest network that joins a set of points, allowed to invent new junction points wherever
that helps. A film of soap stretched between two glass plates with pins between them can settle
into this shape. Surface tension drives it toward a minimum of area, which can be local rather
than absolute, and the area of a vertical film is its length on the plate times the gap.
At a fixed gap, least area means least length. The film tackles a geometry problem with no maths at all.
Why balanced three-way junctions are 120°
Look at any point where three sheets of film meet. Each sheet is pulling along itself with the
same tension — it is the same soap. Three equal pulls can only balance if they are spread evenly,
120° apart: any tighter and two of them would gang up and drag the
junction sideways until the angles opened back out. Writing the three equal unit pulls as vectors,
balance means they sum to zero, and three unit vectors sum to zero only when each pair sits at
cos⁻¹(−½) = 120°. This is Plateau's law, named for the blind physicist
Joseph Plateau who catalogued it from soap in 1873.1 The readout above shows angles at separate three-way junctions.
Numerical junctions need not balance exactly, and vertices can merge with each other away from
the pins, leaving four-way meetings. Vertices on near-zero edges are omitted from the angle readout.
The square that hides the surprise
Press Square. Four pins at the corners of a unit square. The obvious network — three
sides — has length 3. The next guess, an X of both diagonals
crossing in the middle, is 2√2 ≈ 2.828. But the soap film grows
two junctions, joined by a short bridge, every angle 120°, for a total of
1 + √3 ≈ 2.732 — shorter than either.2
Dip the film a few times and watch the bridge flip between horizontal and vertical: the square is
so symmetric it has two equally-best answers, and the film simply picks one as it forms.
That picking-one is called symmetry breaking. The model can also return a crossing; that output
is not evidence of a stable film.
The catch — and why it matters
It is tempting to think a soap film is a free supercomputer: dip it, read off the perfect answer.
It isn't, and the reason is deep. For a fixed wiring of the junctions, the total length is
a convex function, but its bottom need not be a single point. Convexity alone does not guarantee
that this numerical iteration reaches the bottom. And which wiring to use is a separate,
brutal question: the number of possible wirings explodes with the number of pins, and choosing
the best is NP-hard, the same wall that guards thousands of the hardest problems in computer
science.3 A real film can become trapped in a suboptimal configuration.
Press Dip again on a lopsided scatter and the model will sometimes return a longer network,
occasionally one longer than the obvious network it was supposed to beat. That length
comparison does not test physical stability. Scott Aaronson dipped parallel glass plates joined
by copper rods and found that real films do not always reach the optimum.4
The check — recomputed live, re-checked offline
The network you see is a numerical candidate. The solver enumerates every full
junction-wiring (1, 3, 15, 105 of them for 3–6 pins), relaxes each
numerically and keeps the shortest result. It can stop above even a fixed wiring's minimum.
Dip again instead relaxes one randomly chosen wiring. A separate implementation of the
same algorithm runs offline in research/the-shortest-network/verify.mjs,
with different tolerances: 21/21 checks on its examples.
Acute triangle: two point computations, our solver and a separate Weiszfeld iteration,
agree within 0.00001 in each coordinate. An independent geometric
length check uses the equilateral-triangle construction associated with Torricelli's 1640s
solution. The two total lengths both round to 6.60132, and the solver's
three angles round to 120.00°.
Equilateral triangle: Steiner tree √3·s vs spanning tree
2s — ratio √3/2 = 0.86603, the famous
(and, contrary to popular belief, still-unproven) worst case.5
Unit square: 1+√3 = 2.73205 < 2√2 = 2.82843 < 3, exactly two
tying optima (the two bridge directions), every other wiring strictly longer.
The numerical negative result, verified: a deliberately chosen wiring can return a network
longer than the minimum spanning tree. This compares computed lengths; it does not
establish a stable physical film. The browser counterexamples are checked separately in
research/the-shortest-network/verify-browser.mjs.
The claims record123 claims re-read against their sources, 14 October 2026
Written 2026-06-29. Claims re-read against their sources on 2026-10-14: 123 checked, 89 confirmed, 33 wrong, 0 unverifiable, 1 true when written and overtaken since (dated, not corrected). By the assay line (research/assay-line/queue-1014c/), Codex fixer directed by claude-assaying-boyle-1014; source record by Codex, checked by Codex.
This pass implemented all 34 directing-triage decisions for the layer read at f5e5f84f34, rereading the evidence governing each edit and reproducing the actual browser counterexamples before editing. It retains the checkers' 89 confirmed source readings with their identifiers and scope limits; the retained fixed-wiring and physical-model confirmations are narrowed where the same prose was corrected. The 33 findings counted as wrong comprise 20 WRONG and 13 MINOR items. MINOR corrections are recorded here only. The JSON-LD revision date uses the explicit dated-metadata exception. No claim of a certified numerical optimum or physical stability is made by the corrected check.
This record is long (123 claim lines and 34 findings), so it is not part of the page until you open it. It loads here now if your browser runs scripts; otherwise, or to keep it, read the whole record as plain text.
The assay office: what a record is, and every layer re-read so far.