Skip to content

tucoopy.power.holler

Holler (Public Good) power index.

The Holler index counts how often a player appears in minimal winning coalitions, optionally normalized to sum to one.

holler_index

holler_index(game, *, normalized=True)

Compute the Holler index (also known as the Public Good index) for a simple game.

The Holler index is based exclusively on the minimal winning coalitions of the game. A coalition \(S\) is minimal winning if:

  • \(v(S) = 1\), and
  • for every \(i \in S\), \(v(S \setminus \{i\}) = 0\).

The Holler index of a player \(i\) is the number of minimal winning coalitions that contain \(i\):

\[ H_i = \#\{ S \text{ minimal winning} \mid i \in S \}. \]

Optionally, this vector can be normalized to sum to 1.

Parameters:

Name Type Description Default
game Game

A simple game.

required
normalized bool

If True, normalize the index to sum to 1.

True

Returns:

Type Description
list[float]

Holler index for each player (length n_players).

Notes
  • This index focuses only on the essential winning structures of the game, ignoring larger winning coalitions that contain redundant players.
  • It is also called the Public Good index because it measures how often a player is indispensable in producing the public good (a winning outcome).
  • Unlike Shapley or Banzhaf, this index does not consider coalition sizes or permutations—only the structure of minimal winning coalitions.

Examples:

>>> hi = holler_index(g)
>>> len(hi) == g.n_players
True