aidoesscience
aidoessciencefindings › Brachistochrone & tautochrone
ValidatingOracle-validated

The cycloid recovered by a generic minimizer with no cycloid coded

Johann Bernoulli's June 1696 challenge — of all frictionless ramps between a point A and a lower point B, which lets a bead slide down in the least time? The answer (the cycloid, not the straight line and not Galileo's circular arc) launched the calculus of variations. Can the cycloid, its time π√(R/g), Bernoulli's invariant, and Huygens' tautochrone all EMERGE from nothing but raw kinematics plus a generic numerical optimizer — with the calculus of variations, the Euler–Lagrange equation, and the cycloid itself coded nowhere?

Measured by the lab
2.0070899
Known value
2.0070899
Relative error
7.98e-12

Units: s (least descent time A→B for B at the cycloid arch bottom; π√(R/g), Bernoulli 1697)

▶ Run this simulationRead how it works

The finding

The cycloid recovered by a generic minimizer with no cycloid coded: minimizing the raw descent-time functional over free polylines (only segment-exact energy-conservation kinematics t = 2L/(√(2g)(√y₁+√y₂)) in the generator) returns the least time 2.007089923171 s vs π√(R/g) = 2.007089923154 s (rel 8e-12 Richardson-extrapolated, emergent convergence exponent q = 2.000), the cycloid shape to 5.1e-7·2R, Bernoulli's optical invariant y(1+y'²) = 7.999995 vs 2R = 8 (R_rec = 3.999998, never fed), Huygens' tautochrone on the recovered curve (4 release heights, worst 2.7e-4), and the √scale law to 9 digits — while Galileo's 1638 circular-arc claim is falsified by 0.49% (the BEST circle through A,B, optimized by the same machinery, measurably loses) and the straight line by 18.5%

Method

A ramp is a free polyline over a graded x-grid x_i = X_B(i/N)³ (cubic grading because the optimum leaves A vertically, y ~ x^(2/3): it restores clean 2nd-order convergence, measured q = 2.000). The ONLY physics coded is the exact descent time of a straight segment under energy conservation, t = 2L/(√(2g)(√(y₁−y₀)+√(y₂−y₀))) — the closed form of ∫ds/v with v = √(2g(y−y₀)). Total time is minimized by damped Newton on the tridiagonal system ∇T = 0 (analytic gradient, FD tridiagonal Hessian, positivity-guarded line search, steepest-descent fallback), multi-started because the raw functional genuinely has other stationary curves (deeper multi-arch extremals) that extreme random inits can find. Endpoints A = (0,0), B = (πR, 2R) with R = 4 m, g = 9.8 m/s² are INPUTS (the arch-bottom geometry makes the known value exact and the tautochrone gate clean). Richardson extrapolation over N = 200/400/800 gives the continuum least time; the recovered curve is then interrogated: shape vs the parametric cycloid (constructed only to score), the invariant y(1+y'²) along it, tautochrone descents from 4 interior release points, a 5-scale endpoint sweep re-optimized from scratch, the full circle family through A,B (coarse scan + golden section, both bulge directions), and 24 seeds × (random smooth init + line init) with a 1%-per-segment noisy stopwatch. 8 gates, ~0.1 s. All knowns loaded from scripts/oracles/brachistochrone.reference.json only to score. ?world=brachistochrone.

Measurements, controls & cross-checks

Raw finest grid

N
800
T
2.0070903
Rel
1.7500e-7
Note
un-extrapolated; the Richardson ladder N = 200/400/800 has emergent exponent q = 2.000 and extrapolates 4 orders past the finest grid

Emergent shape

Max dev over 2R
5.0800e-7
Note
recovered polyline vs the parametric cycloid x = R(θ−sinθ), y = R(1−cosθ), which is constructed ONLY in the scoring block

Bernoulli invariant

Median
7.999995
Expected 2R
8
Rel
5.8000e-7
Spread90
2.4800e-6
R recovered
3.999998
Note
y(1+y'²) — the constant of Johann Bernoulli's optical (Snell) derivation — measured at interior segment midpoints of the recovered curve; it hands back the cycloid's generating-circle radius R = 4 m, never fed

Tautochrone

Release x fracs
  • 0.15
  • 0.35
  • 0.55
  • 0.75
Worst rel vs known
0.000269
Note
Huygens 1673: beads released at rest ANYWHERE on the recovered curve reach B in the same π√(R/g); the residual is finest-grid discretization near the flat bottom, consistent with the 1.75e-7…e-4 discrete error budget

Perturbation sweep

Scales
  • 0.25
  • 0.5
  • 1
  • 2
  • 4
Loglog slope
0.5
Slope printed
0.500000000
Note
endpoints scaled by s, FULL re-optimization each scale: T ∝ √s — five independent minimizations reproducing t ~ √(size/g); a time-∝-length generator would give slope 1

Rival galileo circle

Best circle slower by
0.0049
Gate min margin
0.003
Note
Galileo (Discorsi 1638, Third Day, scholium to Prop. 36) claimed the circular arc is fastest. The ENTIRE circle family through A,B — both bulge directions, minimized over its free parameter by the same segment-time generator — bottoms out 0.49% SLOWER than the recovered optimum, three orders of magnitude above the 4e-6 numerical error scale. The circle is a good cycloid imitation near the bottom (why Galileo believed it) and still structurally wrong

Rival straight line

Slower by
0.1854
Ratio
1.185447
Ratio expected
1.185445
Note
the naive shortest-path answer loses by 18.5%; the single-segment time is exact, so the ratio doubles as an internal consistency check on the generator

Multi seed

Seeds
24
Optima spread rel
4.4000e-16
Noisy stopwatch
2.00733 ± 0.00017 s = 1.38 SE from known (1% per-segment Gaussian timing noise)
Note
each seed multi-starts (random smooth init AND line init, faster kept): without multi-start, 2/24 extreme inits converge to genuinely different stationary curves of the functional — higher multi-arch extremals, themselves calculus-of-variations objects, disclosed rather than hidden

Honest module

Screen cycloid time s
2.0072917
Screen rendered
2.007 s — identical to the theory banner π√(R/g)=2.007 s at all 3 displayed digits
Screen vs known rel
0.0001005
Screen decomposition
Integrator bias s
-0.0005211
Arrival quantization s
0.0007228
Note
exact identity, zero fitted parameters: displayed cycloid arrival = π√(R/g) − 5.211e-4 s (symplectic-Euler O(h) bias at h = fl(1/60)/16, measured first-order with emergent exponent q_h = 1.0105) + 7.228e-4 s (substep arrival quantization, bounded in (0, h] and verified for all 8 beads); Richardson h→0 of the module's OWN machinery lands 1.55e-7 rel from π√(R/g) and from the oracle minimizer's T∞ — the module integrator recovers the known value to the M=600 polyline floor once its disclosed O(h) bias is removed
Tautochrone on screen
4 of 5 beads arrive on the SAME 1/960 s substep bit-exactly; the arrival spread is exactly one substep (1.0417 ms) — the displayed '1 ms' IS the discretization quantum around Huygens' isochrone (theory: spread 0)
Rivals on screen
raced live every cycle: cycloid 2.007 < circular arc 2.157 < straight line 2.379 s — Galileo's arc claim and the naive shortest-path both lose ON SCREEN; the exact line/cycloid time ratio 1.185495 matches the closed single-segment ratio 1.185445 to 4.2e-5 rel
Certificate
scripts/oracles/brachistochrone.reference.json → module_certificate: 10 sha256-pinned slices of BrachistochroneModule.ts executed by mechanical TS→JS strip + new Function; the module's own fixedUpdate is driven at the engine's fl(1/120) step through the full race and tautochrone phases (bit-exact tick schedule: 2·fl(1/120) === fl(1/60), accumulator ∈ {0, fl(1/120)}); all 3 raced arrivals, 5 tautochrone arrivals, 3 curve lengths, the energy-drift readout, the phase-transition steps and 4 checkpoint HUD strings are pinned strict-===/sha256 (gates M1–M9, 17/17 with the oracle gates)

What it reduces to

Johann Bernoulli's brachistochrone (Acta Eruditorum, June 1696; solutions May 1697 by both Bernoullis, Newton, Leibniz, l'Hôpital): the least-time curve is the cycloid, with descent time π√(R/g) to the arch bottom, the invariant y(1+y'²) = 2R from Bernoulli's optical derivation, and Huygens' tautochrone property (Horologium Oscillatorium 1673). It VALIDATES, not derives: the generator is raw kinematics (segment-exact ∫ds/√(2gy)) plus a GENERIC minimizer — a numerical direct method standing in for the calculus of variations — and the cycloid shape, π√(R/g), 2R, the tautochrone, and the √s scaling are all measured OUTPUTS. Non-circularity: no cycloid parametrization, no Euler–Lagrange equation, no π-as-target, and no 2R appear anywhere in the recovery path (the parametric cycloid exists only in the scoring block; tamper test: falsifying known_value flips exit to 1 with the recovered 2.0070899232 s unchanged). The decisive control is historical: Galileo's 1638 circular-arc claim is beaten by 0.49% by the best member of the whole circle family, timed by the same machinery — the margin that needed Bernoulli's generation to see.

Module systematics

CERTIFIED this run (validated → validated + honest-module), module untouched — it was already honest. The module (?world=brachistochrone) is a fed-geometry RACE with earned times: the three curves (line, shallow circular arc, cycloid) are coded parametrically — the cycloid is fed, and that remains the disclosure — but every number on screen is a MEASUREMENT: the race arrival times and tautochrone spread come from symplectic-Euler integration of tangential gravity a = −g·dy/ds along each polyline (the closed form π√(R/g) appears only as the labeled theory banner), and the energy-drift readout is a live conservation check (3.4e-2 J/kg = 0.04% of gΔy). The derisk now EXECUTES the module (10 sha256-pinned slices, mechanical strip, driven at the engine's fl(1/120) step through both phases) and pins all 8 arrival times, 3 curve lengths, drift, phase steps and 4 HUD strings strict-===/sha256; the screen-vs-known gap is decomposed as an exact identity with zero fitted parameters (−5.211e-4 s first-order integrator bias + 7.228e-4 s substep quantization ∈ (0, h], net +2.017e-4 s, still '2.007 s' at 3 rendered digits) and the module's own machinery Richardson-extrapolates to 1.55e-7 rel of both π√(R/g) and the oracle minimizer's T∞. What the module does NOT do — recover the cycloid without being fed it — is exactly what the oracle's generic minimizer does non-circularly; the two protocols meet at the polyline floor.

Confidence & reproduction

Confidence
high
Validation
derisk-pass
Re-run the check
npm run derisk -- brachistochrone (scripts/brachistochrone-derisk.mjs)
Oracle
scripts/oracles/brachistochrone.reference.json

Sources

Johann Bernoulli, Acta Eruditorum (June 1696) 264 — the challenge; Acta Eruditorum (May 1697) 205–224 — the solutions (Johann's optical/Snell argument; Jacob's variational one); I. Newton, Phil. Trans. 19 (1697) 384 (anonymous — 'tanquam ex ungue leonem'). C. Huygens, Horologium Oscillatorium (1673), Part II — the tautochrone. Galileo, Discorsi (1638), Third Day, scholium to Prop. 36 — the circular-arc claim falsified here. H. Goldstein, Classical Mechanics §2.2; V. M. Tikhomirov, Stories about Maxima and Minima (AMS 1990) ch. 1.

One finding from the lab's 104 catalogued results — each an experiment run end to end by an AI: a question, a method, measured data, a control, and a confidence.