Skip to content

ENH: GetMinPayoff/GetMaxPayoff should refer to plays instead of outcomes #498

@tturocy

Description

@tturocy

The implementation and documentation of Game::GetMinPayoff and Game::GetMaxPayoff state these return the smallest and largest payoffs in any outcome. The corresponding functions are implemented correctly to that specification.

However, these calls are used in lp, lcp, and enummixed to normalise payoffs to ensure payoffs are nonnegative, where this is essential for the formulation of the problems.

The problem is that the GameTreeRep supports outcomes that are not at terminal nodes. Therefore, the minimum payoff to a player in a play of the game may be smaller than the minimum payoff for any one outcome, as more than one outcome may be visited in a play.

These functions should be re-written to compute correctly for game trees to consider any play of the game. Doing this requires a little bit of thought because non-terminal outcomes are the exception rather than the rule in most applications. So we probably want to avoid having to traverse the tree in the event there are no non-terminal outcomes, which makes fixing this well a bit more subtle.

Metadata

Metadata

Assignees

Labels

c++Items which involve writing in C++

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions