AnalyzedStrategies

class poisson_approval.AnalyzedStrategies(equilibria: list, utility_dependent: list, inconclusive: list, non_equilibria: list)[source]

A container with all the strategies analyzed for a given profile.

Parameters:
  • equilibria (list of Strategy) – List of the strategies where equilibrium is sure.
  • utility_dependent (list of Strategy) – List of the strategies where the equilibrium depends on the exact utilities.
  • inconclusive (list of Strategy) – List of the strategies where we are not able to decide whether it is an equilibrium or not.
  • non_equilibria (list of Strategy) – List of the strategies where the program certifies there is no equilibrium.

Examples

>>> from poisson_approval import StrategyOrdinal, ProfileOrdinal
>>> profile = ProfileOrdinal({'abc': 0.2, 'acb': 0.3, 'bac': 0.5})
>>> analyzed_strategies = AnalyzedStrategies(
...     equilibria=[StrategyOrdinal({'abc': 'a', 'acb': 'a', 'bac': 'b'}, profile)],
...     utility_dependent=[StrategyOrdinal({'abc': 'a', 'acb': 'ac', 'bac': 'b'}, profile)],
...     non_equilibria=[StrategyOrdinal({'abc': 'ab', 'acb': 'a', 'bac': 'b'}, profile)],
...     inconclusive=[StrategyOrdinal({'abc': 'ab', 'acb': 'ac', 'bac': 'b'}, profile)]
... )
>>> print(analyzed_strategies.winners_at_equilibrium)
a, b
winners_at_equilibrium

The possible winners at equilibrium.

This gives the winners in all equilibria, without the winners in utility_dependent.

Type:Winners