tucoopy.solutions.gately¶
Gately point.¶
The Gately point is an imputation based on a proportionality condition involving individual rationality and utopia payoffs.
GatelyResult dataclass ¶
Result of the Gately point computation.
Attributes:
| Name | Type | Description |
|---|---|---|
x | list[float] | Allocation vector (length |
d | float | Common propensity-to-disrupt value. |
gately_point ¶
gately_point(game, *, tol=1e-12)
Compute the Gately point for an essential TU cooperative game.
The Gately point is a single-valued imputation obtained by equalizing the propensity to disrupt across players. For an imputation \(x\), the propensity to disrupt of player \(i\) is defined as:
The Gately point is the imputation \(x\) for which all players have the same propensity:
For essential games (where \(v(N) > \sum_i v(\{i\})\)), this condition yields a closed-form solution.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
game | GameProtocol | TU cooperative game. | required |
tol | float | Numerical tolerance for detecting non-essential games. | 1e-12 |
Returns:
| Type | Description |
|---|---|
GatelyResult | Allocation and common propensity-to-disrupt value. |
Raises:
| Type | Description |
|---|---|
InvalidParameterError | If: - |
InvalidGameError | If: - the game is non-essential, i.e. \(v(N) \le \sum_i v(\{i\})\). |
Notes
- The Gately point lies in the imputation set.
- It balances the incentives of players to leave the grand coalition.
- The formula used here is valid precisely when the game is essential.
- The result is numerically adjusted to ensure efficiency (sum of allocations equals \(v(N)\)).
Examples:
>>> x = gately_point(g)
>>> sum(x) == g.value(g.grand_coalition)
True