D2 5.5 - Games as linear programs
You will formulate a game as a linear program, use Simplex tableaux, and interpret and verify optimal mixed strategies in the original game.
Turn a guaranteed pay-off into linear constraints
If adding to every pay-off makes a game easier to calculate, would adding instead change how the players should play? The numbers in the optimisation change, but the original game and its best strategies do not.
You already know
A's mixed strategy assigns non-negative probabilities summing to one to its rows. Against each column, its expected pay-off is a probability-weighted sum. A maximises the least of those expectations; B tries to limit the largest response. A pay-off matrix is for row player A unless stated otherwise.
A linear program maximises or minimises a linear objective subject to linear constraints and stated variable domains. Here the decision variables are A's row probabilities and the expected pay-off it can guarantee. A game without a stable pure solution can be solved this way even when neither player has just two options.
A common augmentation
Add the same constant to every original matrix entry , forming . Every pair of mixed strategies then increases A's expected pay-off by exactly , because their probabilities sum to one.
Thus optimal strategies are unchanged. If the augmented game has value , the original value to A is ; B's original value is .
Choose as directed in a question. Making all entries non-negative is a common requirement. In our worked models choose every entry strictly positive, which also makes the Simplex starting construction below easy to justify. If the least original entry is , either or does this.
For three rows with probabilities , a guarantee means that every column expectation is at least . There is one such constraint per column, not per row.
The probability model
For an augmented matrix , maximise , subject to
When the augmented entries are non-negative, take . Afterwards use
Not in the formula booklet: learn it.
For the positive augmented games used here, replace the probability equality temporarily by to obtain an easy starting tableau. These intermediate variables represent allocated probability mass, not a complete playable strategy until the sum is one. No optimum can leave mass unused: adding it to any row increases every column expectation, since all entries are positive. A feasible positive guarantee exists, so an optimum uses the full mass. The relaxed program therefore has the same optimum as the probability model.
This auxiliary starting point is useful: and all satisfy its inequalities. Simplex moves between feasible tableaux until it reaches an optimal complete distribution.
Key idea
One row mixture must meet every column's guarantee constraint. Adding one common preserves strategy comparisons; subtract from A's final augmented value, then negate to obtain B's original value.
Check which quantity is preserved.
Construct the initial game tableau
A slack variable turns a less-than-or-equal constraint into an equation. Use non-negative for the three column constraints and for unused probability capacity:
Write the objective as . The tableau lists coefficients of variables, with the right-hand side in the Value column. The objective row labelled has an implicit coefficient on ; no separate column is needed.
Worked example 1: one constraint per opponent response
Question. Form an initial Simplex tableau for the following game, augmenting every entry by :
Plan. Check pure stability, augment, read down each column, and add the probability-capacity row and objective.
Row minima are all , column maxima all , so there is no stable pure solution. The augmented matrix is
Maximise , subject to
with all variables non-negative. Adding slack variables gives:
| Basic variable | Value | ||||||||
|---|---|---|---|---|---|---|---|---|---|
Why use columns? Each column is one possible choice by B, against which A's same row distribution must guarantee .
Answer. The displayed tableau is the required initial tableau. Its basic variables are .
Check. Their columns form an identity matrix in the constraint rows and have zero objective coefficients. Setting all non-basic variables to zero gives slack values , all feasible. The row probabilities do not yet sum to one at this auxiliary starting point.
Change only the original top-left entry from to , keeping the augmentation .
Worked example 2: change just one tableau coefficient
Question. Construct the initial tableau for the changed game.
Plan. Augment the changed entry and locate its column constraint.
Only the first constraint changes, to
The complete initial tableau is:
| Basic variable | Value | ||||||||
|---|---|---|---|---|---|---|---|---|---|
Why does just one coefficient change? The altered entry is the contribution of row 1 to B's first-column response. Other response expectations are unaffected.
Answer. Use the displayed tableau; its only change from worked example 1 is to in the row, column.
Check. The basis, Value column, probability-capacity equation and objective are unchanged. Pure row minima remain and column maxima , so the changed game still lacks a stable pure solution.
A tableau contains signs as well as magnitudes: the guarantee term is positive in a constraint row, while the expected-pay-off terms are subtracted.
Watch out
Wrong: use one expected-pay-off constraint per row, or enter positive pay-off coefficients beside . Right: read down each augmented column and write .
Change the same original entry once more.
Use Simplex pivots, including zero-ratio ties
A basic variable has an identity column: one in its own constraint row and zeros in all other constraint rows and the objective row. Set non-basic variables to zero, then read basic values from the Value column. A pivot swaps one non-basic variable into the basis and one basic variable out, using equivalent row equations.
Simplex for these maximisation tableaux
Use this procedure with the objective written in the form .
- Choose a negative coefficient in the objective row as the entering column; use the most negative if instructed, as in our examples.
- In constraint rows with a strictly positive entering-column entry, calculate . Choose the least non-negative ratio. A zero ratio is eligible; a tie can be resolved by a stated choice.
- Divide the entire leaving row by its pivot entry. Rename its basic variable as the entering variable.
- Eliminate the entering variable from every other row, including the objective, using the new pivot row. Update every column, including Value.
- Repeat. When every variable coefficient in the objective row is non-negative, the current feasible basic solution is optimal.
Not in the formula booklet: learn it.
The ratio test prevents a basic value becoming negative. A zero-ratio pivot may change the basis while leaving the current point and objective unchanged. That is common at a game's auxiliary starting point; excluding zero would give an incorrect pivot.
Worked example 3: solve a complete small game
Question. Solve by Simplex, augmenting by . Use the most negative objective coefficient and take the first row in a ratio tie.
Plan. Use augmented matrix , form the starting tableau, and pivot until the objective row has no negative coefficient.
| Basic variable | Value | ||||||
|---|---|---|---|---|---|---|---|
First pivot. enters. The first two ratios are both ; 's coefficient is zero, so that row is ineligible. Choose to leave. Its pivot is already . Subtract this row from the second row and add it to ; is unchanged.
| Basic variable | Value | ||||||
|---|---|---|---|---|---|---|---|
Second pivot. enters. Eligible ratios are in , and in . Thus leaves. Divide that row by . Add three new pivot rows to and , and subtract one from .
| Basic variable | Value | ||||||
|---|---|---|---|---|---|---|---|
Third pivot. enters; only has a positive entry in that column, giving ratio . Divide 's row by ; add four new pivot rows to and , and one to .
| Basic variable | Value | ||||||
|---|---|---|---|---|---|---|---|
Why stop? The objective equation is
All variables on the left besides are non-negative, so . The current solution attains that upper bound.
Answer. , ; the original value is . B also uses its two columns equally.
Check. Each original column gives expectation zero against A's mixture; each original row gives zero against B's mixture. Thus both game guarantees agree. The two initial zero-ratio pivots left at zero; the final pivot raised it to .
Continue this lesson.
You’re previewing NovaLearn without an account. Create a free account to read the rest.
Create free account