A note on bimatrix game maximal Selten subsets

In this paper, we implement automatic procedures to enumerate all Nash maximal subsets of a bimatrix game and compute their dimensions. We propose a linear programming approach to identify extreme perfect Nash equilibria, enumerate all Selten maximal subsets and compute their dimensions. We present the Eχ -MIPerfect and the EEE-Perfect algorithms which enumerate all extreme perfect Nash equilibria. We finally report and comment computational experiments on randomly generated bimatrix games with different size and density. Mathematics Subject Classification 90C90 · 91A05 · 91A10

has to choose between m pure strategies. A bimatrix game G(A, B) is described through a pair of n × m payoff matrices A and B. Elements a i j and b i j of matrices A and B are, respectively, the immediate payoffs of player I and player II when the first plays his ith strategy while the second simultaneously plays his jth strategy. Each player attempts to maximize his own payoff by selecting a probability vector over his set of pure strategies. These vectors are combinations of pure strategies, called mixed strategies, and represented by probability vectors x 1 ∈ R n and x 2 ∈ R m . Hence, player I's payoff is x t 1 Ax 2 and player II's payoff is x t 1 Bx 2 . A Nash equilibrium is defined as a profile of strategies such that simultaneously player I maximizes his payoff given the strategic choice of player II and player II maximizes his payoff given the strategic choice of player I. An equilibrium point is a profile of strategies where neither player has an interest to unilaterally change his strategic choice. As shown by Nash [15], a bimatrix game has at least one equilibrium. Formally, a Nash equilibrium is a pair of strategies (x 1 ,x 2 ) such thatx 1 ∈ X 1 (x 2 ) andx 2 ∈ X 2 (x 1 ) where and e n and e m are two (n × 1) and (m × 1) column vectors with all elements equal to 1. Clearly, X 1 (x 2 ) for fixedx 2 , and X 2 (x 1 ) for fixedx 1 are polytopes. Mills [13], and Mangasarian and Stone [11] studied the optimality conditions of the preceding system to establish necessary and sufficient conditions of equilibrium. Introducing real-valued variables α 1 and α 2 , the duals of the above linear programs are min α 1 α 1 s.t. e n α 1 ≥ Ax 2 , min α 2 α 2 s.t. α 2 e t m ≥x t 1 B. Primal and dual feasibility conditions yield that a pair of strategies (x 1 ,x 2 ) is a Nash equilibrium if there exist two scalarsα 1 andα 2 satisfying x t 1 e n = 1, x 1 ≥ 0}, and (x 2 ,α 1 ) ∈ X 2 ≡ {(x 2 , α 1 ) ∈ R m+1 : Ax 2 ≤ e n α 1 , e t m x 2 = 1, x 2 ≥ 0}. Moreover, from duality theory of linear programming, the optimal dual objective valuesα 1 andα 2 are, respectively, equal to the primal optimal payoffs of players I and IÎ x t 1 Ax 2 =α 1 andx t 1 Bx 2 =α 2 . The set NE of all equilibrium points is the union of a finite number of polytopes called maximal Nash subsets (Millham [12]). The set of vertices of the maximal Nash Subsets defines the set of extreme Nash equilibria. Each Nash equilibrium can be obtained by a convex combination of some extreme Nash equilibria. We have shown in [2] that complete enumeration of all bimatrix game extreme equilibria can be done through complete enumeration of all extreme feasible solutions of a mixed 0 − 1 linear program with the following conditions (1.1) and any linear objective functionx t 1 e n = 1, e t mx 2 = 1, x t 1 B − α 2 e t m ≤ 0, Ax 2 − α 1 e n ≤ 0, with L 1 and L 2 defined as large positive scalars adequately chosen. As the number of extreme solutions to this program could be very large, Game theorists introduced many refinements of the concept of Nash equilibria.
The Perfectness concept is a refinement based on the idea that a reasonable equilibrium should be stable against some slight perturbations in the equilibrium strategies [17].
In Sect. 2, we present automatic procedures to enumerate all Nash maximal subsets of a bimatrix game and compute their dimensions. In Sect. 3, we show that the Perfectness certificate of a Nash equilibrium is obtained through the optimization of a pair of linear programs. We propose a linear programming approach to identify extreme perfect Nash equilibria, enumerate all Selten maximal subsets and compute their dimensions. In Sect. 4, we present the Eχ -MIPerfect and the EEE-Perfect algorithms which enumerate all extreme perfect Nash equilibria. In Sect. 5, finally, we report and comment computational experiments on randomly generated bimatrix games with different size and density.

Enumeration of all maximal Nash subsets
The set NE of all equilibrium points is the union of a finite number of maximal Nash subsets. A subset T ⊂ NE is a Nash subset if and only if every pair of elements in T is interchangeable, i.e. (x 1 , x 2 ) ∈ T and (y 1 , y 2 ) ∈ T imply that (x 1 , y 2 ) ∈ T and (y 1 , x 2 ) ∈ T . A Nash subset T is called maximal if it is not properly contained in another Nash subset (Jansen [6]). Any extreme equilibrium is an extreme point of one of these maximal Nash subsets.
Enumeration of all maximal Nash subsets corresponding to a bimatrix game can be achieved using an algorithm for the enumeration of all maximal cliques of a graph G. We define G = (V, E) as the graph obtained from the analysis of the extreme Nash equilibria in NE, which was first defined as the set of all Nash equilibria of the bimatrix game. The extreme points of NE define the set of nodes V of G while E is the set of edges of G. Any edge in E is a connection between two nodes (extreme Nash equilibria) of G, Every clique of the graph G is a complete subgraph of G. Each clique of G corresponds then to a set of extreme Nash equilibria, in which each extreme Nash equilibria is interchangeable with all others. Thus, a maximal Nash subset T is a maximal clique of G. Several papers study the maximal cliques enumeration problem. We have coded a C++ version of the widely used algorithm of Bron and Kerbosch [7]. Our implementation of this algorithm is included in the XGame1.0 package available in [5].

Maximal Nash subset geometry and dimension
To study the geometry and the dimension of maximal Nash subsets, we need to introduce some notation. Let us define: Heuer and Millham [8] showed that a maximal Nash subset for an n × m-bimatrix game is a closed and convex subset of S n × S m . This implied for Jansen [9] that a maximal Nash subset T is the Cartesian product of two convex polytopes K (ẋ 2 ) and L(ẋ 1 ), such that (ẋ 1 ,ẋ 2 ) ∈ relint (T ) (relative interior of T ).
For an equilibrium (x 1 , x 2 ) of a bimatrix game G(A, B), M(A, x 2 ) is defined as the set of pure best replies of player I against x 2 : and similarly, is the set of pure best replies of player II against x 1 .
We also define C(x 1 ) = {i ∈ N ; x 1i > 0} as the carrier of x 1 and C(x 2 ) = { j ∈ M; x 2 j > 0} as the carrier of x 2 .
Let G(A, B) be a bimatrix game and let T be a maximal Nash subset for the game G (A, B), then the matrices A(T ) = a i j i∈M(A,x 2 ), j∈C(x 2 ) and B(T ) = b i j i∈C(x 1 ), j∈M(x 1 ,B) do not depend on the choice of the point (ẋ 1 ,ẋ 2 ) ∈ relint (T ) (Jansen [9]). Jansen proved that if (x 1 , Since T is the Cartesian product of the two convex polytopes L(x 1 ) and K (x 2 ) and We use these results to implement an automatic procedure that determines the dimension of each maximal Nash subset. To do so, we generate an equilibrium point (x 1 , x 2 ) in the relative interior of the maximal Nash subset T using a convex combination of the extreme equilibrium points of T , since T is convex and closed. We then use exact arithmetics as in [3] to determine the rank of the corresponding matrices A(T ) and B(T ).

Example 2.2
For the bimatrix game taken from Borm et al. [6], we have determined the dimensions of the six maximal Nash subsets found (Table 2).

Extreme perfect equilibria
When decision-makers face a large set of Nash equilibria to choose from, additional rational concepts can be used to refine the set. As described by Borm et al. [6], a maximal Selten subset is a set of interchangeable perfect equilibria. Each maximal Selten subset is a subset of a maximal Nash subset and each extreme point of a maximal Selten subset corresponds to an extreme perfect equilibrium. Borm et al. [6] mention also that each maximal Selten subset is a face of a maximal Nash subset. To the best of our knowledge, the implementation of computational methods to enumerate all maximal Selten subsets of bimatrix games was not achieved before. However, the computation of normal form perfect equilibria was already achieved by von Stengel et al. [19] for extensive two-person games. In their paper, von Stengel et al. use the sequence form of extensive two-person games. Starting from an arbitrary vector, von Stengel et al. present an algorithm which traces an equilibrium on a piecewise linear path in the sequence form strategy space. They show that if the starting vector represents a pair of completely mixed strategies (x 1i > 0 and x 2 j > 0, ∀ i, j), then the equilibrium is normal form perfect.
The properties of maximal Nash subsets allow us to define a complete method to systematically enumerate all the extreme equilibria using the Eχ M I P [2] and the EEE [1] algorithms and determining which of them correspond to a maximal Selten subset extreme point, i.e. an extreme perfect equilibrium. Using this approach, automatic identification of all perfect extreme Nash equilibria is made possible. Let us first define The following definition summarizes the definition of a perfect equilibrium given by Selten [17] .
Selten [17] and Myerson [14] show that there is always at least one perfect equilibrium for any strategic form game. To define an automatic procedure to identify perfect equilibria, we will use the following characterization by Van Damme [18].

Definition 3.2
Let (x 1 ,x 2 ) be a Nash equilibrium of the bimatrix game. If there is a unit vector x 1 such that This characterization of perfect equilibrium strategies can be used to show that it is possible to verify if an equilibrium (x 1 ,x 2 ) is perfect or not. In the following Definition 3.3, we introduce two linear programs to state an alternative definition of a perfect equilibrium. (3.1) To show the equivalence between Definitions 3.2 and 3.3, let (x * 1 , * 1 ) and (x * 2 , * 2 ) be optimal solutions for the two programs (3.1). If one of the two optimal objective function values is strictly positive, then at least one of the variables is strictly positive. Hence, there is at least one i If the two optimal objective functions are equal to zero, then all of * 1 and * 2 vectors elements are equal to zero. These * 1 and * 2 vectors correspond to the maximum slack vectors between x t * 1 A andx t 1 A, and between Bx * 2 and Bx 2 . Thus, Hence, if all the variables are equal to zero the equilibrium (x 1 ,x 2 ) is perfect. The two linear programs (3.1) are always feasible. For example, setting 1 = 0 and x 1 =x 1 or 2 = 0 and x 2 =x 2 always provides a feasible solution to each of the two linear programs.
Example 3.4 For the second extreme Nash equilibrium found for the bimatrix game taken from Borm et al. [6], the corresponding pair of linear programs is expressed as follows: One should note that the exact arithmetics libraries used in [3] were used to obtain exact solutions for these two linear programs. For this extreme Nash equilibrium, none of the 1 j variables can exceed zero. However,

Maximal Selten subset geometry and dimension
Let NP be the set of extreme perfect Nash equilibria of a bimatrix game. As a maximal Selten subset is a face of a maximal Nash subset, Borm et al. [6] define a dimension relation for maximal Selten subsets.
Let Sl be a maximal Selten subset for a bimatrix game G(A, B). One can write: Let us also define the matrices (x 1 ,B) .
While this definition applies only for bimatrix games G (A, B) such that A, B > 0, it is well known that every bimatrix game can be modified to make A, B > 0, and without changing the set of maximal Nash subsets. For example, this can easily be done by adding 1 + |a min |, with a min = min a i j , to each element of A and 1 + |b min |,with b min = min b i j , to each element of B.
We can use this result to automatically compute the dimension of all maximal Selten subsets of a given bimatrix game G (A, B). We extended the automatic procedure implemented in Sect. 2.1 to determine the dimension of each maximal Selten subset obtained by identification of all extreme perfect Nash equilibria using the linear programs presented in Definition 3.3.
Example 3. 5 We have determined the dimensions of the six maximal Selten subsets found for the bimatrix game taken from Borm et al. [6] (Table 3).

Detection of extreme perfect Nash equilibria
We next combine the pair of linear programs proposed earlier (Definition 3.3) in a single linear program. The optimal objective function value of this linear program would indicate if the Nash equilibrium is perfect or not. (x 1 ,x 2 ) is perfect if and only if the optimal objective function value of the following linear program Q(x 1 ,x 2 ) is equal to zero.

Proposition 3.6 The equilibrium
Proof If the optimal objective function is equal to zero, then all of * 1 and * 2 vectors elements are equal to zero. These * 1 and * 2 vectors correspond to the maximum slack vectors between x t * 1 A andx t 1 A, and Bx * 2 and Bx 2 . Thus, x t * 1 A =x t 1 A and between Bx * 2 = Bx 2 . At optimality, if all the variables are equal to zero the equilibrium (x 1 ,x 2 ) is perfect.

Enumeration of extreme perfect Nash equilibria
To detect all extreme perfect Nash equilibria of bimatrix games directly, the two state of the art algorithms Eχ -MIP [2,3] and the EEE [1] were modified to incorporate the linear program (3.2) as a subproblem during the enumeration of all extreme Nash equilibria. In this section, we show how the Eχ -MIP algorithm was improved and extended order to enumerate all extreme perfect Nash equilibria. We also show how the EEE was implemented in exact arithmetic and extended to achieve the main goal of this work.

The Eχ -MIPerfect algorithm
The algorithm Eχ -MIPerfect is an improved and extended version of the Eχ -MIP algorithm for the enumeration of all extreme equilibria for bimatrix and polymatrix games. Eχ -MIPerfect generates a main branching tree and many auxiliary trees. At each node of the main branching tree, a dichotomous branching over one of the binary variables is performed.
The main tree seeks binary variables combinations involved in one or more extreme equilibria. An auxiliary tree is generated from every main tree node offering an extreme feasible solution, i.e. an extreme Nash equilibrium. Each binary variable combination involved in an extreme Nash equilibrium is then explored to find all extreme perfect Nash equilibria resulting from this combination. To avoid redundant exploration of binary variables combinations, a cutting constraint is inserted once auxiliary exploration is completed. Moreover,  (1)x t 1 e n = 1, Ax 2 − α 1 e n ≤ 0,  At each node of the main tree, a master problem (P) with at most two constraints fixing one or more binary variables, and one or more combination of binary variables cutting constraints, is solved. This represents a reduction in the number of binary variables fixing constraints compared to the original version of the Eχ -MIP algorithm. Each time a new extreme Nash equilibrium is obtained, the corresponding subproblem (Q) defined by Proposition 3.6 is solved. In the case where the optimal objective of the subproblem (Q) is equal to zero, the extreme Nash equilibrium is perfect. At each node of an auxiliary tree node, a linear program is solved. This linear program results from the 0 − 1 mixed linear program (4.1), i.e. master problem (P), with one combination of binary variables fixing constraints and at most two constraints fixing one or more continuous variables. This represents again a reduction in the number of continuous variables fixing constraints compared to the original version of the Eχ -MIP algorithm. If a new extreme Nash equilibrium is obtained, the corresponding subproblem (Q) defined by Proposition 3.6 is solved. In the case where the optimal objective of the subproblem (Q) is equal to zero, the extreme Nash equilibrium is perfect.

Improvement of the variable fixing constraints
With the original version Eχ -MIP algorithm, at each node of the main tree one or more binary variables are fixed to 0 or 1. This has been performed by adding one constraint for each variable set to a fixed value, i.e. u q k = 0 or u q k = 1, where k (k = 1, 2) is the player's index and q is the strategy's index of player k. These constraints are represented by quasi-empty rows with respect to the columns entries since one single variable is considered at each new branching. One single entry of the inserted row is non-zero and the right hand side is either equal to 1 or 0. Considering a bimatrix game where player I has n pure strategies and player II has m pure strategies, n + m quasi-empty rows are added once the maximal depth in the main tree is reached. One can think also that the same number of slack variables is added. Moreover, these equality constraints would increase the degeneracy of the linear programs to be solved. This can be improved using the following constraint formulation. Only two rows are added to the original 0 − 1 mixed linear program (P) to represent the main tree branching.
For each branch where a binary variable u q k = 0, the column entry of u q k in the following condition is set to 1; For each u q k = 0 ⇒ 0 + · · · + u q k + · · · + 0 ≤ 0.
The same way, for each branch where a binary variable u q k = 1, the column entry of u q k in the following condition is set to 1; For each u q k = 1 ⇒ 0 + · · · + u q k + · · · + 0 ≥ 0 + · · · + 1 + · · · + 0. At each node of an auxiliary tree, one or more real variables are fixed to 0. With the original version Eχ -MIP algorithm, this has been performed by adding one constraint for each variable set to zero, i.e. x q k = 0. Therefore, we can use the same formulation as for the binary variables branching.
For each branch where a real variable x q k = 0, the column entry of x q k in the following condition is set to 1; For each x q k = 0 ⇒ 0 + · · · + x q k + · · · + 0 ≤ 0. (4.4)

Eχ -MIPerfect pseudo-code
The Eχ -MIPerfect algorithm can be formally stated as follows.
Step Step c. Solving subproblem. Solve Q(X ) to optimality. If the optimal objective of Q(X ) is equal to 0, addX to NP.
Step d. Auxiliary Branching. If the current node C belongs to the main tree, set binary variables vector U at its value in S. For eachx q k > 0 ∈X : Set the entry of x q k to 1 in condition (4.4) and go to step b.
Step e. Main Branching. If the current node belongs to the main tree, no extreme perfect equilibria can be found from this node or its sons.
Else, return to the father node in the main tree and add a cutting constraint to eliminate the combination of binary variables U in S.
Select a binary variable u q k ∈ U on which no branching was performed in the preceding nodes and such that its real variable x q k is the closest to 1 2 . Let p = N + 1. Else ( p > |X |), go to step f .
Step f . End.
The sets E and NP contain, respectively, all extreme equilibria and all extreme perfect equilibria of the bimatrix game. Proof The algorithm seeks all possible ways to satisfy the complementary conditions through the main branching tree and the auxiliary trees. IfX is an extreme perfect Nash equilibrium, there exists at least a path in the branching tree generated by Eχ -MIPerfect leading to it.

The EEE-Perfect algorithm
This section illustrates the new exact arithmetics implementation of the EEE algorithm and its extension to enumerate all extreme perfect Nash equilibria. The EEE algorithm determines all extreme Nash equilibria by enumerating all vertices of X 1 and X 2 that satisfy the complementarity conditions x t 1 (α 1 e n − Ax 2 ) = 0 and The EEE algorithm considers the parametrized linear programs: Indeed, the constraints appearing in the definition of X 1 and X 2 are those of the primal and dual problems. The objective functions x t 1 Ax 2 − α 2 and x t 1 Bx 2 − α 1 are gaps between the primal and dual objective functions. The structure of the algorithm presented in [1] almost directly applies. Given a pair of current subproblems R 1 andR 2 at a given node of the search tree, we define the following subproblems: R i 1 to beR 1 in which the constraint x 1i ≥ 0 is replaced by x 1i = 0, R j 1 to beR 1 in which the constraint x t 1 B j ≤ α 2 is replaced by x t 1 B j = α 2 , R j 2 to beR 2 in which the constraint x 2 j ≥ 0 is replaced by x 2 j = 0, R i 2 to beR 2 in which the constraint A i x 2 ≤ α 1 is replaced by A i x 2 = α 1 . We here state the pseudo code of the EEE-Perfect algorithm for enumeration of bimatrix games extreme perfect Nash equilibria.
a. Initialization. Initialize the set of nodes to be explored to ND = {(x 1 , R 1 , R 2 )} where x 1 is set to an arbitrary initial value (for example x 1 = ( 1 n , 1 n , . . . , 1 n )). Go to step b. b. Selection of a Node. If the set ND of nodes to be explored is empty, then stop. Otherwise, choose and remove a node C from ND. If C = (x 1 ,R 1 ,R 2 ) then go to step c, otherwise C = (x 2 ,R 1 ,R 2 ) and go to step d.
c. Direct Feasibility Test (R 2 ). IfR 2 (x 1 ) is infeasible then go to step b, otherwise choose (x 2 , α 1 ) that optimizesR 2 (x 1 ), update (x 1 , α 2 ) that optimizesR 1 (x 2 ) and then go to step e. d. Direct Feasibility Test (R 1 ). IfR 1 (x 2 ) is infeasible then go to step b, otherwise choose (x 1 , α 2 ) that optimizesR 1 (x 2 ), update (x 2 , α 1 ) that optimizesR 2 (x 1 ) and then go to step e. e. Branching. Branch on the variable associated with the largest complementarity product In the case where all complementarity products are already forced to be null,X = (x 1 ,x 2 ) is an extreme Nash equilibrium, go to step f, then: Go to step b. f. Solving subproblem Q. Solve Q(X ) to optimality. If the optimal objective of Q(X ) is equal to 0, add X to NP.
The Steps c and d are considered as the backtracking steps. In each of them, only one problemR 1 orR 2 is checked for feasibility as only one of them differs from its father. When this problem is feasible, these steps end with feasible strategies x 1 and x 2 which are vertices of X 1 and X 2 .
Step e creates new nodes in the tree. When the depth of the current node is less than or equal to n + m, (i.e. when at least one of the complementarity conditions is not forced to be satisfied), two newsons are created. Otherwise, the corresponding solution defines equilibrium strategies since all the complementarity conditions are satisfied, and feasibility is insured by Steps c and d; a new son is created for each strictly positive variable or slack variable.

Theorem 4.2 The algorithm EEE-Perfect enumerates in finite time all extreme perfect Nash equilibria of a bimatrix game.
Proof The EEE-perfect algorithm seeks all possible ways to satisfy the complementary conditions through its branching rules as shown in [1].
Step f verifies the perfectness of any extreme Nash equilibrium found. Hence, ifX is an extreme perfect Nash equilibrium of a given bimatrix game, there exists at least one path in the branching tree generated by EEE-Perfect leading to it.

Computational results
Our computational experiments on randomly generated bimatrix games with different size and density are presented in Table 4. Using C++ implementations of the Eχ -MIPerfect and the EEE-Perfect algorithms, these experimental results were obtained under WindowsXP on workstations with 3.3GHz Intel Core i5 vPro processors, and 3.2 GB RAM.
For the entries in Table 4, the column "Size" indicates the original size of the generated set of bimatrix games. The column "d" indicates the density of the generated bimatrix games. For each given size and density, we have randomly generated 30 different bimatrix games. The columns "n" and "m" indicate, respectively, the average number of undominated strategies of the first and second players. The column "ne" indicates the average number of extreme Nash equilibria enumerated. The column "np" indicates the average number of extreme perfect Nash equilibria enumerated. The column "%" indicates the percentage of extreme perfect equilibria with respect to the total number of extreme Nash equilibria. The column "nt" indicates the average number of maximal Selten subsets enumerated. The column "dim" indicates the average dimension of each maximal Selten subset. Finally, the column "time" indicates, on the 30 bimatrix games, the average execution time (in seconds) per game, respectively, for the Eχ -MIPerfect algorithm ("Eχ -MIP") and the EEE algorithm ("EEE").

Discussion
The experimental results show that the average dimension of the maximal Selten subsets increases with the size of the bimatrix game. The results also show that the percentage of extreme perfect equilibria increases with an increase in the bimatrix games density. The bimatrix games density has also an impact on the computing time required by each algorithm to enumerate all extreme perfect Nash equilibria. For both algorithms, Eχ -MIPerfect and EEE-Perfect, the computing times increase if the bimatrix games density decreases. Hence, for the Eχ -MIPerfect algorithm, the computing time jumps from 269.11 seconds to 839.20 seconds when the 5 × 5 bimatrix games density drops from 50 to 25 %. Similarly, for the EEE-Perfect algorithm, the computing time jumps from 57.44 to 180.29 s when the 5 × 5 bimatrix games density drops from 50 to 25 %. The sparsest case where the bimatrix games density is 25 % appears to be the most time consuming for both algorithms for every given bimatrix game' size. This could be explained by the fact that the high number of zeros in the payoff matrices reduces the number of dominated strategies and increases the number of extreme Nash equilibria by offering a number of strategies with the same zero payoff for each player. This typical behavior was already observed for the floating arithmetics implementations of the Eχ -MIP and the EEE algorithms by Audet et al. [2], and for the exact arithmetics implementation of the original EEE algorithm by Avis et al. [4]. Finally, the experimental results show that the EEE algorithm is on average much faster than the Eχ -MIP algorithm. This can be explained by the fact that our exact arithmetics implementation of the Eχ -MIP algorithm uses both of the Branch and Bound and the Simplex algorithms to optimize the 0 − 1 mixed linear programs while the EEE algorithm just uses the Simplex algorithm implementation. However, the Eχ -MIP algorithm is still, to the best of our knowledge, the only algorithm able to enumerate polymatrix games (more than 2 players) extreme Nash equilibria. A future work would be to explore the possibility of extending the EEE algorithm to polymatrix games and improve our current implementation.

Conclusion
The book of Pardalos, Migdalas and Pitsoulis, "Pareto Optimality, Game Theory and Equilibria" [16], surveys recent developments and numerous applications of game theory and equilibrium programming in economics and engineering applications. In this paper, we used maximal cliques enumeration to find all maximal Nash subsets corresponding to a bimatrix game. We used dimension relation defined for maximal Nash and Selten subsets to implement an automatic procedure to compute their dimensions. We presented a linear programming approach to identify extreme perfect Nash equilibria, enumerate all Selten maximal subsets and compute their dimensions. Based on this linear formulation, we proposed the Eχ -MIPerfect and the EEE-Perfect algorithms which enumerate all extreme perfect Nash equilibria. The implementations of these algorithms allowed us to generate experimental results on bimatrix games with different size and density. These results show that the probability of meeting a perfect equilibrium profile increases with an increase in the bimatrix game's density.