The theoretical part
My last undergraduate course in mathematics was about Game Theory, which was quite some time ago. One of the lectures covered Neumann’s Minmax-Theorem, and during this session, the lecturer drew a picture on the blackboard to illustrate how to find the Nash Equilibrium of a zero-sum game. The drawing consisted of a set of linear inequalities, and he moved his hands along the edges of a simplex. While everyone in the lecture hall, including myself, was trying to grasp the explanation, it suddenly clicked, “Isn’t this just linear programming?!?”. Well… I was thinking with mouth moving… At that moment, the entire lecture hall turned to look at me, but the lecturer simply replied with a straightforward “yes.”
Nevertheless, it took quite some time until I stumbled upon a resource that explained the connection between game theory and linear programming, or more generally, mathematical optimization. I found the following statement in [1]:
Theorem Given a zero-sum matrix game with payoff matrix \(A\) is an \(n\times m\) matrix with real entries and \[ \hat{X} := \{ x \in \mathbb{R}^n \| \sum_{i=1}^n x_i = 1, x \geq 0 \}, \\ \hat{Y} := \{ y \in \mathbb{R}^m \| \sum_{i=1}^m y_i = 1, y \geq 0\}\] as the sets of mixed strategies. The payoff function is for both players is given by \[ \theta(x,y) = x^\top A y \] and player \(X\) wants to maximize it, while player \(Y\) wants to minimize it. The point \((x^\ast, y^\ast) \in \hat{X} \times \hat{Y}\) iff the following two points hold:
- \(x^\ast\) together with a scalar value \(v^\ast\) solves the primal linear program
\[ \max_{v,x} v \text{\quad s.t.\quad} x^\top A \geq ve^\top, x \in \hat{X}\]
- \(y^\ast\) together with a scalar value \(w^\ast\) solve the dual linear program
\[\min_{y,w} w \text{\quad s.t.\quad} A y \leq we, y \in \hat{Y}.\] The vector \(e = (1, ..., 1)^\top\) has the suitable dimension.
This theorem reduces the finding the Nash-equilibrium to solving a linear program which is relatively easy. Now let’s turn to a concrete calculation.