This is the 2D counterpart to the 3D GHZ-decoherence sim. Instead of plotting the closed-form precision curve directly, it derives it from scratch by simulation: every animation frame draws real random projective-measurement outcomes from the true quantum probability distributions and pools them into one continuously-running experiment, exactly as a real lab accumulates shots over an integration run.
Independent atoms: 1 shot = N Bernoulli draws, p = (1+sin φ)/2
GHZ probe: 1 shot = 1 collective parity draw, p = (1 + e^(−NΓt)·sin(Nφ))/2
Running estimate p̂ = (accumulated clicks) / (shots so far) ⇒ φ̂ = asin(...)/N
Standard error propagated analytically: SE(φ̂) = SE(p̂)/|dp/dφ|, Δφ_MC = SE(φ̂)·√shots
Per-shot Fisher information follows directly from error propagation on that binomial: F = (dp/dφ)²/[p(1−p)], giving F=N for independent atoms and F=N²e^(−2NΓt) for the GHZ probe — the same scaling the 3D sim's closed-form curves use, but here it emerges from the simulated click statistics rather than being assumed. (An earlier version of this estimator resampled many small R=20-shot experiments and took their spread — numerically verified to be biased by 20–75% once decoherence shrank the signal, since that estimator needs far more than 20 shots per experiment to reach the regime where its output tracks the Cramér–Rao bound. Pooling every shot into one running estimate fixes that.) Individual dephasing at rate Γ attacks the whole N-particle cat state N times faster than a single particle, so the exponential penalty in F eventually outweighs the N² Heisenberg gain, giving a minimum in Δφ(N) at N* = 1/(Γt).
- Top plot — the same Δφ vs N log-log curves as the 3D sim (SQL 1/√N, ideal Heisenberg 1/N, noisy e^(NΓt)/N), with a live white dot showing where the running Monte Carlo estimate actually landed.
- Bottom plot — the empirical Δφ_MC trace as shots accumulate, converging onto the theoretical dashed line — the direct experimental evidence behind the top curve. If decoherence has destroyed essentially all of the signal, the trace correctly fails to converge — that divergence is itself real: no realistic number of shots recovers a phase from a fully decohered probe.
- Jump to optimal N* — snaps N to the decoherence-limited sweet spot; the convergence trace should settle fastest and lowest right there.