Lecture Notes 25
Lecture Notes 25
Cost Sharing
Thomas Kesselheim Last Update: July 10, 2019
Today, we will consider a problem that could also be called “fair division” but usually goes
by cost sharing. Suppose you and your friends want to take the train. You could all buy separate
tickets but, as it turns out, a group ticket is cheaper. How would you share the cost? Indeed, the
individual tickets could have different prices because some people in your group have discount
cards, don’t go the full distance, and so on. Clearly, they do not want to contribute more to the
group ticket than their single ticket.
1 Model
We assume that there are n agents N . Furthermore, there is a cost function c : 2N → R. Given
a subset of the agent S ⊆ N , the value c(S) states the cost that the set of agents S (coalition)
would have on their own. We assume c(∅) = 0. In principle, costs can be negative.
Example 25.1. In the example for train tickets, we might have five agents. A single ticket costs
2 Euros, whereas a group ticket for all five agents costs 5 Euros. Then, c(S) = min{2|S|, 5}.
Our goal is to come up with a cost-sharing vector ψ(c) = (ψ1 (c), . . . , ψn (c)) that splits up
the cost. So, ψi (c) ∈ R and i∈N ψi (c) = c(N ).
P
Clearly, there are different ways to split up the cost. In the following, we will get to know
different such solution concepts, which are each defined by a number of constraints that the
vector has to fulfill.
2 Core
Given a cost function c, a cost-sharing vector ψ(c) is in the core of c if it fulfills the following
requirements.
• Efficiency: i∈N ψi (c) = c(N ). That is, the individual costs of all agents exactly recover
P
3 Shapley Value
The Shapley value is a different approach to cost sharing. Again, there are a couple of conditions
that the vector ψ(c) should fulfill respectively different vectors for different cost functions.
• Dummy: If for an agent i ∈ N for all S ⊆ N we have c(S ∪ {i}) = c(S), then ψi (c) = 0.
Pn
• Efficiency: i=1 ψi (c) = c(N ).
• Additivity: For any two cost functions c and c0 , let c + c0 be their pointwise sum. For all c
and c0 and all i ∈ N , we have ψi (c + c0 ) = ψi (c) + ψi (c0 ).
We will show that there is a unique choice of cost-share vectors that fulfills these properties.
Our first step is to define a vector that adds agents one after the other and measures the
respective cost increase. We add the agents in an arbitrary but fixed order. To this end, we use
permutations π : N → N of the agents and define
Example 25.3. We come back to our running example, in which a single ticket is 2 Euros and
a group ticket is 5 Euros.
For π with π(i) = i, we have ϕ1 (c, π) = ϕ2 (c, π) = 2, ϕ3 (c, π) = 1, ϕ4 (c, π) = ϕ5 (c, π) = 0.
Clearly, this does not fulfill the symmetry condition yet.
To make the symmetry condition fulfilled, we take the average over all permutations π. To
this end, let denote by Sn the set of all permutations π : N → N . Recall that |Sn | = n!. Define
agent i’s Shapley value under cost function c as
1 X
ψi (c) = ϕi (c, π) . (1)
n! π∈S
n
Theorem 25.4. The vector ψ(c) defined by Equation (1) fulfills the symmetry, dummy, efficiency,
and additivity condition.
Proof. For the dummy, efficiency, and additivity condition, we can observe that for any per-
mutation π, the vector ϕ(c, π) already fulfills the respective property. This translates to the
respective property for ψ(c). For completeness, we provide the respective calculations below.
The more interesting question is the symmetry condition. We will use that for each permu-
tation π, there is exactly one permutation π (i,j) that swaps the images of i and j in π. That
is,
π(j) if ` = i
(i,j)
π (`) = π(i) if ` = j
π(`) otherwise
Now, observe that if c(S ∪ {i}) = c(S ∪ {j}) for all S with i, j 6∈ S, then
and therefore
1 X
ψi (c) = ϕi (c, π) = 0 .
n! π∈S
n
This gives
1 X 1 X 1 X
ψi (c + c0 ) = ϕi (c + c0 , π) = ϕi (c, π) + ϕi (c0 , π) = ψi (c) + ψi (c0 ) .
n! π∈S n! π∈S n! π∈S
n n n
Theorem 25.5. The vectors ψ(c) defined by Equation (1) are the only ones that fulfill the
symmetry, dummy, efficiency, and additivity condition.
Lemma 25.6. For T ⊆ N , let cT be the cost function such that c(S) = 1 if S ⊇ T , 0 otherwise.
That is, for α ∈ R, α · cT is the function that has value α if all of T appear in S, otherwise it
is 0. Then, for any fixed α and T , the unique ψ(αcT ) that fulfills the symmetry, dummy, and
efficiency condition is
α if i ∈ T
ψi (α · cT ) = |T | .
0 otherwise
Proof. It is easy to see that the ψ function defined this way fulfills the mentioned conditions.
So, we only have to show it is the only one.
For i 6∈ T , we have to have ψi (αcT ) = 0 by the dummy condition.
P
So, using the efficiency condition, we have to have i∈T ψi (αcT ) = α.
Finally, by the symmetry condition, we have to have ψi (αcT ) = ψj (αcT ) for all i, j ∈ T .
Therefore, ψi (αcT ) = |Tα | for all i ∈ T .
Lemma 25.7. For every cost function c, there is a unique choice of values (αT )T ⊆N,T 6=∅ , αT ∈ R
P
for all T such that c = T ⊆N,T 6=∅ αT cT .
Algorithmic Game Theory, Summer 2019 Lecture 25 (page 4 of 5)
1 0 0 0 0
? 1 0 0 0
? ? 1 0 0
? ? ? 1 0
? ? ? ? 1
Proof. We have to choose (αT )T ⊆N,T 6=∅ such that for all S ⊆ N , we have c(S) = T ⊆N,T 6=∅ αT cT (S).
P
Recall that cT (S) = 1 if and only if S ⊇ T . So, we can rewrite the right-hand side as
P P
T ⊆N,T 6=∅ αT cT (S) = T ⊆S,T 6=∅ αT .
That is, we get system of linear equations stating that
X
αT = c(S) for all S ⊆ N , T 6= ∅ .
T ⊆S,T 6=∅
Note that we have 2n − 1 variables and just as many constraints. So, it suffices to show that the
system always has a unique solution, which proves the lemma.
To see this most clearly, sort the variables and constraints by increasing |T | or |S| respectively
(breaking ties arbitrarily but the same way in both dimensions). On the diagonal of the constraint
matrix, every entry is 1 because these are the entries for which S = T . Above the diagonal, the
set T has either smaller size than S, so the entry is 0, or they have equal size but are distinct, in
which case the entry is 0 again. That is, we have a matrix with 1 on the diagonal, 0 above it,
and arbitrary entries below it (see Figure 1). Following the Gaussian algorithm, we see that
there is always a unique solution.
Now we are ready to prove Theorem 25.5 by decomposing the function c to a sum of αT cT
and using the additivity condition.
Proof of Theorem 25.5. Note that we only have to show that the solution is unique. To this
P
end, we use the unique decomposition c = T ⊆N,T 6=∅ αT cT according to Lemma 25.7.
By additivity, we have to have
X X
ψi (c) = ψi αT cT = ψi (αT cT ) .
T ⊆N,T 6=∅ T ⊆N,T 6=∅
αT
We have ψi (αT cT ) = |T | if i ∈ T and 0 otherwise by Lemma 25.6. That is,
X X αT
ψi (c) = ψi (αT cT ) = .
T ⊆N,T 6=∅ T ⊆N,i∈T
|T |
As the vector (αT )T ⊆N,T 6=∅ is unique by Lemma 25.7, this is the unique solution. As the definition
in Equation (1) also fulfills the same conditions, they have to coincide.
5 Outlook
The game we considered today is a cooperative game with transferable utilities. Usually, you will
see it defined by values rather than costs but as they are arbitrary reals one translates to the
other.
An interesting question is when a core solution exists. Under some conditions regarding the
cost functions c, the Shapley value is in the core. Also, we did not discuss how to compute any
Algorithmic Game Theory, Summer 2019 Lecture 25 (page 5 of 5)
of this. The way we defined the Shapley value, it takes Θ(n!) time to compute. By exploiting
symmetries, it can be reduced to Θ(2n ).
Finally, one should remark that questions such a house allocation and stable matching are
cooperative games with non-transferable utilities. The question is always to find a solution that
is stable against possible coalitions.
6 Further Reading
• Chapter 12 in the Karlin/Peres book