Calculate optimal mixed strategies from payoff matrix an value

I'm trying to understand something, Let's say I have a zero-sum payoff matrix, and I know the game value, is there a algorithm I can go through to find all optimal mixed strategies, e.g, I have the payoff matrix: $\begin{pmatrix}0 & 1&2\\1&0&3\\2&3&0 \end{pmatrix}$, I've managed to calculate the game value, it's $\frac{3}{2}$, so I know that: $$ \max_{p_1+p_2+p_3=1,p_1,p_2,p_3\geq 0} \min\{ p_2+2p_3,p_1+3p_3,2p_1+3p_2\} = \frac{3}{2} $$ And if I solve the linear (system of) equations: $$ \begin{cases} p_2+2p_3 = \frac{3}{2} \\p_1+3p_3 = \frac{3}{2}\\ 2p_1+3p_2 = \frac{3}{2} \end{cases} $$ I get $(0,0.5,0.5)$, is there a way to know that this is the only optimal strategy? I mean, will a strategy be optimal iff it's a solution to this linear (system of) equations?

EDIT : I guess to restate my question, given a payoff matrix & value, how do I find all optimal strategies?


Solution 1:

Given a payoff matrix of size n, the gain of a mixed strategy $(p_1, p_2, ... p_n)$ can be expressed as a polynomial (quadratic) function of $(p_1, p_2, ... p_{n-1})$ in the polytope defined by $0\le p_i\le 1$ and $\sum_{1\le i<n}p_i\le 1$.

Finding the optimal strategies is related to find all local maximum of the function : in the general case, you need to evalute the gradient and the eigenvalues of the Hessian matrix (you can read more at https://en.wikipedia.org/wiki/Hessian_matrix#Critical_points)

If you find one maximum inside the polytope, then you have your mixed strategy (there can by only one as the function is quadratic).

If it fails (no maximum inside the polytope) then you need to find maximum on the borders (each part of the border is defined by $p_i=0$ for some $1\le i\le n$) by applying the same method with one less variable. Each border can have its own set of local maximum.

There is always the possibility to have degenerate solution (with eigenvalues = 0) that can imply that the set of optimal strategies is not a set of isolated points (but something larger, like an hyperplan $ p_1=p_2$).

In your example : $$g(p_1,p_2)=2p_1p_2+4p_1p_3+6p_2p_3 $$ by replacing $p_3=1-p_1-p_2$ $$g(p_1,p_2)=-4p_1^2-8p_1p_2-6p_2^2+4p_1+6p_2$$

the gradient is (first derivatives) $(-8p_1-8p_2+4, -8p_1-12p_2+6)$ that is zero iff $(p_1=0, p_2=\frac{1}{2})$. The Hessian matrix is a constant matrix (the second derivatives of a quadratic function) and here it's $$\left[\begin{matrix} -8 & -8 \\ -8 & -12\\ \end{matrix}\right]$$ The eigenvalues are all negative (as the determinant is positive (32) and the trace is negative (-20)), so it's a global maximum at $(0,\frac{1}{2},\frac{1}{2})$. No need to look at the borders (which can be quite complex).

So there is only one stable and optimal strategy for this game.