In a two player game $(A, B)\in\mathbb{{R^{m \times n}}^2}$ a strategy $s$ is dominated by strategy $\bar s$ if for all strategies of the other player $t$:
$$ u(s, t) < u(\bar s, t) $$For example if we consider the Prisoner's Dilemma:
$$ A = \begin{pmatrix} 3 & 0\\ 5 & 1 \end{pmatrix}\qquad B = \begin{pmatrix} 3 & 5\\ 0 & 1 \end{pmatrix} $$In a two player game $(A, B)\in\mathbb{{R^{m \times n}}^2}$ a strategy $s$ is weakly dominated by strategy $\bar s$ if for all strategies of the other player $t$:
$$ u(s, t) \leq u(\bar s, t) $$and there exists a $t'$ such that:
$$ u(s, t') < u(\bar s, t') $$For example if we consider the modified version of the previous game:
$$ A = \begin{pmatrix} 3 & 0\\ 3 & 1 \end{pmatrix}\qquad B = \begin{pmatrix} 3 & 3\\ 0 & 1 \end{pmatrix} $$We can use numpy
to verify if a strategy is weakly/strictly dominated:
In [1]:
import numpy as np
A = np.array([[3, 0], [3, 1]])
B = np.array([[3, 3], [0, 1]])
In [2]:
# Verify that first row is weakly dominated by second row
all(A[0,:] <= A[1,:]) and any(A[0,:] < A[1,:])
Out[2]:
In [3]:
# Verify that first column is weakly dominated by second column
all(B[:,0] <= B[:,1]) and any(B[:,0] < B[:,1])
Out[3]:
An important aspect of Game Theory and the tool that we have in fact been using so far is to assume that players are rational. However we can (and need) to go further:
This chain of assumptions is called Common Knowledge of Rationality (CKR). By applying the CKR assumption we can attempt to predict rational behaviour through the iterated elimination of weakly dominated strategies. This process is called rationalisation.
Let us consider the following game:
$$ A = \begin{pmatrix} 10 & 5 & 1\\ 10 & 5 & 4 \end{pmatrix}\qquad B = \begin{pmatrix} 1 & 1 & -2\\ 1 & 0 & 2 \end{pmatrix} $$We see that the rows players' first strategy is weakly dominated by its second.
In [4]:
A = np.array([[10, 5, 1], [10, 5, 4]])
B = np.array([[1, 1, -2], [1, 0, 2]])
all(A[0,:] <= A[1,:]) and any(A[0,:] < A[1,:])
Out[4]:
Once we have removed that strategy the game reduces to:
$$ A = \begin{pmatrix} 10 & 5 & 4 \end{pmatrix}\qquad B = \begin{pmatrix} 1 & 0 & 2 \end{pmatrix} $$and now we see that the column players' third strategy would dominate the other two.
Thus a prediction of rational behaviour would be the strategy profile: $(r_2, c_3)$.
Not all games allow for prediction of rational behaviour through rationalisation and for some games the prediction will change depending on the order of the elimination.