Evaluate a policy exactly, then greedily improve it — and repeat. On a finite Markov decision process this reaches the optimal policy in a finite number of steps, because every improvement is monotone (values never fall) and there are only so many policies to try. Rendered, not quoted.
source Ronald A. Howard, Dynamic Programming and Markov Processes, Technology Press / Wiley, 1960 — archive.org/details/dynamicprogrammi0000howa
A tiny MDP: 3 states, 2 actions each, discount γ=0.9, deterministic transitions. Only state 2 under action 0 pays a reward (+5) and loops on itself.
Policy evaluation solves the linear Bellman equation exactly: Vπ = (I − γPπ)−1 Rπ by Gaussian elimination — a closed-form value, not an iterated approximation.
the-value-iteration's cousin. Both descend from the-bellman-equation.
Value iteration nudges the value function toward the fixed point one Bellman backup at a time. Policy iteration moves whole policies: evaluate exactly, then swap the entire policy for its greedy improvement. Fewer, larger steps — both land on the same V*.
Re-runs the policy-improvement theorem and the optimality equation against the live table below.
S = {0,1,2}, A = {0,1}, γ = 0.9
R(2,0)=+5 (all other R = 0)
0: a0→0, a1→1
1: a0→0, a1→2
2: a0→2, a1→1
Start policy π0 = [0, 0, 0] — the do-nothing default.
Each row: a policy and the exact values it earns. Improvement is greedy w.r.t. those values; the loop halts when the policy stops changing.
Proven optimum:
π* pending…
False. Convergence rides entirely on the policy-improvement theorem: greedy w.r.t. Vπ gives Q ≥ Vπ, hence Vπ' ≥ Vπ. Break that inequality and the guarantee is void — values fall and the loop can cycle forever.
Replace argmax with argmin in improvement — greedily pick the worst action. The inequality reverses (Q ≤ Vπ), values drop each step, and π* is never reached. The Witness (7) catches the first non-monotone step.