Cooperative Games: A Comprehensive Exploration

Cooperative Games, a vital branch of Game Theory, examine scenarios where players collaborate to achieve collective goals, forming coalitions to maximize joint outcomes. Unlike non-cooperative games, where individual strategies dominate, cooperative games emphasize teamwork, negotiation, and equitable distribution of benefits. This framework, pioneered by John von Neumann and Oskar Morgenstern in their 1944 book "Theory of Games and Economic Behavior," models how groups can align interests for mutual gain.

From businesses sharing resources to nations forming alliances, cooperative games provide a mathematical lens to analyze coalition formation and payoff allocation. This guide offers an exhaustive exploration of cooperative games, delving into their definitions, solution concepts like the Shapley Value and the Core, detailed examples, and applications across diverse fields, enriched with equations and insights.

Whether you’re studying cost-sharing mechanisms or diplomatic treaties, cooperative games reveal the power of collaboration in strategic settings.

Definition and Key Concepts

Cooperative games are defined by their structure and properties, focusing on group dynamics. Below, we explore these concepts in depth.

Basic Definition

A cooperative game is a pair \( (N, v) \), where:

  • \( N = \{1, 2, \ldots, n\} \) is the set of players.
  • \( v: 2^N \to \mathbb{R} \) is the characteristic function, assigning a value \( v(S) \) to each coalition \( S \subseteq N \), with \( v(\emptyset) = 0 \).
\[ v(S) \text{ represents the total payoff achievable by coalition } S \]

Superadditivity

A game is superadditive if merging coalitions increases value:

\[ v(S \cup T) \geq v(S) + v(T) \text{ for all } S, T \subseteq N, S \cap T = \emptyset \]

Monotonicity

If \( S \subseteq T \), then:

\[ v(S) \leq v(T) \]

Convex Games

A game is convex if:

\[ v(S \cup T) + v(S \cap T) \geq v(S) + v(T) \]

For all \( S, T \subseteq N \), ensuring stable coalitions.

The Core

An allocation \( x = (x_1, x_2, \ldots, x_n) \) is in the core if:

\[ \sum_{i \in N} x_i = v(N) \]
\[ \sum_{i \in S} x_i \geq v(S) \text{ for all } S \subseteq N \]

Detailed Examples of Cooperative Games

Let’s analyze cooperative games with concrete scenarios and calculations.

Example 1: Delivery Truck Sharing

Three companies (A, B, C) share a truck. Costs alone: A=50, B=60, C=70. Joint costs: AB=90, AC=100, BC=110, ABC=120.

\[ v(\{A\}) = 0, v(\{B\}) = 0, v(\{C\}) = 0 \]
\[ v(\{A,B\}) = 50 + 60 - 90 = 20 \]
\[ v(\{A,C\}) = 50 + 70 - 100 = 20 \]
\[ v(\{B,C\}) = 60 + 70 - 110 = 20 \]
\[ v(\{A,B,C\}) = 50 + 60 + 70 - 120 = 60 \]

Example 2: Voting Power

Players A(3 votes), B(2 votes), C(1 vote); need 4 to win:

\[ v(\{A\}) = 0, v(\{B\}) = 0, v(\{C\}) = 0 \]
\[ v(\{A,B\}) = 1, v(\{A,C\}) = 1, v(\{B,C\}) = 0 \]
\[ v(\{A,B,C\}) = 1 \]

Example 3: Airport Cost Sharing

Planes need runways of lengths 1, 2, 3; cost = max length:

\[ v(\{1\}) = 0, v(\{2\}) = 0, v(\{3\}) = 0 \]
\[ v(\{1,2\}) = 2, v(\{1,3\}) = 3, v(\{2,3\}) = 3 \]
\[ v(\{1,2,3\}) = 3 \]

Example 4: Resource Pooling

Three firms pool resources: v({1,2}) = 5, v({1,3}) = 4, v({2,3}) = 3, v({1,2,3}) = 8.

Example 5: Production Alliance

Values: v({A,B}) = 10, v({A,C}) = 12, v({B,C}) = 8, v({A,B,C}) = 15.

Coalitions and Payoff Allocation

Solution concepts determine fair payoff distributions.

Shapley Value

For player \( i \):

\[ \phi_i(v) = \sum_{S \subseteq N \setminus \{i\}} \frac{|S|! (n - |S| - 1)!}{n!} [v(S \cup \{i\}) - v(S)] \]

Example 1 Shapley: \( \phi_A = 20, \phi_B = 20, \phi_C = 20 \).

Core Stability

For Example 1, \( x = (20, 20, 20) \) satisfies:

\[ x_A + x_B = 40 \geq 20 \]
\[ x_A + x_C = 40 \geq 20 \]
\[ x_B + x_C = 40 \geq 20 \]
\[ x_A + x_B + x_C = 60 = v(N) \]

Nucleolus

Minimizes maximum dissatisfaction:

\[ \min \max_{S} [v(S) - \sum_{i \in S} x_i] \]

Banzhaf Index

For voting, power of player \( i \):

\[ B_i = \frac{\text{Number of swings}}{2^{n-1}} \]

TU Games Stability

Transferable utility ensures:

\[ \sum_{i \in N} x_i = v(N) \]