Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lemke-Howson fails to find any equilibrium on nondegenerate game #83

Open
mbabramo opened this issue Jun 6, 2020 · 1 comment
Open

Comments

@mbabramo
Copy link

mbabramo commented Jun 6, 2020

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
Copy link
Owner

Thanks for this @mbabramo, I'll take a look, at some point the lexicographic Lemke-Howson algorithm will simply replace thee Lemke-howson one. Tagging #77 so that once I come to that I'll remember to come back to this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants