Presets
Playback
Words (Zipf model)
Sound change (community)
Playback
Camera
Layers
Quality
Model check
The science
Words: the rich-get-richer (Simon / Yule) model
Every new token is either a brand-new word (probability alpha) or a copy of a uniformly chosen earlier token. Choosing an earlier token uniformly means a word is copied in proportion to how often it was already used. This preferential attachment gives a power law: counts follow f(r) ~ r^-(1 - alpha) in rank r (the Zipf exponent is 1 - alpha, near 1 for small alpha), the vocabulary grows linearly V = alpha n (Heaps' law in this simple form; real texts grow slower because real coinage slows down), and the expected count of a word that appeared at token t0 is prod (1 + (1 - alpha)/t), about (n/t0)^(1 - alpha). Check 1 tests V, check 2 compares the engine with that exact product, check 3 fits the Zipf slope (only asymptotically exact, so it has a finite-size tolerance).
One run is noisy: the very first words have the longest time to be copied, so the top word can hold a large share (press New random history to see other outcomes); the exponent is an average property, which is why checks 2 and 3 use many histories or a long run.
Sounds: neutral drift and prestige in a Moran model
A community of M speakers uses variant A or B of one sound (for example th versus f). Each step one speaker is replaced by a learner who copies a random speaker, choosing A with probability pA = p(1+b) / (p(1+b) + 1 - p) where p is the current share of A and b the prestige bias. This is the Moran process with relative fitness r = 1 + b. With b = 0 the variant takes over with probability exactly equal to its starting share (a martingale), purely by chance, and small communities drift to fixation much faster than large ones. With b not 0 the takeover probability is (1 - r^-i)/(1 - r^-M) with i the starting count. Innovation mu flips a learner's choice at random and keeps variants alive forever (the takeover tally is switched off then). Checks 4 and 5 compare thousands of simulated communities with these formulas.
Honest simplifications
Real vocabularies also depend on topic, grammar and borrowing; real sound change is gradual and phonetically conditioned and does not copy single speakers at random. Both models are minimal null models: they show what chance and copying alone produce, which is the baseline linguists compare real data against. Word forms on screen are generated from a syllable table and carry no meaning.
What you see in 3D
Each column is one of the twelve commonest words; its height is its count relative to the commonest word, so the Zipf drop-off is visible as the columns fall away. The pawns on the dais are the speakers (orange = variant A, blue = variant B); the pawn that was just replaced jumps. The numbers come from the same engine as the 2D page.