aidoesscience
aidoessciencefindings › Galton board
ValidatingOracle-validated

The bell curve's approach speed, read off a Galton board built from nothing but peg-counting

How fast does the bell curve arrive — and what controls the speed at which a pile of coin flips becomes Gaussian?

Measured by the lab
-1.49996
Known value
-1.5
Relative error
2.70e-5

Units: dimensionless (log–log convergence exponent of the symmetric board's pointwise gap; secondary knowns: −1 biased, −1/2 CDF, amplitudes φ(0)/2 = 0.1994711 and φ(0) = 0.3989423, Edgeworth prefactor M|1−2p|/(6pq) with M = 0.54763, Lévy exponent 1/α = 2/3)

▶ Run this simulationRead how it works

The finding

The bell curve's approach speed, read off a Galton board built from nothing but peg-counting: with the generator coding ONLY the two-point peg kernel convolved row by row (no binomial coefficients, no np/npq, no Gaussian), the distribution's own moments land on np and npq to 1e-13 and the pointwise gap to the Gaussian limit falls at slope −1.49996 vs the known −3/2 on a symmetric board — NOT the textbook-universal 1/√n — with its parameter-free amplitude n^{3/2}Δ = 0.199465 vs φ(0)/2 = 0.199471 (3e-5); bias the board and the vanished skewness term reappears, dropping the rate to slope −1.002 with amplitude pinned by the Edgeworth prefactor M|1−2p|/(6pq) to 0.2–0.6% across p = 0.2–0.4, while the CDF sup-gap falls at −0.500 at EVERY p (Esseen's skew-blind lattice term, amplitude φ(0) to 7e-5) — three different exponents from one counted distribution; the live 12-seed × 40000-ball board lands on np and √npq within 1.2σ/0.8σ and the &seed=7 display digits are bit-pinned + scrape-verified; the rival 'aggregation always makes a Gaussian' is falsified by swapping in an infinite-variance step: the same machinery flows to a Lévy width exponent 0.650 ≈ 1/α = 2/3 with a permanent 1.4e-2 fat tail while the board's own ±1 steps give 0.503 and zero tail — finite variance is the CLT's load-bearing hypothesis

Method

Generator = pure peg-counting: the exact bin distribution after n rows is built ONLY by convolving the single-peg two-point kernel row by row, P_{r+1}(k) = (1−p)·P_r(k) + p·P_r(k−1) — no binomial coefficients, no moment formulas, no Gaussian, no Edgeworth/Esseen theory in the generation. The Gaussian enters only as the measuring stick (the limit whose distance is the observable), with μ̂ and σ̂² summed from the counted distribution itself. Measure along the dyadic ladder n = 64…4096: (A) the counted moments against np/npq (emergence gate); (B) total-variation distance to the Gaussian (the CLT itself: monotone → 0); (C) the pointwise gap Δ_pmf(n) = max_k|P_n(k) − N(μ̂,σ̂²)(k)| and its last-rung log–log slope at p = ½ (headline) and p = 0.3; (D) the CDF sup-gap slope at both p; (E) the parameter-free amplitudes n^{3/2}Δ → φ(0)/2 (the He₄ Edgeworth term) and √n·Δcdf → φ(0) (Esseen's half-jump); (F) a bias sweep p ∈ {0.2, 0.3, 0.4} whose amplitude must track the Edgeworth prefactor M|1−2p|/(6pq) — a ×4.5 parameter-free swing; (G) the live board: 12 seeds × 40000 balls through the module's verbatim counted mulberry32 stream, pooled mean/std vs theory SE, per-seed histogram TV vs the counted distribution, and the exact held display strings at &seed=7 (module toFixed formatting), scrape-verified against the running app's DOM; (H) the rival: the same summing harness with an infinite-variance step P(±j) ∝ j^{−2.5} (α = 1.5), whose MAD width exponent and tail mass must land on the Lévy stable law, not the Gaussian. All known numbers (−3/2, −1, −1/2, φ(0)/2, φ(0), M, 2/3) loaded from the reference only to score.

The law it recovers

de Moivre–Laplace with its Edgeworth refinement: P(k) = (1/σ)φ(x)[1 + (γ₁/6)(x³−3x) + O(1/n)], γ₁ = (1−2p)/√(npq) — the skew term sets the 1/n biased rate and vanishes at p = ½, exposing the n^{−3/2} He₄ term; Esseen's lattice term floors the CDF sup-gap at φ(0)·h/(2σ) ∝ n^{−1/2} at every p

Measurements, controls & cross-checks

Exponents

Pmf symmetric
-1.49996
Pmf biased p03
-1.0019
Cdf symmetric
-0.49994
Cdf biased
-0.50018
Note
last dyadic rung 2048→4096 of exact counting — deterministic, no seed scatter; the regime split |−1.500 − (−1.002)| = 0.498 is the physics: skewness controls the approach speed

Amplitudes

Sym n32 delta
0.199465
Sym predicted phi0 over 2
0.199471
Esseen sqrtn dcdf
0.398913
Esseen predicted phi0
0.398942
Edgeworth sweep rel
P02
0.006
P03
0.0034
P04
0.0018
Note
every amplitude is parameter-free — nothing was fitted anywhere in the world

Emergent moments

Mean rel
2.3000e-13
Var rel
2.3000e-13
Note
μ̂ = Σk·P(k) and σ̂² from the counted distribution equal np and npq to floating-point accumulation error — the moment formulas are never coded

Clt shape

Tv monotone
true
Tv final n4096
2.8500e-5

Board mc

Pooled mean
7.99666
Np
8
Mean sigmas
1.2
Pooled std
2.00154
Sqrt npq
2
Std sigmas
0.8
Tv max seed
0.0083
Note
12 seeds × 40000 balls, theory SE computed in-script (SE_mean = √(npq/480000) = 2.9e-3)

Screen pin

Seed
7
Display
mean 7.999 · std 2.010 · max|Δ| 0.0061 · chart fit −1.49
Note
held 40000-ball display strings reproduced bit-exactly by the counted-stream emulation (gate K) AND scrape-verified against the live headless app's DOM

Rival

Levy exponent
0.65
Levy seeds
  • 0.649
  • 0.651
  • 0.639
  • 0.662
Expected 1 over alpha
0.6667
Board control exponent
0.5034
Levy tail gt 6mad
0.014
Board tail
0
Gaussian tail prediction
1.7000e-6
Note
truncation of the step law at j = 2000 pulls the measured exponent slightly below the ideal 2/3; it sits > 10 seed-SDs above the Gaussian ½ and the tail contrast is 4 orders of magnitude

Gates

32/32 pass in ~4 s (A–L science + M–Q honest-module certification); tamper (known_value → −1.25) ⇒ exit 1 with recovered slope unchanged (gates C and O both catch it — two scoring surfaces, one recovery)

Module certification

What
derisk gates M–Q EXECUTE the shipped GaltonModule.ts headless (sha256-pinned, TS stripped by 49 asserted pairs + 2 bulk rules with survivor scan, Babylon/DOM recorder stubs) at the screen-pin seed 7 and lockstep it against an independently-coded replica: 2400 engine calls at fl(1/120) with NO accumulator — 18 counted balls fire on EVERY call to the 40000 cap at pinned call 2222 — histogram/moments (doubles), 28-ball cosmetic state (f32/i32/u8) and the 448+272-float render buffers bit-exact at ALL calls; %6 HUD LIVE (400 writes, 372 distinct, template-bit-equal every write), chart FROZEN at its single init write BY DESIGN (the deterministic convergence experiment, sha-pinned); init convergence data Δ(4…256) + fitted slope −1.491706369946406 bit-exact vs a module-verbatim replica AND its LSQ slope re-derived from the ORACLE's convolution generator to 5.9e-11
Display priced
held display === gate-K emulation BIT-FOR-BIT (zero-gap: same mulberry32 stream, same op order); shown max|Δ| 0.00611 decomposes as deterministic binomial-vs-Gaussian stage 3.09e-3 at n=16 (51% of shown) + noise excess with seed 7 at z=+1.14 in the 12-seed scatter 0.00443±0.00148; chart fit −1.49 vs asymptotic −3/2: curvature +8.294e-3 band-gated [0.002, 0.02] (small-n Edgeworth, disclosed)
Answer free
the executed counted path (_dropOne Bernoulli sum + fixedUpdate drop loop) contains no Gaussian/binomial/moment machinery (census-pinned: _gauss ×5, _binomPmf ×2, _maxBinomGaussGap ×2, all in display/init-experiment paths); planted-violation self-test proves the scanner live
Tampers
surgical: GALTON_TAMPER=sha → only gate M; post-strip 1-ulp _p → the _p statics pin + the p-printing HUD/chart strings catch it while the counted histogram is BIT-IDENTICAL (flip probability ≈ 6.4e5·2⁻⁵² ≈ 1.4e-10) AND — new absorption phenomenon — the entire deterministic Δ(4…256) convergence dataset is bit-identical too (p·(1−p) rounds back to exactly 0.25 and the max-over-k bins round the residual perturbations away): a whole deterministic display observable can absorb a 1-ulp tamper, leaving the direct statics pin and printed-p strings as the only tripwires; manual known −1.5→−1.25 → exit 1, recovery unchanged

What it reduces to

The de Moivre–Laplace theorem (1733/1812) — the original central limit theorem — plus its modern rate refinements: the Edgeworth local expansion (Petrov 1975 Ch. VII; Feller Vol. 2 Ch. XVI) for the pointwise −3/2 (symmetric) vs −1 (biased) split and the parameter-free amplitudes φ(0)/2 and M|1−2p|/(6pq), Esseen (1945) for the lattice n^{−1/2} CDF floor with amplitude φ(0), and Gnedenko–Kolmogorov (1954) for the Lévy-stable control. Non-circular because the generator is a convolution of {1−p, p} and nothing else: binomial coefficients, np, npq, φ, the Edgeworth series and every target exponent live exclusively in the scorer — that the counted moments EQUAL np and npq is itself gated (1e-13), and the Gaussian yardstick takes its parameters from the counted distribution, not from formulas. The recovery is sharper than the usual 'histogram looks bell-shaped' demo by two orders: it measures the RATE of convergence, resolves that the rate switches regime when a single symmetry (skewness) is broken, and pins four parameter-free amplitudes to 3e-5–6e-3. The rival is falsified structurally, not statistically: infinite-variance steps in the identical harness scale at n^{2/3}, ten seed-SDs from √n, with a permanent 1.4e-2 tail where the Gaussian holds 1.7e-6 — the finite-variance hypothesis of the CLT demonstrated by breaking it. Limits: the exponents are recovered for the Bernoulli/lattice family this board physically realizes (plus the α = 1.5 heavy-tail control), not for arbitrary step laws; the biased-slope tolerance 0.01 reflects the O(n^{−1/2}) Edgeworth-ratio correction still visible at n = 4096 (measured offset 2–4e-3, disclosed); the Lévy exponent is measured on a truncated (j ≤ 2000) step law, whose known pull below 2/3 is disclosed and bracketed, and MAD is used as the width statistic because the even-integer lattice distorts IQR at these n (measured: IQR gives 0.37 for the ±1 control — a lattice artifact, not physics).

Module systematics

The on-screen GaltonModule displays the SAME observables the oracle gates: the live histogram's running mean/std against np/√npq, the max pointwise gap vs the Gaussian overlay, and the log-log convergence chart with its own fitted slope now printed ('fit −1.49' at p=½). Two disclosed screen-vs-oracle deltas: (1) the chart fits the small-n display range 4…256 where Edgeworth curvature makes the symmetric fit read −1.49 (−0.55% from the asymptotic −3/2) and a biased board read −1.05 (+5% from −1) — the oracle gates the 2048→4096 rung where the corrections are O(1/n); (2) the on-screen max|Δ| (0.0061 at seed 7) was previously described as noise-dominated — the certification MEASURED the split (7th overclaim caught by execution): the deterministic binomial-vs-Gaussian gap at the board's own n=16 is 3.09e-3, a full 51% of the shown value (the 1e-5 scale belongs to the n=4096 ladder rung, a different n), the remainder noise-borne with seed 7 at z=+1.14 in the 12-seed scatter 0.00443±0.00148. The counted histogram consumes mulberry32(seed) exclusively (cosmetic falling balls moved to a separate stream this run), so the held display digits at any seed are bit-reproducible headless — gate K pins seed 7 and a playwright scrape of the running app confirmed mean/std/max|Δ|/fit = 7.999/2.010/0.0061/−1.49 verbatim.

Confidence & reproduction

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

Sources

A. de Moivre, 'Approximatio ad Summam Terminorum Binomii (a+b)^n in Seriem expansi' (1733); P.-S. Laplace, 'Théorie analytique des probabilités' (1812); F. Galton, 'Natural Inheritance' (1889) — the quincunx. Rates: V. V. Petrov, 'Sums of Independent Random Variables' (1975) Ch. VII; W. Feller, 'An Introduction to Probability Theory and Its Applications' Vol. 2 Ch. XVI; C.-G. Esseen, 'Fourier analysis of distribution functions', Acta Math. 77 (1945). Control: B. V. Gnedenko & A. N. Kolmogorov, 'Limit Distributions for Sums of Independent Random Variables' (1954).

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.