Mathematical theorems define limits at infinity. These simulations let you touch parameters, disrupt initial states, and watch convergence emerge live in your browser.
Interactive models with real-time numeric parameter sweeps.
Sample means converge to a normal distribution regardless of whether the source population is uniform, exponential, or bimodal.
X̄ₙ ~ N(μ, σ²/n)
Limit Dist.
Watch multi-path sample averages stabilize toward the true theoretical expectation as trial counts grow from 10 to 5,000.
P(lim X̄ₙ = μ) = 1
Strong Law
Interactive catalog of continuous & discrete distributions: Normal, Student's t, Binomial, Poisson, Chi-Square, and Exponential.
P(a ≤ X ≤ b) = ∫ f(x) dx
Density
Watch repeated random sampling in action: see how 95% confidence intervals trap the fixed population mean μ in long-run trials.
X̄ ± z* · (σ / √n)
Margin of Error
Interactive rejection regions, critical values, p-value tail integration, and trade-offs between Type I/II errors and statistical power.
p ≤ α ⇔ |z| ≥ z_crit
Decision Rule
Simulate online product experiments: conversion rates, Welch's t-tests, difference confidence intervals, and the sequential peeking hazard.
(p̂_B - p̂_A) ± z* · SE_diff
Lift CI
Interactively drag an outlier and visualize how least-squares error minimization rotates the line of best fit and blows up MSE.
β₁ = Cov(X,Y) / Var(X)
Closed Form
Watch Lloyd's coordinate-descent algorithm iteratively partition 2D points into Voronoi clusters and converge to local WCSS minima.
J = Σ ||x - μ_j||²
Inertia (WCSS)
Sweep neighborhood size K across 50×50 grid predictions to explore the bias-variance tradeoff: overfitting vs underfitting.
P(Y=c|x) = (1/K) Σ I(y_i=c)
Majority Vote
Engineered for clarity, deterministic math, and direct browser execution.
Random variates use exact mathematical routines: Box-Muller transforms for Gaussian normals, Knuth's algorithm for Poisson processes, and Jöhnk's rejection method for Beta distributions.
Zero backend servers, zero telemetry, and zero rate limits. Computations execute in your browser's JavaScript engine at 60 frames per second using Plotly.js and KaTeX.
Every experiment is an isolated ES module exporting an init() function. Contributions require only standard HTML and vanilla JavaScript—no build step or bundler needed.