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. In the current version of the package, this argument is not used anymore, because we are always able to decide whether a strategy 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=profile)], ... utility_dependent=[StrategyOrdinal({'abc': 'a', 'acb': 'ac', 'bac': 'b'}, profile=profile)], ... non_equilibria=[StrategyOrdinal({'abc': 'ab', 'acb': 'a', 'bac': 'b'}, profile=profile)], ... inconclusive=[StrategyOrdinal({'abc': 'ab', 'acb': 'ac', 'bac': 'b'}, profile=profile)] ... ) >>> print(analyzed_strategies.winners_at_equilibrium) a, b