Learn
Lesson · Duality and Sensitivity Analysis · Duality as the subject

Zero-Sum Games and the Minimax Theorem

The row player's problem — choose a mixture maximising the worst case — is a linear programme, the column player's is precisely its dual, and so strong duality is the minimax theorem: the best guaranteed payoff equals the least enforceable loss, and the common optimum is the value of the game. A pure strategy is exploitable and a mixture is not, and the gap between the best pure guarantee and the value is exactly what mixing buys.

row player max v s.t. Σᵢ pᵢAᵢⱼ ≥ v for every column j, Σ p = 1, p ≥ 0 column player min w s.t. Σⱼ Aᵢⱼqⱼ ≤ w for every row i, Σ q = 1, q ≥ 0 the second is the DUAL of the first, so strong duality gives max min = min max = v v is a FREE variable in both: a game can be worth a negative amount the 3 × 3 cycle: v = 0, p = q = (1/3, 1/3, 1/3) (3 −1 / −2 1): v = 1/7, p = (3/7, 4/7), q = (2/7, 5/7) best pure guarantee −1, least pure enforcement 1, and v = 1/7 between them
Two programmes that are each other's dual, and one number they share

Core ideas

What this lesson establishes

One hard idea: the two players are solving the same linear programme from opposite sides. Everything the minimax theorem says is what strong duality already said.

1

Maximising a worst case is a linear programme

The worst case over the opponent's choices is a minimum of linear functions, which is not linear — so introduce a variable v for it and require v to be at most the expected payoff against every single column. Maximising v then maximises the worst case, and every constraint is linear. That substitution is the entire modelling step.

2

The column player's programme is the dual, not a second model

Take the dual of the row player's programme and out comes: minimise w subject to the expected payoff against every row being at most w, with the mixture weights summing to one. That is the column player's problem, with the dual variables of the column constraints turning out to be the column player's mixture. No second solver is involved.

3

The value is a guarantee, and mixing is what buys it

v is what the row player can promise against any opponent at all, including one who sees the mixture. Against the optimal mixture no pure row does better than v and some do worse; what a pure row cannot do is promise v, because its own worst case is lower. On the two-by-two game the best pure promise is −1 and the value is 1/7.

The material

A game as a pair of dual programmes

The substitution that makes a worst case linear, the dual that is the other player, and what a mixture buys that no single choice can.

Definition · Zero-sum game, mixed strategy, value

A zero-sum game is a payoff matrix A: the row player chooses a row, the column player a column, and the row player receives Aᵢⱼ while the column player pays it. A mixed strategy is a probability distribution over one's own choices.

The value of the game is the largest expected payoff the row player can guarantee with a mixture, whatever the column player does — and, as the theorem below says, also the smallest expected payoff the column player can be held to.

Maximising a worst case looks nonlinear, and the fix is one variable. Let v stand for the guaranteed payoff. Requiring v to be no more than the expected payoff against each individual column is the same as requiring it to be no more than the minimum, and every one of those requirements is linear in the mixture. Then maximise v.

payoffs A = ( 3 −1 ) rows are the row player's choices ( −2 1 ) ROW PLAYER max v against column 1: 3p1 − 2p2 ≥ v against column 2: −p1 + p2 ≥ v mixture: p1 + p2 = 1 p1, p2 ≥ 0 and v FREE as the lab writes it, with v moved to the left: −3p1 + 2p2 + v ≤ 0 p1 − p2 + v ≤ 0 p1 + p2 = 1 ITS DUAL min y3 −3y1 + y2 + y3 ≥ 0 2y1 − y2 + y3 ≥ 0 y1 + y2 = 1 y1, y2 ≥ 0 and y3 FREE which is the COLUMN player's problem: y1, y2 is the column mixture q and y3 is the value it can hold the row player to solved v = 1/7 p = (3/7, 4/7) q = (2/7, 5/7)
Theorem · The minimax theorem is strong duality

For every payoff matrix, the row player's programme and the column player's programme are duals of each other, both are feasible and bounded, and so their optima are equal. That common number v satisfies

v = max over mixtures p of min over columns j of the expected payoff = min over mixtures q of max over rows i of the expected payoff,

and it is the value of the game. Optimal mixtures exist for both players, and there is nothing left to prove: the theorem is strong duality with different nouns.

Two details of the programmes are worth naming, because they are where a careless formulation goes wrong. v must be declared free: a game can be worth a negative amount, and restricting v to be non-negative silently changes the problem. And the mixture constraint is an equality, which is what makes its dual variable free in turn — the value on the other side.

Example · A game that goes round in a circle

The three-by-three matrix with rows (0, −1, 1), (1, 0, −1) and (−1, 1, 0) is the familiar cycle: each choice beats one other and loses to one other. Its value is 0 and both optimal mixtures are (1/3, 1/3, 1/3).

Against q = (1/3, 1/3, 1/3) every pure row earns exactly 0, so no single choice is punished by playing it once. What a single choice cannot do is promise anything: each row's own worst case is −1, against an opponent who knows which row it is.

What mixing actually buys

Example · The two-by-two game, with both guarantees written out

On (3, −1 / −2, 1) the value is 1/7 with p = (3/7, 4/7) and q = (2/7, 5/7). Against q, row 1 earns 3(2/7) − 1(5/7) = 1/7 and row 2 earns −2(2/7) + 1(5/7) = 1/7 — both exactly the value.

Now the guarantees. Row 1 played alone has worst case min(3, −1) = −1; row 2 alone has min(−2, 1) = −2. So the best a pure strategy can promise is −1. The mixture promises 1/7, and the difference, 8/7, is what mixing bought. On the other side, the column player's best pure enforcement is min(max(3, −2), max(−1, 1)) = 1, and the mixture brings that down to 1/7 as well. The value sits strictly between the two pure numbers, which is exactly the case in which mixing is necessary.

So the honest version of the claim is not that pure strategies do worse against the optimal mixture. Against q, every row in the support of p does exactly as well as v — that is complementary slackness, and it is forced. What pure strategies cannot do is guarantee v against an opponent who responds, and the lab's hint says exactly that: not one pure choice does better than the value, and most do worse.

When a pure strategy really is enough

Example · A game with a saddle point

On (4, 2 / 3, 1) the value is 2, with p = (1, 0) and q = (0, 1): both optimal strategies are pure. The best pure guarantee is max(min(4, 2), min(3, 1)) = 2 and the least pure enforcement is min(max(4, 3), max(2, 1)) = 2, and they agree.

That agreement is what a saddle point is, and when it happens mixing buys nothing at all. The lab reports this case as such, which matters: a reader shown only games that need mixing will over-generalise in the other direction.

Complementary slackness reads across to the game with no translation. A row played with positive probability forces the column player's constraint for that row to be tight — that row earns exactly v against q. A column played with positive probability forces the row player's constraint for that column to be tight — that column holds p to exactly v. And a row that earns strictly less than v against q must be played with probability zero. Those three sentences are the whole of how a claimed pair of mixtures is verified, and they are the previous certification lesson applied to different nouns.

A last note on scope, because a similarly named lesson exists elsewhere in this library. Dynamic Programming and Optimal Substructure, on the Algorithms path, has a lesson on games; it is about combinatorial games of perfect information and the classification of positions as winning or losing. It shares no object with this one — no payoff matrix, no mixture, no value — and neither cites the other for a result.

Interactive

The minimax theorem is strong duality

both programmes solved exactly, and every single choice tested against the mixture

A game is a pair of dual programmesthe row player maximises the worst case, the column player minimises the best, and they meet
the row player's mixturethe column player's mixturethe value of the gamea pure choice doing worse

Method

Solving a game as a pair of programmes

One substitution, one dual, one solve, and then a verification that needs no solving at all.

1

Write the row player's programme with a variable for the guarantee

Introduce v, require it to be at most the expected payoff against every column, add the mixture equality, and maximise v. Declare v free — a game can be worth a negative amount, and restricting it to be non-negative changes the problem.

2

Take the dual, and recognise the other player in it

One dual variable per column constraint, which is the column mixture, plus one for the mixture equality, which is the value. The dual is a minimisation of that value subject to every row earning at most it. You have not written a second model; you have written the same one from the other side.

3

Solve, and read the value and both mixtures

One solve gives the row mixture and, from the dual values in its final tableau, the column mixture. The two objectives are equal, which is the minimax theorem on this instance and a check on the arithmetic.

4

Verify by complementary slackness, then test each pure choice

Every row played with positive probability must earn exactly v against the column mixture, and every column played with positive probability must hold the row mixture to exactly v. Then play each pure strategy on its own: none beats v against the optimum, and each one's own worst case shows what mixing bought.

Two programmes, one value

Score 0 / 0

A two-by-two game, both programmes, and the verification

Two choices each, no best single one, and a value that is not a whole number. The verification at the end uses complementary slackness and no algorithm, which is what makes it worth writing out.

payoffs A = ( 3 −1 ) ( −2 1 ) ROW PLAYER'S PROGRAMME max v column 1: 3p1 − 2p2 ≥ v column 2: −p1 + p2 ≥ v mixture: p1 + p2 = 1 p1, p2 ≥ 0, v free ITS DUAL, which is the COLUMN PLAYER'S PROGRAMME min w row 1: 3q1 − q2 ≤ w row 2: −2q1 + q2 ≤ w mixture: q1 + q2 = 1 q1, q2 ≥ 0, w free SOLVED v = 1/7 p = (3/7, 4/7) q = (2/7, 5/7) w = 1/7 the two optima agree: minimax VERIFY, by complementary slackness and nothing else p1 = 3/7 > 0 ⟹ row 1 must earn exactly v against q 3(2/7) − 1(5/7) = 6/7 − 5/7 = 1/7 ✓ p2 = 4/7 > 0 ⟹ row 2 must earn exactly v against q −2(2/7) + 1(5/7) = −4/7 + 5/7 = 1/7 ✓ q1 = 2/7 > 0 ⟹ column 1 holds p to exactly v 3(3/7) − 2(4/7) = 9/7 − 8/7 = 1/7 ✓ q2 = 5/7 > 0 ⟹ column 2 holds p to exactly v −(3/7) + 1(4/7) = 1/7 ✓ WHAT MIXING BOUGHT row 1 alone worst case min( 3, −1) = −1 row 2 alone worst case min(−2, 1) = −2 best pure guarantee = −1 the mixture guarantees = 1/7 difference = 8/7 column 1 alone best the row player gets max( 3, −2) = 3 column 2 alone max(−1, 1) = 1 least pure enforcement = 1 the mixture holds it to = 1/7 so −1 < 1/7 < 1: strictly between, and mixing is necessary

The verification block is the lesson's real payload. Four substitutions confirm a claimed solution to a game, using only the conditions from the certification lesson, and no simplex run is involved — which is the same trick that certified a production plan, applied to different nouns.

The final inequality is what distinguishes this game from one with a saddle point. On (4, 2 / 3, 1) the best pure guarantee and the least pure enforcement are both 2, they meet, and the optimal strategies are pure: mixing buys nothing. Strict inequality is the condition under which a mixture is necessary, and computing both pure numbers is how you tell in advance.

For a faded rehearsal, take the three-by-three cycle with rows (0, −1, 1), (1, 0, −1), (−1, 1, 0). The supplied move is that symmetry makes p = q = (1/3, 1/3, 1/3) the obvious candidate. Verify it by complementary slackness rather than by solving, compute each row's own worst case, and say what the mixture bought. Then try the four-by-four preset, whose value is 8/21, and confirm that every pure choice against the optimum earns exactly that.

Common mistakes

1
Believing there is always a best single row, and that mixing is a confession of ignoranceAgainst an opponent who can see your choice, a pure strategy is exploitable: row 1 of the two-by-two game can be held to −1 and row 2 to −2, while the mixture cannot be held below 1/7. Mixing is not hedging against uncertainty about the opponent; it is what makes the guarantee unexploitable. When a saddle point exists a pure strategy really is enough, and the lab ships one of those too so that the correction does not overshoot.
2
Restricting the value to be non-negativev is the guaranteed payoff and it can be negative — the payoff table is editable, and -2 -5; -6 -1 is worth −7/2 to the row player. Writing v ≥ 0 produces a feasible programme with a different optimum, and nothing about the output announces that the wrong problem was solved. The same goes for its dual counterpart: the mixture equality's dual variable is free for the same reason.
3
Reading a mixture as a plan for a single playp = (3/7, 4/7) is not an instruction to play three sevenths of row 1. It is a probability distribution, and the value is an expectation: what the mixture guarantees on average against any opponent, not what any one play returns. On a single play the row player receives one entry of the matrix, and the guarantee is a statement about the distribution of that entry.

Check your understanding

✓
Finish when you can turn a payoff matrix into two dual programmes and verify a claimed solution without solving.

You should be able to write the row player's programme with a free v, obtain the column player's as its dual, solve for the value and both mixtures, verify them by complementary slackness, and compute the best pure guarantee and the least pure enforcement to say whether mixing was necessary at all.

Note: This is the second place on the course where duality is the content rather than the method, and it is the one where the theorem already had a name before it had this proof. Nothing new was needed: the row player's programme, its dual, and strong duality between them. A similarly named lesson on the Algorithms path, in Dynamic Programming and Optimal Substructure, is about combinatorial games of perfect information and winning and losing positions; it shares no object with this one and neither cites the other.

Kept in this browser only, for you. Nothing is sent anywhere and nothing checks it. Carry it to another device.

Feedback and recommendations

Something to change about this lesson? Write it down, tick it off when it is handled, and export the list when you want to act on it. Kept in this browser only: nothing is sent anywhere, and nobody is notified.

No recommendations yet for this lesson.