HP provisional termination - #1121
Conversation
Removed the section on the homotopy path-following method for computing Nash equilibrium, including its description and references.
Removed method-specific parameters description for 'hp'.
|
The tests for this PR are failing on Python 3.10 with: |
…dresFerCervell/gambit into feature/hp_provisional_ending
|
Just understood the issue with the random game. When it approaches to 1, the first position of the tangent is almost 0 in the newton step. Therefore, The polishing method returned the all-zero profiles because the comparison between numbers and nan is false. Fixed that too. |
This PR solves the first part of PR #1113. It includes the changes made in PR #1032, removing conflicts.
For every generic game, the Nash equilibrium selected by the Harsanyi Selten procedure is guaranteed (at least we haven´t found a counterexample).
Regarding non-generic ones, if an equilibrium is returned, there is no guarantee that it is the one we wanted (tracer result should be checked in order to be sure).
However, I haven´t found any example in the 477 games evaluated (random and the ones from the catalog or contrib) that happen to find an equilibrium after a tracer error. This means that the polishing method is not being used (if the tracer fails, so does it).
The games that always fail are, as I mentioned in our meeting,
csg2.nfg,csg3.nfgandcsg4.nfgand a random game of 2 players with 10 strategies each. This one is specially confusing because the Jacobian does not seem to be singular. The tracer gets a regret of 0.00542893, and the polishing method returns an all-zero profile in every position in spite of the safeguard I added. I will keep studying it.We can say then that around 470/477 games get the expected equilibrium.