Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
966bec8
For mixed behaviors renamed `liap_value` -> `agent_liap_value` and `m…
tturocy Nov 24, 2025
89c182c
Rename agent functions in MixedBehaviorProfile
tturocy Nov 24, 2025
1b839d5
Separated out `enumpure_agent_solve` function for clarity.
tturocy Nov 24, 2025
a1f6946
Add `liap_agent_solve` and remove that functionality from `liap_solve…
tturocy Nov 24, 2025
8cca508
Change interface of `gambit-liap` to be more similar to `gambit-enump…
tturocy Nov 24, 2025
8512263
Change GUI behavior to use only strategic for enumpure and liap
tturocy Nov 24, 2025
2f69c57
Merge branch 'master' into dev_terminology
tturocy Dec 8, 2025
b8026c3
Implement new (correct) max_regret and liap_value on mixed behaviour …
tturocy Dec 8, 2025
0db7bef
fixed typo: self.__max_regret -> self._max_regret
rahulsavani Dec 11, 2025
fef1ab1
tests for max_regret/infoset regret on mixed behavior profiles
rahulsavani Dec 16, 2025
65f6a12
added tests/test_games/myerson_fig_4_2.efg
rahulsavani Dec 16, 2025
ef1482b
Added comprehensive tests for GameStructureChangedError (#700)
rahulsavani Dec 15, 2025
8e92042
agent_{liap_value,max_regret} added to tests for GameStructureChanged…
rahulsavani Dec 17, 2025
2a4cfbf
Merge branch 'master' into dev_terminology
tturocy Dec 17, 2025
a89032a
Merge branch 'master' into dev_terminology
tturocy Dec 17, 2025
48460cd
Merge branch 'master' into dev_terminology
tturocy Dec 17, 2025
cae6595
Fix incorrect function called in MixedBehaviorProfile.liap_value
tturocy Dec 17, 2025
8fb501a
remove xfail from test for Myerson fig 4.2 agent versus non-agent lia…
rahulsavani Dec 17, 2025
a71091d
title and comment in tests/test_games/myerson_fig_4_2.efg
rahulsavani Dec 17, 2025
f4de44e
notebook showing agent versus non-agent notions
rahulsavani Dec 17, 2025
1794228
missing file
rahulsavani Dec 17, 2025
f0cec0b
using liap_solve and enummixed_solv in 04_agent_versus_non_agent_regr…
rahulsavani Dec 18, 2025
2ea0a22
improve 04_agent_versus_non_agent_regret.ipynb
rahulsavani Dec 18, 2025
fd63135
move to advanced_tutorials/agent_versus_non_agent_regret.ipynb
rahulsavani Dec 18, 2025
a494268
fix relative import
rahulsavani Dec 18, 2025
698907b
agent -> non-agent max_regret/liap_solve in 03_stripped_down_poker.ipynb
rahulsavani Dec 18, 2025
cd2d917
removed use_strategic from call to logit_solve in 03_stripped_down_po…
rahulsavani Dec 18, 2025
c95c11c
Updated ChangeLog.
tturocy Dec 19, 2025
70a8bfa
Merge branch 'master' into dev_terminology
tturocy Dec 19, 2025
e3b2fd0
fixing up enumpoly tests
rahulsavani Dec 19, 2025
c03048c
problem cases shown in tests
rahulsavani Dec 19, 2025
00da58d
test_regrets_tmp
rahulsavani Dec 21, 2025
edcd647
clearer example of (one) problem
rahulsavani Dec 21, 2025
a5de7d4
test demonstrating issue is to do with infoset order
rahulsavani Dec 22, 2025
7d5628e
test demonstrating issue is to do with infoset order
rahulsavani Dec 22, 2025
c7b3628
Previous test failures were due to not calling `.sort_infosets()` pri…
tturocy Dec 23, 2025
8375d98
Merge branch 'master' into dev_terminology
tturocy Jan 2, 2026
5f782ce
Tidy up tests now that information set sorting is obsolete.
tturocy Jan 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
to detect if an information is absent-minded.

### Changed
- Terminology for agent-form calculations on extensive games has been clarified. Mixed behavior profiles
distinguish "agent" regret and liap values from their strategy-based analogs. Methods which compute
using the agent-form - specifically `enumpure_solve` and `liap_solve`, now clarify this by being named
differently in `pygambit`. (#617)
- In the graphical interface, removed option to configure information set link drawing; information sets
are always drawn and indicators are always drawn if an information set spans multiple levels.
- In `pygambit`, indexing the children of a node by a string inteprets the string as an action label,
Expand Down
15 changes: 15 additions & 0 deletions contrib/games/myerson_fig_4_2.efg
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
EFG 2 R "Myerson (1991) Fig 4.2" { "Player 1" "Player 2" }
"An example from Myerson (1991) Fig 4.2 which has an agent Nash equilibrium that is
not a Nash equilibrium"

p "" 1 1 "" { "A1" "B1" } 0
p "" 2 1 "" { "W2" "X2" } 0
p "" 1 2 "" { "Y1" "Z1" } 0
t "" 1 "" { 3, 0 }
t "" 2 "" { 0, 0 }
p "" 1 2 "" { "Y1" "Z1" } 0
t "" 3 "" { 2, 3 }
t "" 4 "" { 4, 1 }
p "" 2 1 "" { "W2" "X2" } 0
t "" 5 "" { 2, 3 }
t "" 6 "" { 3, 2 }
4 changes: 4 additions & 0 deletions doc/pygambit.api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,8 @@ Probability distributions over behavior
MixedBehaviorProfile.infoset_prob
MixedBehaviorProfile.belief
MixedBehaviorProfile.is_defined_at
MixedBehaviorProfile.agent_max_regret
MixedBehaviorProfile.agent_liap_value
MixedBehaviorProfile.max_regret
MixedBehaviorProfile.liap_value
MixedBehaviorProfile.as_strategy
Expand Down Expand Up @@ -297,11 +299,13 @@ Computation of Nash equilibria

NashComputationResult
enumpure_solve
enumpure_agent_solve
enummixed_solve
enumpoly_solve
lp_solve
lcp_solve
liap_solve
liap_agent_solve
logit_solve
simpdiv_solve
ipa_solve
Expand Down
8 changes: 4 additions & 4 deletions doc/tools.enumpure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ pure-strategy Nash equilibria.

.. versionadded:: 14.0.2

Report agent form equilibria, that is, equilibria which consider
only deviations at one information set. Only has an effect for
extensive games, as strategic games have only one information set
per player.
Report agent Nash equilibria, that is, equilibria which consider
only deviations at a single information set at a time. Only has
an effect for extensive games, as strategic games have only
one information set per player.

.. cmdoption:: -h

Expand Down
16 changes: 16 additions & 0 deletions doc/tools.liap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,24 @@ not guaranteed to find all, or even any, Nash equilibria.
in terms of the maximum regret. This regret is interpreted as a fraction
of the difference between the maximum and minimum payoffs in the game.

.. versionchanged:: 16.5.0

The `-A` switch has been introduced to be explicit in choosing to compute
agent Nash equilibria. The default is now to compute using the strategic
form even for extensive games.


.. program:: gambit-liap

.. cmdoption:: -A

.. versionadded:: 16.5.0

Report agent Nash equilibria, that is, equilibria which consider
only deviations at a single information set at a time. Only has
an effect for extensive games, as strategic games have only
one information set per player.

.. cmdoption:: -d

Express all output using decimal representations with the
Expand Down
Loading