Lemke-Howson fails to find any equilibrium on nondegenerate game
mbabramo opened this issue · 1 comments
mbabramo commented
The following test results in an exception:
def test_that_fails(self):
A = np.array([[ 9.5, -7.8 ], [ -9.6, 0.3 ], [ -7.1, -1.4 ], [ 5.9, 7.6 ], [ 9, 0.3 ], [ 7.5, 6.9 ], [ -3.1, 3.6 ], [ -8.4, -3.7 ]])
B = np.array([[ 0.2, 0.6 ], [ 0.4, 0.1 ], [ 0.9, 0 ], [ 0.4, 0.1 ], [ 0.1, 0.2 ], [ 0.2, 0.1 ], [ 0.8, 1 ], [ 0.2, 0.4 ]])
print("A")
print(A)
print("B")
print(B)
for eq in lemke_howson(A, B, 9):
print(eq)
Note that if I use support enumeration or the lexicographic Lemke-Howson (or drop any other label initially), the algorithm works and produces a unique equilibrium in which both the row and column player have mixed strategies with support of 2. If that is correct, the game is nondegenerate, so it is my understanding that Lemke-Howson should produce an equilibrium.
Thank you very much for this very useful resource and also for your excellent videos.
drvinceknight commented