EconCSLib.GameTheory.StrategicGame.ZeroSum.MatrixGameNash #
Existence of a mixed Nash equilibrium for a finite matrix game.
Main statements #
MatrixGame.IsMixedNashEq xx yyβ saddle-point definition:xxis a best response toyyfor the row player, andyyis a best response toxxfor the column player (zero-sum convention: column player minimises the sameA).MatrixGame.exists_mixed_nash_equilibriumβ every finite matrix game over any linearly ordered field has a pair(xx, yy)satisfyingIsMixedNashEq; packaged fromMinimax.minimax(von Neumann symmetrisation).MatrixGame.toStrategicGameβ the explicit two-player zero-sum strategic game whose mixed Nash equilibria correspond to saddle points ofA.
The intermediate IsMixedNashEq defined here is on the matrix game itself
(not on the strategic-game embedding) because it is exactly the textbook
statement of "matrix game has a value" and is easier to reason about than
the dependently-typed Fin 2-indexed strategic game.
References #
- [MSZ] Maschler, Solan, Zamir, Game Theory, Theorems 5.11 and 5.13.
- [LRS] Laraki, Renault, Sorin, Mathematical Foundations of Game Theory, Theorem 2.3.1.
Saddle-point mixed Nash equilibrium #
Saddle-point form of a mixed Nash equilibrium for a matrix game.
For zero-sum two-player games, the standard mixed-strategy Nash equilibrium is exactly the saddle point of the bilinear payoff: the row player cannot improve by deviating to any mixed row, and the column player cannot improve (i.e., decrease the row player's payoff) by deviating to any mixed column.
Field-generic: the saddle-point inequalities only need a linearly ordered field, not order-completeness.
Equations
- A.IsMixedNashEq xx yy = ((β (x' : β(stdSimplex π I)), A.E x' yy β€ A.E xx yy) β§ β (y' : β(stdSimplex π J)), A.E xx yy β€ A.E xx y')
Instances For
A pair of mixed strategies is a saddle point when player I's payoff is
maximised by the row strategy against the column strategy and minimised by
the column strategy against the row strategy. For a matrix game this is
synonymous with the mixed Nash equilibrium predicate
[MatrixGame.IsMixedNashEq].
Equations
- A.IsSaddlePoint xx yy = A.IsMixedNashEq xx yy
Instances For
Nash equilibrium β saddle point for matrix games. Both sides unfold to the same saddle-point inequality system; the equivalence is therefore definitional.
The value of a matrix game (sSup-based; needs order completeness).
Equal to both maximin and minimax by the minimax theorem
([MatrixGame.minimax_theorem]); the maximin = minimax equality is the
β-bound piece (Loomis). Field-generic existence of a value (without
sSup) is the IsValue predicate in Minimax.lean.
Instances For
Point-wise duality gap at a strategy pair: the column player's realised loss-cap minus the row player's realised guarantee. Always nonnegative, zero exactly at optimal pairs.
Field-generic: just the difference of two L2 guarantees, no sup/inf.
Equations
- A.dualityGap xx yy = A.guarantee_II yy - A.guarantee_I xx
Instances For
The set of optimal row strategies: mixed strategies that achieve the maximin value.
Equations
- A.optimalRowStrategies = {xx : β(stdSimplex π I) | A.guarantee_I xx = A.value}
Instances For
The set of optimal column strategies: mixed strategies that achieve the minimax value.
Equations
- A.optimalColumnStrategies = {yy : β(stdSimplex π J) | A.guarantee_II yy = A.value}
Instances For
An Ξ΅-optimal row strategy guarantees at least value - Ξ΅.
Equations
- A.IsEpsilonOptimalRow Ξ΅ xx = (A.value - Ξ΅ β€ A.guarantee_I xx)
Instances For
An Ξ΅-optimal column strategy caps player I's payoff at value + Ξ΅.
Equations
- A.IsEpsilonOptimalColumn Ξ΅ yy = (A.guarantee_II yy β€ A.value + Ξ΅)
Instances For
w is a guarantee for player I when some mixed row strategy achieves
expected payoff β₯ w against every pure column. Equivalent to w β€ A.maximin.
Equations
- A.IsPlayerIGuarantee w = β (xx : β(stdSimplex π I)), β (j : J), w β€ A.Ej xx j
Instances For
w is a guarantee for player II when some mixed column strategy caps
expected payoff β€ w against every pure row. Equivalent to A.minimax β€ w.
Equations
- A.IsPlayerIIGuarantee w = β (yy : β(stdSimplex π J)), β (i : I), A.Ei i yy β€ w
Instances For
Support of a mixed strategy: the indices with positive probability.
Equations
- MatrixGame.support xx = {i : I | 0 < βxx i}
Instances For
Optimal pairs β saddle points #
A row strategy is optimal iff against every mixed column it secures the value.
A column strategy is optimal iff against every mixed row it caps payoff at the value.
Support complementarity (row). For an optimal pair (xx, yy), every
row i with positive probability under xx is a best response to yy,
i.e., A.Ei i yy = A.value.
Support complementarity (column). For an optimal pair (xx, yy), every
column j with positive probability under yy is a best response to xx,
i.e., A.Ej xx j = A.value.
Common guarantee gives the value. If both players guarantee the same
scalar w, then w equals the game value.
Optimal pairs β saddle points. A pair of mixed strategies is in the
product X(A) Γ Y(A) of optimal strategy sets iff it is a saddle point.
Existence #
Pure-strategy guarantees give a mixed Nash equilibrium. If xx
guarantees value v against every pure column and yy caps the row player's
payoff at v against every pure row, then (xx, yy) is a saddle-point mixed
Nash equilibrium. Field-generic β only the saddle inequalities are used
(no order-completeness).
Matrix games have a mixed Nash equilibrium β over any linearly ordered
field. Packages the field-generic saddle Minimax.minimax (proved by
von Neumann symmetrisation; no compactness, no order-completeness) into the
IsMixedNashEq saddle-point form. The β case is the π := β instance, so all
β consumers are unaffected.
Strategic-game embedding #
A matrix game A : I β J β π lifts to a two-player zero-sum strategic game
with players Fin 2, strategy spaces I and J, and payoffs A (for the
row player) and βA (for the column player). Polymorphic in the scalar
field π. The standard [StrategicGame.IsMixedNashEq] then unfolds β
modulo a 2-player profile expansion β to the saddle-point form
MatrixGame.IsMixedNashEq above.
The two-player zero-sum strategic game associated with a matrix game.
See MatrixGame.toStrategicGame_isZeroSum for the proof that this game
satisfies the abstract StrategicGame.IsZeroSum predicate, so results stated
against IsZeroSum (e.g. IsZeroSum.nash_payoff_eq) can be invoked on
A.toStrategicGame without re-unfolding the definition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A.toStrategicGame satisfies the abstract zero-sum predicate: by
construction player 1's payoff is the negation of player 0's.
toStrategicGame instance synthesis #
Equations
- A.instDecidableEqStrategyFinOfNatNatToStrategicGame 0 = instβΒΉ
- A.instDecidableEqStrategyFinOfNatNatToStrategicGame 1 = instβ
Equations
- A.instFintypeStrategyFinOfNatNatToStrategicGame 0 = instββ΄
- A.instFintypeStrategyFinOfNatNatToStrategicGame 1 = instβΒ³
Build a MixedProfile of toStrategicGame from a saddle-point pair.
Equations
- A.toMixedProfile xx yy 0 = xx
- A.toMixedProfile xx yy 1 = yy
Instances For
Profile expansion for Fin 2 #
Player-0's strategic-game expected payoff on toStrategicGame reduces to
A.E, and player-1's to -A.E. This is the technical core of the bridge
from saddle-point Nash to StrategicGame.IsMixedNashEq.
Bridge lemma: expectedPayoff A.toStrategicGame p 0 = A.E (p 0) (p 1).
Reduces both sides to the canonical double sum
β i, β j, (p 0)α΅’ Β· (p 1)β±Ό Β· A i j.
Mirror: expectedPayoff A.toStrategicGame p 1 = -(A.E (p 0) (p 1)).
Main theorem: mixed Nash equilibrium of the embedded strategic game #
The strategic-game embedding of a finite matrix game admits a mixed Nash
equilibrium. Combines MatrixGame.exists_mixed_nash_equilibrium with the
profile-expansion bridge lemmas above.