Equilibrium is not stillness — it is a standoff. At equilibrium every probability flow from state i to state j is matched, coin for coin, by the reverse flow: πi Pij = πj Pji. Down the center a Markov chain flows in, the engine computes its flows and stationary law, and the verdict comes out. The blue team builds the reversible chain and proves it stationary; the red team smuggles in a stationary chain that circulates — and the witness catches the lie.
source Detailed balance — L. Boltzmann, H-theorem (1872); named principle & reciprocity: L. Onsager, "Reciprocal Relations in Irreversible Processes. I," Phys. Rev. 37, 405 (1931) — doi:10.1103/PhysRev.37.405. AMBER: "detailed balance" has a diffuse origin (Boltzmann/Maxwell); the 1931 paper is the stable citation for the reciprocity it grounds. Rendered, not quoted. Natural units (k=1).
A Markov chain on states {0,1,2} has transition matrix P (row i sums to 1) and a stationary law π with πP = π. Detailed balance is the stronger claim that each pairwise current cancels:
πi Pij = πj Pji for all i, j
The blue team proves the implication live: if every pair balances, then summing over i gives Σi πiPij = Σi πjPji = πj. Below, (πP)j vs πj for the current chain:
| state j | (πP)j | πj | match |
|---|
Equilibrium as balanced flow. The condition πiPij = πjPji is not decoration — it is the exact target that samplers are built to hit.
the-metropolis chooses acceptance min(1, πj/πi) precisely so this equality holds for any π; the-gibbs-sampler resamples one coordinate from its exact conditional, also reversible. Each sphere is the next one's premise: detailed balance is the contract they satisfy.
The blue team's live check: independently rebuild a Metropolis chain (must balance) and a directed cycle (must be stationary yet not balance), and compare the engine's claimed reversibility against the measured flow asymmetry. If red tampers, claim and measurement disagree — and this badge turns red.
Feed the engine a chain. Two kinds:
Metropolis — pick a target π; the chain proposes a neighbour uniformly and accepts with min(1, πj/πi). Reversible by construction. Directed cycle — probability rate a circulates 0→1→2→0; stationary at uniform π, but the current only ever flows one way.
π normalizes to 1; each row of P sums to 1. That is the whole input — it goes into the panel below.
transition matrix P (Pij):
pairwise flows — detailed balance per edge:
| edge | πiPij | πjPji | =? |
|---|
Every number is computed on the spot from P and π — nothing is looked up.
What the machine proves, live: (1) detailed balance implies stationarity — a balanced chain satisfies πP = π exactly; (2) it is sufficient but not necessary — the directed cycle is stationary with zero balance; (3) the Metropolis rule min(1, πj/πi) is engineered to balance any π; (4) the Boltzmann law minimizes free energy, with F(p) = F(π) + T·KL(p‖π) exactly.
The blue team's witness (left) re-verifies these live; the red team (right) tries to make them lie.
So "stationary" and "reversible" are not the same claim. Detailed balance is the special, entropy-producing-zero case; the general stationarity condition is only the Kolmogorov loop criterion (products of rates around every cycle equal in both directions). Assuming balance where a current exists is a modelling error, not a theorem.
"Stationary means detailed balance." Cut. The directed 3-cycle is stationary at uniform π while every edge current flows one way — shown live in the panel.
"Detailed balance means nothing moves." Cut. Transitions never stop; each forward hop is merely matched by a reverse hop, so the net current is zero.
"Metropolis works because it's clever." Kept, corrected. It works because acceptance min(1, πj/πi) makes πiPij = min(πi,πj)·Q = πjPji identically — balance by algebra, not luck.
The red team's move: load the directed cycle and claim it is reversible — assert detailed balance where a current plainly circulates. The blue team's witness (window 7) is watching.
Force the "reversible" claim onto the one-way cycle; the witness recomputes the real flow asymmetry, finds it nonzero, and turns red. The verdict here goes false on purpose — and it is caught.