RankedStrategy

Source:

Local role: Result container for one evaluated strategy and its aggregate utility.

Fields:

  • strategy: Strategy
  • utility_frame: UtilityFrame
  • rank_key: tuple[float, …]
  • terminal_node_ids: list[str]
  • terminal_probabilities: dict

Example:

ranker = StrategyRanker(utility)
ranked_strategies = ranker.rank_strategies([strategy_a, strategy_b], actor)

best = ranked_strategies[0]           # highest utility
print(best.strategy.id)
print(best.utility_frame.scalar_value)
print(best.rank_key)                  # sorting tuple used for tie-breaking
print(best.terminal_node_ids)         # terminal nodes that contributed to the score
print(best.terminal_probabilities)    # {node_id: accumulated_probability}

See also:

Ometeotl

A Python library to build complex multi-agent simulations, wargames, and AI-driven strategies