Skip to content

Remove C++ subgame-perfect equilibrium solver#641

Merged
tturocy merged 2 commits intomasterfrom
dev_subgames
Nov 25, 2025
Merged

Remove C++ subgame-perfect equilibrium solver#641
tturocy merged 2 commits intomasterfrom
dev_subgames

Conversation

@tturocy
Copy link
Copy Markdown
Member

@tturocy tturocy commented Nov 24, 2025

This implements #637. It also includes some minor refactoring of the command-line tool drivers which it was convenient to do while making this change in those files.

This removes the subgame-perfect equilibrium solver
in C++ and from the associated command-line
tools for `enumpure`, `lp`, and `lcp`.

This will be replace in due course with a more flexible
and customisable functionality.

Closes #637.
* Refactor creation of renderers for DRY.
* Minor C++ modernisations
@tturocy tturocy requested a review from rahulsavani November 24, 2025 10:47
@tturocy tturocy linked an issue Nov 24, 2025 that may be closed by this pull request
@tturocy
Copy link
Copy Markdown
Member Author

tturocy commented Nov 24, 2025

@rahulsavani for you to check please that everything seems to work for you with the affected tools.

Copy link
Copy Markdown
Member

@rahulsavani rahulsavani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested gambit-enumpure, gambit-lp, and gambit-lcp on master and on this branch.

I can confirm that the -P option is now gone and all three seem to work fine now, so this PR looks good.

I will note however, that with all three CLI tools, I could not get them to work with the -P option on current master. I would always get a "Error: Dereferenced null pointer", as in:

gambit-enumpure -P sample_extensive_game.efg
Search for Nash equilibria in pure strategies
Gambit version 16.4.0, Copyright (C) 1994-2025, The Gambit Project
This is free software, distributed under the GNU GPL

Error: Dereferenced null pointer

Not our problem any more though once this is merged in I suppose ;-)

@tturocy tturocy merged commit f3217a6 into master Nov 25, 2025
28 checks passed
@tturocy tturocy deleted the dev_subgames branch November 25, 2025 08:55
@tturocy
Copy link
Copy Markdown
Member Author

tturocy commented Nov 25, 2025

I tested gambit-enumpure, gambit-lp, and gambit-lcp on master and on this branch.

I can confirm that the -P option is now gone and all three seem to work fine now, so this PR looks good.

I will note however, that with all three CLI tools, I could not get them to work with the -P option on current master. I would always get a "Error: Dereferenced null pointer", as in:

gambit-enumpure -P sample_extensive_game.efg
Search for Nash equilibria in pure strategies
Gambit version 16.4.0, Copyright (C) 1994-2025, The Gambit Project
This is free software, distributed under the GNU GPL

Error: Dereferenced null pointer

Not our problem any more though once this is merged in I suppose ;-)

But it is! Now see #647.

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

Successfully merging this pull request may close these issues.

MAINT: Remove C++ solve-by-subgames

2 participants