🤖
CS4261 Algorithmic Mechanism Design
  • Nash Equilibria
  • Auctions and Routing Games
  • Cooperative Games
  • Axiomatic Approach to Fairness
  • Stable Matchings
  • Nash Bargaining Solution
  • Fair Allocation of Indivisible Goods
  • Cake Cutting
  • Rent Division
  • Committee Voting
  • Tournaments
Powered by GitBook
On this page
  • Cooperative Games
  • Induced Subgraph Games
  • Network Flow Games
  • Weighted Voting Games
  • General Framework
  • Cooperative Game Properties
  • Dividing Payoffs in Cooperative Games
  • The Core
  • Is the Core Empty?

Cooperative Games

PreviousAuctions and Routing GamesNextAxiomatic Approach to Fairness

Last updated 6 months ago

Cooperative Games

Players divide into coalitions to perform tasks. Within a coalition, members can freely divide profits. The question is how should the profits be divided?

Induced Subgraph Games

We are given a weighted graph where the players are nodes; and the value of a coalition is the value of the total edge weights in the subgraph.

So, an edge (u,v)(u,v)(u,v) tells you how much value (u,v)(u,v)(u,v) would generate if they work together. e.g. researchers collaborate to each other (and the total value is determined by the sum of their pairwise values).

(And it seems natural / intuitive to assume that if (u,v)=k(u,v) = k(u,v)=k then each of uuu and vvv contribute k/2k/2k/2 to this synergistic “relationship”).

Network Flow Games

We are given a weighted directed graph. Players are edges. And the value of a coalition is the value of the maximum flow it can pass from sss to ttt. This has applications in computer network, traffic flow, transport networks. (that is, the minimum bottleneck value on the path).

Weighted Voting Games

We are given a list of weights and a threshold, i.e., (w1,⋯ ,wn;q)(w_1, \cdots, w_n; q)(w1​,⋯,wn​;q), all of which are positive integers. Each player iii has a weight iii.

The value of a coalition is 1 (winning) if its total weight is at least qqq (winning), and 0 (losing) otherwise.

Applications: parliaments, UN security council, EU council of members.

Cost sharing is just the inverse of profit sharing. So it’s actually the “same” problem underneath the hood — if you have an algorithm that can fairly divide profits, you can negate the values to convert them to costs (i.e., change maximization to minimization).

General Framework

  • A set of players - N={1,⋯ ,n}N = \{1, \cdots, n \}N={1,⋯,n}

  • A valuation function - v:2N→R≥0v : 2^N \to \mathbb{R}_{\geq 0}v:2N→R≥0​

    • That is, each subset of players have some value associated with it (and that’s the value of the group). Here, 2N2^N2N just denotes the power set of {1,⋯ ,n}\{1, \cdots, n\}{1,⋯,n}

    • v(S)v(S)v(S) is just the value of a coalition SSS, and by default, v(ϕ)=0v(\phi) = 0v(ϕ)=0

  • Coalition structure (CS) → a partition of NNN (into groups) — each person is in exactly one coalition.

  • We aim to find the optimal coalition structure — the structure that maximizes total generated value from the nnn players. That is, OPT(G)=max⁡CS∑S∈CSv(S)OPT(G) = \max_{CS} \sum_{S \in CS} v(S)OPT(G)=maxCS​∑S∈CS​v(S)

  • But we also need to satisfy some (reasonable if you think about it) constraints:

    • Efficiency: a vector x⃗∈R≥0n\vec x \in \mathbb{R}^n_{\geq 0}x∈R≥0n​ satisfying ∑ixi=v(N)\sum_i x_i = v(N)∑i​xi​=v(N)

      • Basically this says that each person gets 1 number, which is their payoff, and the total value that the group generates must be completely distributed among the nnn people.

      • It’s called efficiency because there’s no loss in value. Whatever value is generated is distribued without any loss. Nothing is kept for the mechanism or wasted. It’s a matter of economic efficiency — no one can improve without anyone else being hurt — and has nothing to do with computational efficiency.

    • Individual Rationality: xi≥vix_i \geq v_ixi​≥vi​ for all i∈Ni \in Ni∈N

      • You need to give each person at least how much value they would generate by being alone — if not, they will leave your group (”deviate”), and do their own thing.

  • An imputation is just a vector that satisfies efficiency and individual rationality.

Cooperative Game Properties

A game G=<N,v>G = <N, v>G=<N,v> is called:

  • Monotone: for any S⊆T⊆NS \subseteq T \subseteq NS⊆T⊆N, v(S)≤v(T)v(S) \leq v(T)v(S)≤v(T)

    • Adding anyone cannot decrease the value of the coalition.

  • Simple: if GGG is monotone AND v(S)∈{0,1}v(S) \in \{0, 1\}v(S)∈{0,1}

    • i.e., the value of any coalition is binary, winning or losing, and adding anyone to a winning coalition cannot make the coalition lose (there’s no snitch :O)

  • Superadditive: for disjoint S,T⊆NS, T \subseteq NS,T⊆N, v(S)+v(T)≤v(S∪T)v(S) + v(T) \leq v(S \cup T)v(S)+v(T)≤v(S∪T)

    • collaboration is always beneficial to the overall value generated

  • Convex: for S⊆T⊆NS \subseteq T \subseteq NS⊆T⊆N AND i∈N∖Ti \in N \setminus Ti∈N∖T, we have v(S∪{i})−v(S)≤v(T∪{i})−V(T)v(S \cup \{i\}) - v(S) \leq v(T \cup \{i\}) - V(T)v(S∪{i})−v(S)≤v(T∪{i})−V(T)

    • the marginal gain of player iii by adding to SSS cannot be more than the marginal gain if player iii joins TTT, and TTT contains at least everyone in SSS (and possibly more) — because the opportunities to collaborate is more. (joining a bigger group is always better, given that one is a subset of the other)

Monotone ∧\land∧ Convex   ⟹  \implies⟹Superadditive.

Dividing Payoffs in Cooperative Games

The Core

An imputation x⃗\vec xx is in the core if:

∑i∈Sxi=x(S)≤v(S),∀S⊆N\sum_{i \in S} x_i = x(S) \leq v(S), \forall S \subseteq Ni∈S∑​xi​=x(S)≤v(S),∀S⊆N

That is, each susbet of players is getting at least what it can make on its own.

It’s easier to think about what would happen if we did not satisfy the above criteria. Then, a subset of players are together being paid less than the value they bring to the table. So, they would deviate from the group (making it unstable) and divide the profits among themselves in a way that they at least get as much as they were getting before, with some people getting more now.

So, being in the core is a notion of stability: no subset of players have any incentive to deviate.

So, the core is a set of vectors that satisfies the linear constraints:

  • ∑i∈Nxi=v(N)\sum_{i \in N} x_i = v(N)∑i∈N​xi​=v(N) — the total payoff given to everyone is equal to the total value they generate.

  • ∑i∈Sxi≥v(S),∀S⊆N\sum_{i \in S} x_i \geq v(S), \forall S \subseteq N∑i∈S​xi​≥v(S),∀S⊆N (by definition of being in the core)

Also, remember:

  • x(S)(S)(S) is additive in the sense that the total payoff of a group is the sum of the individual payoffs given to each person (think of it as cash).

  • BUT v(S)v(S)v(S) is not additive — otherwise there would be no point in collaborating and this would be a boring problem. They can generate more / less value as a group than individually (think of synergy, 1 + 1 > 2)

For a 3-player game, we can find the core by drawing a triangle, and then each point on the triangle maps to a payoff vector. e.g. the top vertex means that all the payoff goes to the first player. The midpoint of the bottom edge means that the payoff vector is x⃗=(0,v(N)2,v(N)2)\vec x = (0, \frac{v(N)}{2}, \frac{v(N)}{2})x=(0,2v(N)​,2v(N)​). In general, each person gets paid in the inverse of the ratio of the distance from the point to the edge opposite that player’s vertex.

Is the Core Empty?

A natural question to ask then is: is the core empty?? That is, is there ANY possible payoff vector that ensures that no subset of players deviate?

Simple Game: A game is called simple if v(S)∈{0,1}v(S) \in \{0, 1\}v(S)∈{0,1} for all S⊆NS \subseteq NS⊆N and it is monotone (adding players to a coalition does not decrease the value).

Coalitions with value 1 are winning. Coalitions with value 0 are losing.

A player is called a a veto player if she is a member of every winning coalition (can’t win without her).

💡 Theorem: Let GGG be a simple game then Core(G)≠ϕ  ⟺  GCore(G) \neq \phi \iff GCore(G)=ϕ⟺G has veto players. In fact, the core has precisely the vectors that distribute the payoff ONLY among the veto players.

The proof is relatively simple: if we give any positive payoff to a non-veto player, then the remaining players can deviate together (and they can divide this positive payoff among themselves).

If we give positive payoff ONLY to veto players, then since any winning coaliion must contain ALL veto players, there is no benefiical deviation. BUT notice that this doesn’t mean that we have to give every veto player the same payoff, or even that we have to give every veto player a positive payoff(!!). So, ANY distribution of the payoff among only the veto players is in the core (no subset of players can deviate).

💡 Theorem: For an induced subgraph game, the core is not empty   ⟺  \iff⟺ the graph has no negative cut.

In particular, if the core is not empty, a possible payoff strategy is the shapley value which assigns each node half the value of the edges connected to it.

Let’s prove the theorem.

  • (  ⟸  \impliedby⟸) If there is no negative cut, then the core is not empty.

    • It suffices to find 1 payoff vector in the core.

    • Let ϕi=12∑j=1nw(i,j)\phi_i = \frac 1 2 \sum_{j=1}^n w(i,j)ϕi​=21​∑j=1n​w(i,j) be the payoff assinged to for each player iii

    • Then, ∑iϕi=\sum_i \phi_i =∑i​ϕi​= sum of the weights of all edges =v(N)= v(N)=v(N). Hence, satisfies efficiency.

    • Now, for any subset S⊆NS \subseteq NS⊆N, we have:

      ϕ(S)=∑i∈Sϕi\phi(S) = \sum_{i \in S} \phi_iϕ(S)=i∈S∑​ϕi​
    • Notice that each player’s payoff ONLY depends on the edges they are connected to, NOT in which coalition they belong. So, each player will receive the same payoff regardless of which coalition he is part of. And the payoff of the group SSS is just the sum of the payoffs of everyone in the group.

    • Then, we can divide the edges in the sum above to be “within SSS” and “across SSS” — because the edges within SSS contribute to v(S)v(S)v(S), and the ones across SSS form the cut! (This is precisely why we have this seemingly surprising theorem - how does a cut relate to this!)

      ϕ(S)=∑i∈S∑j∈S12w(i,j)+∑i∈S∑j∈N∖S12w(i,j)=v(S)+12Cut(S,N∖S)\phi(S) = \sum_{i \in S} \sum_{j \in S} \frac 1 2 w(i, j) + \sum_{i \in S} \sum_{j \in N \setminus S} \frac 1 2 w(i, j) =v(S) + \frac 1 2 Cut(S, N \setminus S)ϕ(S)=i∈S∑​j∈S∑​21​w(i,j)+i∈S∑​j∈N∖S∑​21​w(i,j)=v(S)+21​Cut(S,N∖S)
    • And since there are no negative cuts, the last expression shows that ϕ(S)≥v(S)\phi(S) \geq v(S)ϕ(S)≥v(S).

    • Efficiency is also obvious from this expression, because we can just set S=NS=NS=N.

  • (  ⟹  \implies⟹) If the core is not empty, the graph has no negative cut.

    • Instead, we prove (the contrapositive) that if the graph has a negative cut, then the core must be empty.

    • Suppose there is some negative cut, i.e., S⊆NS \subseteq NS⊆N such that ∑i∈S∑j∈N∖Sw(i,j)<0\sum_{i \in S} \sum_{j \in N \setminus S} w(i, j) < 0∑i∈S​∑j∈N∖S​w(i,j)<0.

    • Take any payoff vector x⃗\vec xx satisfying efficiency; then we have:

      x(S)+x(N∖S)=∑i∈Nxi=v(N)x(S) + x(N \setminus S) = \sum_{i \in N} x_i = v(N)x(S)+x(N∖S)=i∈N∑​xi​=v(N)

      must be true by efficiency.

    • We have just shown in the previous part that v(N)=ϕ(N)v(N) = \phi(N)v(N)=ϕ(N), and since ϕ\phiϕ is additive, ϕ(N)=ϕ(S)+ϕ(N∖S)\phi(N) = \phi(S) + \phi(N \setminus S)ϕ(N)=ϕ(S)+ϕ(N∖S) where ϕi=∑j∈N12w(i,j)\phi_i = \sum_{j \in N} \frac 1 2 w(i, j)ϕi​=∑j∈N​21​w(i,j).

    • Hence, x(S)+x(N∖S)=ϕ(S)+ϕ(N∖S)x(S) + x(N \setminus S) = \phi(S) + \phi(N \setminus S)x(S)+x(N∖S)=ϕ(S)+ϕ(N∖S) — which we will use later.

    • Now consider x(S)−v(S)x(S) - v(S)x(S)−v(S) and x(N∖S)−v(N∖S)x(N \setminus S) - v(N \setminus S)x(N∖S)−v(N∖S). Our goal is to show that at least one of them must be negative. To do that, we take their sum and show that it is negative — then we can conclude that at least one of the terms is negative and hence cannot be in the core (i.e., a subset is not paid for the amount of value they generate).

      (x(S)−v(S))+(x(N∖S)+v(N∖S))=(ϕ(S)−v(S))+(ϕ(N∖S)−v(N∖S))(x(S) - v(S)) + (x(N \setminus S) + v(N \setminus S)) = (\phi(S) - v(S)) + (\phi(N \setminus S) - v(N \setminus S))(x(S)−v(S))+(x(N∖S)+v(N∖S))=(ϕ(S)−v(S))+(ϕ(N∖S)−v(N∖S))
    • We have already shown that ϕ(S)=v(S)+12Cut(S,N∖S)\phi(S) = v(S) + \frac 1 2 Cut(S, N \setminus S)ϕ(S)=v(S)+21​Cut(S,N∖S), and so the RHS evaluates to:

      12Cut(S,N∖S)+12Cut(N∖S,S)=Cut(S,N∖S)<0\frac 1 2 Cut(S, N \setminus S) + \frac 1 2 Cut(N \setminus S, S) = Cut(S, N \setminus S) < 021​Cut(S,N∖S)+21​Cut(N∖S,S)=Cut(S,N∖S)<0
    • Hence, it is either the case that x(S)<v(S)x(S) < v(S)x(S)<v(S) OR x(N∖S)<v(N∖S)x(N \setminus S) < v(N \setminus S)x(N∖S)<v(N∖S); hence, xxx cannot be in the core.