Does the chaos game — start anywhere, repeatedly jump halfway toward a uniformly-random vertex of a triangle — paint a genuine fractal whose box-counting dimension is EXACTLY the Sierpinski gasket's log 3 / log 2, and is that dimension a property of the map system (count and contraction of the maps) rather than of the randomness that drives the orbit?
Units: dimensionless (box-counting dimension of the Sierpinski gasket, exactly log 3 / log 2; secondary knowns: filled square D = 2 exact, similarity law D(r) = log 3 / log(1/r), uniform cloud D = 2)
▶ Run this simulationRead how it works
The coin flip that paints a deterministic fractal: the chaos game's bare rule — jump halfway to a random triangle vertex — recovers the Sierpinski gasket's dimension EXACTLY: the dyadic box census obeys the integer law N(k+1)/N(k) === 3 at 12 consecutive levels (N(k) = 4·3^(k-1) through a 67M-cell grid), so the recovered D = log2(3) = 1.5849625007211563 with ZERO error — no dimension formula, no 3^k, no 'Sierpinski' anywhere in the generation or the counting; twelve independent random orbits produce BITWISE IDENTICAL occupancy grids (Elton's theorem made visible: the randomness paints one deterministic set, seed variance exactly 0) and doubling the orbit changes not one box (the holes are permanent); the dimension belongs to the MAP SYSTEM, not the chance: jump ratio r moves D along the similarity law log3/log(1/r) (exactly 1 at r=1/3; 4/4 within the disclosed 0.5–1.6% finite-depth lattice bias) and a FOURTH vertex at r=1/2 tiles the plane — the same coin flips then paint a filled square, N(k) = 4^k exactly, D = 2; rival 'it's just a noisy triangle' dead: uniform random points in the SAME triangle through the SAME census read D = 1.9935 → 2, 0.41 above the gasket; module mirror exact — the on-screen fit window's counts are integer-perfect, so the banner's D meas 1.585 IS log2(3) to machine precision, scrape-verified live for 3 seeds
Generator = FractalModule's verbatim rule: mulberry32(seed) PRNG, vertices (0,0),(1,0),(0.5,√3/2), start (0.5,H3/3), each step x←(x+vx[v])·0.5, y←(y+vy[v])·0.5 for a uniformly-random v∈{0,1,2}; occupancy marked on a 2^K×2^K dyadic grid over the normalized coords (x, y/H3). Estimator = an integer census of occupied boxes N(2^-k) at every level k by 2×2 coarsening; D = endpoint slope log2(N(K)/N(1))/(K−1). Nothing about log2(3), 3^k, self-similarity, or any dimension formula appears in the generation or the counting — the known value is loaded from the reference ONLY to score (tamper-proven). Gates: (A) HEADLINE — 60M points, K=12: the integer ratio N(k+1)/N(k) === 3 must hold EXACTLY at all 11 consecutive levels and the recovered slope must equal log2(3) to <1e-12; (B) DEPTH — 120M points, K=13: N(13) === 3·N(12) exactly on a 67M-cell grid; (C) ELTON — 12 independent random orbits (8M points, K=11) must produce bitwise-identical occupancy grids: zero differing cells, hence exactly zero seed variance in D; (D) SATURATION — doubling the orbit 4M→8M changes not one box at any level (the census is the attractor's, not the sample's); (E) PERTURBATION — generalized jump ratio r∈{1/3,0.40,0.45,0.50}: D tracks the similarity law log3/log(1/r) (exact at the dyadic r=1/2; 2% tolerance covering the measured +0.5–1.6% finite-depth log-periodic lattice bias at the off-dyadic ratios); (F) SQUARE CONTROL — four vertices at r=1/2 tile the square: N(k) === 4^k exactly for k=1..10 and D = 2 to 1e-12; (G) RIVAL — uniform random points in the SAME triangle through the IDENTICAL census must read D ≥ 1.95, separated from the gasket by >0.35; (H) MODULE MIRROR — verbatim on-screen pipeline (80k points, warm-up 20, K=8, least-squares fit over k=2..6) must return D === log2(3) to <1e-12 with banner string 'D meas 1.585' for seeds 7,1,2,3,4,5, plus a live playwright scrape of ?world=fractal&seed=7/1/5 confirming the rendered banner.
Hutchinson (1981): an IFS of N similarity maps of ratio r under the open set condition has a unique attractor with Hausdorff = box dimension log N / log(1/r); the chaos game's three half-scale maps give the Sierpinski gasket, D = log 3 / log 2. Elton (1987): the single random orbit fills the attractor with probability 1 — the picture is deterministic, only the visiting order is random. In this normalization the gasket's dyadic box count is the exact integer law N(2^-k) = 4·3^(k-1): the census TRIPLES per halving, and log2(3) IS the dimension.
| R | D | Theory | Rel |
|---|---|---|---|
| 0.3333 | 1.0052 | 1 | 0.0052 |
| 0.4 | 1.2097 | 1.199 | 0.0089 |
| 0.45 | 1.3979 | 1.3758 | 0.0161 |
| 0.5 | 1.585 | 1.585 | 0 |
15/15 pass in 3.0 s (9 physics gates first-run 2026-07-25, +I scoring self-test and +5 honest-module cert gates J–N first-run 2026-07-26, prototype-first, zero fix attempts); fully deterministic (saturated censuses are seed-invariant, so first-green = always-green); tamper (known_value → 1.61) ⇒ A/H/N FAIL, exit 1, recovered D byte-unchanged at 1.5849625007211563, restored by hand
The box-counting dimension of the Sierpinski gasket, exactly log 3 / log 2 (Sierpinski 1915; Hutchinson, Indiana Univ. Math. J. 30, 713 (1981) — similarity dimension under the open set condition; Falconer, Fractal Geometry ch. 9), reached by Barnsley's chaos game (Barnsley & Demko, Proc. R. Soc. A 399, 243 (1985)) whose random orbit fills the attractor with probability 1 by Elton's ergodic theorem (Ergodic Theory Dynam. Systems 7, 481 (1987)). Non-circular because the generator is a coin flip and a midpoint — no 3^k, no log ratio, no dimension expression anywhere in generation or counting; the recovery is an integer census whose per-level ratio comes out EXACTLY 3 (proven by the tamper test: the recovered 1.5849625007211563 is byte-identical under a corrupted known_value while the scoring gates flip). The recovery is sharper than 'the picture looks like a gasket' in four ways: (1) it is EXACT — an integer law at 12 consecutive dyadic levels, zero statistical width, the same epistemic class as the lab's CA censuses; (2) it exhibits the DETERMINISM inside the randomness — twelve independent orbits paint bitwise-identical sets, which no sampling-artifact story permits; (3) it isolates the CAUSE by perturbation — the dimension moves along the similarity law log3/log(1/r) when the contraction is varied and jumps to an exactly-filled 4^k square when a fourth map tiles the plane, so the value belongs to the map system, not the randomness; (4) the rival is falsified with the identical ruler — a uniform cloud in the same triangle reads 1.9935 → 2. Relation to the existing ECA finding (rule-90's gasket, D = log2(3) by cell census): same limiting SET, different theorem — ECA validates a deterministic cellular automaton's Pascal-mod-2 self-similarity; this validates the IFS/chaos-game route (Hutchinson attractor uniqueness + Elton equidistribution): a random dynamical system converging to that set and measured by a dyadic BOX census rather than a live-cell count. Limits: the exact integer law is specific to this normalization (equilateral gasket mapped to the unit square with dyadic boxes); off-dyadic contractions show the generic finite-depth log-periodic box-counting bias (+0.5–1.6% at K=13), disclosed and gated at 2%.
HONEST-MODULE CERTIFIED (2026-07-26, gates J–N execute the shipped file — see result.module_certificate). This is the rare case where the on-screen number is EXACT: the module's box-count fit window (k=2..6 at 80,000 points, finest grid 2^8) sits entirely inside the saturated regime where the census is integer-perfect (N(k) = 4·3^(k-1)), and log2 of an exact geometric sequence is exactly linear in k, so the module's least-squares slope equals log2(3) up to the fit's own float summation — the executed value is 1.5849625007211556, 2 ulp below Math.log2(3), identical for all 6 certified seeds, pinned in the reference as an instrument constant rather than rounded away (|executed − known| = 4.4e-16 ≪ the displayed 3 digits). Gate H replicates the pipeline verbatim as a hand mirror (D === log2(3) to <1e-12, banner 'D meas 1.585', live playwright scrape 3/3 seeds on 2026-07-25), and gates J–N now EXECUTE the sha-pinned shipped source itself: init buffer/census/fit/banner/chart bit- and byte-equal to an independent replica, a 480-call fl(1/120) lockstep of the reveal ramp (pure time-sum regime, no generation accumulator), zero DOM mutations after init (the display is a frozen init measurement), and the executed _boxCount bit-equal to the oracle census for 6 seeds. One disclosed non-issue (unchanged): the chart also shows N(7), N(8); at 80k points N(8) is marginally under-saturated (seed-7 8737 vs the gasket's 8748) but OUTSIDE the fit window — it never touches the displayed D, and its per-seed values are now pinned in the reference. No module code was changed this run (oracle + derisk + finding + fragment only).
chaos-game point cloud with a box-counting log–log chart: banner 'D meas 1.585 / D exact 1.585 (log3/log2)' — certified by executing the shipped module (gates J–N): the measured D is a frozen-init measurement of the executed census (2 ulp instrument constant pinned), the chart SVG is byte-equal to the replica, and the only live output is the 3.2-s reveal counter, bit-exact in lockstep; D_EXACT proven display-only
npm run derisk -- fractal (scripts/fractal-derisk.mjs)scripts/oracles/fractal.reference.jsonW. Sierpinski, C. R. Acad. Sci. Paris 160, 302 (1915) — the gasket. J. E. Hutchinson, 'Fractals and self similarity', Indiana Univ. Math. J. 30, 713-747 (1981) — IFS attractor uniqueness and the similarity dimension. M. F. Barnsley & S. Demko, Proc. R. Soc. Lond. A 399, 243-275 (1985); M. F. Barnsley, 'Fractals Everywhere' (1988), ch. IX — the chaos game. J. H. Elton, 'An ergodic theorem for iterated maps', Ergodic Theory Dynam. Systems 7, 481-488 (1987) — the random orbit equidistributes on the attractor. K. Falconer, 'Fractal Geometry' (Wiley, 3rd ed. 2014), ch. 3 & 9 — box-counting dimension and its equality with the similarity dimension.