^{1, 2}

^{2}

^{3}

^{1}

^{4}

^{1}

^{2}

^{3}

^{4}

A main concern in applications of game theory is how to effectively select a Nash equilibrium, especially a pure-strategy Nash equilibrium for a finite

Nash equilibrium, as defined in [

In recent years, most related work is focused on finding mixed-strategy Nash equilibrium. In terms of computational complexity, it was shown in [

All the algorithms mentioned above can only find a sample Nash equilibrium. Unfortunately, in practice, a game can have many Nash equilibria and which equilibrium should be effectively selected to play is a very challenging issue. The equilibrium selection process often requires the computation of all Nash equilibria of a game. To address this issue, several algorithms have been developed in the literature. A path-following algorithm was described in [

As a special example of the mixed-strategy Nash equilibrium, the pure-strategy Nash equilibrium has gotten more attention recently. The work of [

As a special case of integer programming, the mixed 0-1 linear programming, in which unknowns are binary, has many applications in operation research. Many classic problems, such as the knapsack problem, facility location problem, production planning problem, and time tabling problem, can be formulated as a mixed 0-1 linear programming. The research of these problems which has a long history and many commercial softwares, most of which are based on branch and bound method, cutting plane method, or branch and cut method, could solve this mixed 0-1 linear programming well.

This paper studies the computation of all pure-strategy Nash equilibria of a finite

The rest of the paper is organized as follows. Section

In this section a mixed 0-1 linear programming will be formulated to all pure-strategy Nash equilibria of a finite game.

Let

A mixed strategy profile

With this definition, an application of the optimality condition leads to the fact that

Let

Let

Let

Suppose that

This lemma implies that finding a pure-strategy Nash equilibrium is equivalent to finding a solution to the system of

For

Let

Suppose that

Let

Replacing

The system (

The above idea is illustrated in the following example.

Consider a three-player game

Let

In this section, some numerical results are presented. Under the software Microsoft Visual Studio 2008 and ILOG CPLEX, we use C++ to call ILOG CPLEX API functions which are based on the branch and cut method to solve the mixed 0-1 linear program (

We have run our code on a workstation of Lenovo ThinkStation D20 4155-BM4 with 16 processors and 16 G RAM. In the presentation of numerical results, some symbols are explained as follows:

Num

Num

NumEquilibra: the number of pure-strategy Nash equilibria for the instance;

Time: the total computational time to solve the problem.

Consider a three-player game

Let

The payoff function

Prob. | Num |
Num |
NumEquilibra | Time (s) |
---|---|---|---|---|

1 | 3 | 4 | 1 | 0.53 |

2 | 3 | 4 | 2 | 0.62 |

3 | 3 | 4 | 2 | 0.56 |

4 | 3 | 5 | 3 | 0.56 |

5 | 3 | 6 | 2 | 0.41 |

6 | 3 | 6 | 1 | 0.66 |

7 | 3 | 7 | 5 | 0.59 |

8 | 3 | 8 | 6 | 0.58 |

9 | 3 | 8 | 3 | 0.89 |

10 | 3 | 8 | 3 | 0.81 |

11 | 3 | 10 | 2 | 1.00 |

12 | 3 | 11 | 3 | 1.47 |

13 | 3 | 12 | 4 | 1.81 |

14 | 3 | 14 | 4 | 4.91 |

15 | 3 | 14 | 8 | 3.81 |

16 | 3 | 15 | 6 | 5.87 |

17 | 3 | 19 | 13 | 27.86 |

18 | 3 | 19 | 3 | 33.40 |

19 | 3 | 21 | 13 | 47.28 |

20 | 3 | 23 | 10 | 102.51 |

21 | 3 | 24 | 22 | 122.94 |

22 | 3 | 25 | 21 | 239.20 |

23 | 3 | 26 | 13 | 278.50 |

24 | 3 | 26 | 15 | 301.58 |

25 | 3 | 28 | 21 | 419.97 |

26 | 3 | 33 | 22 | 1870.24 |

27 | 3 | 35 | 20 | 2082.34 |

28 | 3 | 40 | 24 | 4599.72 |

29 | 3 | 44 | 20 | 3033.29 |

30 | 3 | 45 | 26 | 16992.10 |

The payoff function

Prob. | Num |
Num |
NumEquilibra | Time (s) |
---|---|---|---|---|

1 | 3 | 3 | 4 | 0.46 |

2 | 3 | 3 | 0 | 0.50 |

3 | 3 | 3 | 1 | 0.40 |

4 | 3 | 4 | 0 | 0.34 |

5 | 3 | 4 | 2 | 0.52 |

6 | 3 | 6 | 0 | 0.45 |

7 | 3 | 7 | 1 | 0.70 |

8 | 3 | 7 | 2 | 0.82 |

9 | 3 | 7 | 1 | 0.57 |

10 | 3 | 8 | 0 | 0.73 |

11 | 3 | 9 | 0 | 0.66 |

12 | 3 | 10 | 0 | 0.93 |

13 | 3 | 11 | 1 | 1.64 |

14 | 3 | 16 | 0 | 13.26 |

15 | 3 | 19 | 0 | 33.22 |

16 | 3 | 20 | 3 | 40.67 |

17 | 3 | 21 | 2 | 55.10 |

18 | 3 | 22 | 4 | 74.20 |

19 | 3 | 24 | 0 | 195.78 |

20 | 3 | 24 | 2 | 142.14 |

21 | 3 | 27 | 3 | 507.44 |

22 | 3 | 29 | 2 | 1178.18 |

23 | 3 | 30 | 1 | 1287.87 |

24 | 3 | 30 | 1 | 1667.70 |

25 | 3 | 32 | 1 | 1638.94 |

26 | 3 | 33 | 2 | 1761.86 |

27 | 3 | 34 | 0 | 3125.08 |

28 | 3 | 35 | 5 | 3446.67 |

29 | 3 | 44 | 3 | 36601.30 |

30 | 3 | 45 | 5 | 43583.30 |

The payoff function

Prob. | Num |
Num |
NumEquilibra | Time (s) |
---|---|---|---|---|

1 | 3 | 3 | 0 | 0.41 |

2 | 3 | 3 | 2 | 0.45 |

3 | 3 | 4 | 2 | 0.51 |

4 | 3 | 5 | 0 | 0.49 |

5 | 3 | 5 | 2 | 0.61 |

6 | 3 | 7 | 0 | 0.56 |

7 | 3 | 7 | 2 | 0.41 |

8 | 3 | 8 | 0 | 0.61 |

9 | 3 | 8 | 2 | 0.89 |

10 | 3 | 8 | 2 | 0.68 |

11 | 3 | 10 | 1 | 1.11 |

12 | 3 | 12 | 1 | 4.00 |

13 | 3 | 13 | 1 | 2.64 |

14 | 3 | 13 | 2 | 2.64 |

15 | 3 | 16 | 0 | 14.25 |

16 | 3 | 19 | 4 | 25.70 |

17 | 3 | 22 | 4 | 55.94 |

18 | 3 | 24 | 2 | 132.87 |

19 | 3 | 24 | 1 | 142.96 |

20 | 3 | 25 | 2 | 246.76 |

21 | 3 | 26 | 2 | 499.40 |

22 | 3 | 28 | 0 | 804.76 |

23 | 3 | 28 | 1 | 671.67 |

24 | 3 | 30 | 2 | 1382.03 |

25 | 3 | 32 | 1 | 2821.16 |

26 | 3 | 34 | 2 | 3325.67 |

27 | 3 | 37 | 1 | 7088.06 |

28 | 3 | 38 | 2 | 9395.13 |

29 | 3 | 41 | 2 | 20441.10 |

30 | 3 | 43 | 0 | 29204.70 |

Consider a five-player game

Let

The payoff function

Prob. | Num |
Num |
NumEquilibra | Time (s) |
---|---|---|---|---|

1 | 5 | 3 | 4 | 1.09 |

2 | 5 | 3 | 3 | 1.18 |

3 | 5 | 3 | 2 | 1.19 |

4 | 5 | 4 | 3 | 6.85 |

5 | 5 | 4 | 4 | 5.26 |

6 | 5 | 5 | 2 | 98.95 |

7 | 5 | 5 | 3 | 152.76 |

8 | 5 | 5 | 1 | 122.88 |

9 | 5 | 6 | 4 | 2092.13 |

10 | 5 | 6 | 2 | 1693.61 |

The payoff function

Prob. | Num |
Num |
NumEquilibra | Time (s) |
---|---|---|---|---|

1 | 5 | 3 | 3 | 1.20 |

2 | 5 | 3 | 1 | 0.99 |

3 | 5 | 3 | 1 | 1.71 |

4 | 5 | 4 | 1 | 5.69 |

5 | 5 | 4 | 1 | 5.62 |

6 | 5 | 4 | 1 | 11.90 |

7 | 5 | 4 | 3 | 6.77 |

8 | 5 | 5 | 1 | 1996.60 |

9 | 5 | 6 | 2 | 2031.19 |

10 | 5 | 7 | 3 | 18094.80 |

The payoff function

Prob. | Num |
Num |
NumEquilibra | Time (s) |
---|---|---|---|---|

1 | 5 | 3 | 0 | 0.80 |

2 | 5 | 4 | 0 | 10.98 |

3 | 5 | 4 | 0 | 11.11 |

4 | 5 | 4 | 1 | 6.93 |

5 | 5 | 4 | 0 | 11.07 |

6 | 5 | 5 | 1 | 99.30 |

7 | 5 | 5 | 0 | 138.33 |

8 | 5 | 6 | 1 | 2408.44 |

9 | 5 | 6 | 2 | 1960.49 |

10 | 5 | 7 | 3 | 22237.60 |

From Tables

In this paper, a mixed 0-1 linear programming approach has been proposed to find all pure-strategy Nash equilibria of a finite

The authors declare that there is no conflict of interests regarding the publication of this paper.

This work was partially supported by the RCN (Research Council of Norway) DECOFF project number 225231/O70 and by GRF: CityU 112910 of Hong Kong SAR Government.