Evolutionary Game Theory
Strategies spread when they outperform the average, so stability means no mutant can invade, not that anyone chose optimally.
Why Does This Exist?
Classical game theory assumes hyper-rational players who compute equilibria. Animals, protocols, and learning agents do nothing of the sort: they copy what works. Evolutionary game theory (Maynard Smith, 1970s) replaces choice with reproduction: strategies with above-average payoffs grow their population share through the replicator equation, and an evolutionarily stable strategy (ESS) is a resident no rare mutant can invade.
For ML the payoff is twofold: population-based training and multi-agent learning literally run evolutionary dynamics, and ESS explains which equilibria persist under copying noise. Rational-play analysis stays on the Nash page; mediated play is correlated equilibrium.
The one idea you need first
A population mix lists strategy shares summing to one. Fitness is strategy 's expected payoff against the current mix; average fitness is . Shares update by outperforming the average, not by anyone solving anything.
Think of It Like This
Restaurants on one street
Three noodle shops share a street. Nobody computes equilibria; each owner copies the neighbor with the longest queue. A shop earning above the street average expands (second branch); one earning below shrinks. The street's mix drifts toward whatever currently wins.
A stable street is one where a new arrival with a different menu cannot get a foothold: against the resident mix, the mutant earns below average and fades. That is ESS without a single diner reading a game theory textbook.
How It Actually Works
The replicator equation for share :
In plain words: grow proportionally to your edge over the average. At with fitnesses and , average : the first grows at rate per capita, the second shrinks at .
An ESS satisfies: for all mutants (Nash against itself), and if tied, (wins the follow-up against the mutant). Every ESS is a Nash equilibrium; the reverse fails (some Nash points are invadable).
Worked example
Hawk-Dove with prize , fight cost . Payoffs: Hawk vs Hawk ; Hawk vs Dove ; Dove vs Hawk ; Dove vs Dove . Mixed ESS: play Hawk with . Check: Hawk fitness ; Dove fitness . Equal at , . A mutant all-Hawk population () earns per meeting against residents earning : below average, fades out. Numbers confirm uninvadability.
Code
def step(x: float, v: float = 2.0, c: float = 4.0, dt: float = 0.1) -> float: fh = 2 - 3 * x # hawk fitness at hawk share x fd = 1 - x # dove fitness avg = x * fh + (1 - x) * fd return round(x + dt * x * (fh - avg), 4) # replicator update
x = 0.8 # start hawk-heavyfor _ in range(5): x = step(x)print(x) # -> about 0.66 drifting back toward 0.5From the hawk share falls toward the ESS each step, since hawks meeting hawks pay the fight cost.
Watch Out For
Confusing ESS with the best outcome for the group
The hawk-dove ESS wastes of meetings on costly fights, yet no mutant escapes it. Stability rewards uninvadability, not welfare: group-optimal play (all Dove, payoff each) is invadable by one Hawk earning . Never sell ESS as efficiency without a separate welfare bound.
Assuming dynamics converge to ESS
Rock-paper-scissors replicator cycles forever around the equilibrium instead of settling. If your population shares orbit rather than rest, you have neutral cycles, not broken code. Check eigenvalues of the dynamics before declaring convergence.
The Quick Version
- Reproduction replaces rationality: above-average strategies grow share.
- The replicator equation multiplies each share by its edge over average fitness.
- ESS means no rare mutant earns above average against residents.
- Hawk-Dove with , stabilizes at Hawk share .
- Every ESS is Nash; some Nash points are invadable and not ESS.
- Stability is not welfare: the ESS can waste payoff no mutant can rescue.