Skip to content

tucoopy.power.rae

Rae satisfaction index.

The Rae index measures how often a player is "satisfied" by a coalition outcome: winning when included, or losing when excluded.

rae_index

rae_index(game)

Compute the Rae index (satisfaction index) for a complete simple game.

In a simple game, coalitions are either winning or losing (\(v(S) \in \{0,1\}\)). The Rae index measures how often a player is satisfied with the outcome of a coalition, assuming all coalitions are equally likely.

A player \(i\) is considered satisfied with a coalition \(S\) if:

  • \(S\) is winning and \(i \in S\), or
  • \(S\) is losing and \(i \notin S\).

The Rae index of player \(i\) is therefore:

\[ R_i = \frac{1}{2^n} \Big( \#\{ S \mid v(S)=1,\ i \in S \} + \#\{ S \mid v(S)=0,\ i \notin S \} \Big). \]

Parameters:

Name Type Description Default
game Game

A complete simple game, i.e. a game where: - all \(2^n\) coalitions are explicitly defined, and - values are in {0,1}.

required

Returns:

Type Description
list[float]

Rae index for each player (length n_players).

Raises:

Type Description
InvalidGameError

If the game is not a complete simple game (checked by :func:require_complete_simple_game).

NotSupportedError

If n_players exceeds the supported limit for completeness checks.

Notes
  • The Rae index can be interpreted as the probability that a randomly selected coalition outcome agrees with player \(i\)'s participation (winning with the coalition, or losing outside it).
  • Unlike power indices such as Shapley–Shubik or Banzhaf, the Rae index measures satisfaction rather than pivotality.
  • There is a known relationship between the Rae index and the Banzhaf index.

Examples:

>>> rae = rae_index(g)
>>> len(rae) == g.n_players
True