Home projects readings blog about

Game Theory

Published on Saturday, 03 March, 2018 general

The Prisoner’s Dilemma

The Prisoner’s Dilemma is a classic Game Theory problem and is most commonly used to introduce the ideas of it.

Confess Deny
0 3,3 1,10
1 10,1 2,2

Each number represents the amount of years either P1 or P2 will go away for. The rational decision is for both to deny and minimize the risk.

The two prisoners have two choices either to confess or deny. Let's use Python to calculate the payoff.

a = np.array([[0, 1], [1, 0]])
np.linalg.det(a)

If P1 confesses but P2 does not. The determinant is = -1.

a = np.array([[1, 0], [0, 1]])
np.linalg.det(a)

If P1 denies but P2 confesses. The determinant is = 1.

a = np.array([[0, 1], [0, 1]])
np.linalg.det(a)

If both deny, then determinant is 0.

a = np.array([[1, 0], [1, 0]])
np.linalg.det(a)

If both confess, then the determinant is 0.

The dominant strategy is to "deny".