## Search in the document preview

CS6998-3: Solutions to Problem Set # 2

Sébastien Lahaie

Problem 1 (10 points)

(a) 5 points

The proof is virtually identical to the proof that the VCG mechanism is truthful. Let v−i be some arbitrary reports by agents N − i, let vi be agent i’s true valuation, and let ṽi be some other valuation. Let R be an efficient allocation with respect to (vi, v−i), and let R′ be an efficient allocation with respect to (ṽi, v−i). If agent i reports vi its utility is∑

j∈N vj(Rj)− hi(v−i), (1)

whereas if it reports ṽi its utility is ∑ j∈N

vj(R′j)− hi(v−i). (2)

Subtracting (2) from (1) we get ∑ j∈N

vj(Rj)− ∑ j∈N

vj(R′j).

This is non-negative because R is efficient with respect to the profile (vi, v−i). Thus reporting vi maximizes i’s utility, since ṽi was arbitrary.

(b) 5 points

By definition, a Groves mechanism is individually rational if the utility to each agent i from truthfully reporting its value is non-negative. Let R be the efficient allocation selected if i reports truthfully.

The utility to agent i is ∑ j∈N

vj(Rj)− hi(v−i),

so we must have hi(v−i) ≤

∑ j∈N

vj(Rj). (3)

This holds for any possible valuation of agent i, in particular the valuation where vi(S) = 0 for all S ⊆ M . In this case we can assume that Ri = ∅, and thus R is an efficient allocation among agents N − i. Condition (3) in this special case is

hi(v−i) ≤ max R′∈Γ

∑ j∈N−i

vj(R′j). (4)

The Groves mechanism that maximizes the term hi(v−i) is the one that maximizes agent i’s payment. In view of (4), the VCG mechanism maximizes the payment because it achieves the upper bound.

1

Problem 2 (10 points)

(a) 7 points We first show that if R is an efficient allocation, then

vi(Ri) = max j∈N

vj(Rj). (5)

Assume this does not hold, so that for some i ∈ N , there is a k 6= i such that vk(Ri) is the maximum value for Ri over all agents. Note that this value must be positive. As vk(Ri) > 0, we have Ri ⊇ Sk. However, Ri ∩ Rk = ∅ by the feasibility of R. Thus Rk 6⊇ Sk and vk(Rk) = 0. Suppose that instead of giving Ri to i and Rk to k, we give Ri to k and ∅ to i. Then this changes the total value by vk(Ri)− vi(Ri) > 0. This is a contradiction because R is efficient. Hence vi(Ri) − p(Ri) = 0 for each i ∈ N , and vi(S) − p(S) ≤ 0 by the definition of p; the bundle Ri maximizes i’s utility, for all i ∈ N . It remains for us to show that R maximizes revenue at prices p. Let R′ be a revenue-maximizing allocation such that the number of agents that receive ∅ is maxi- mized. Note that if we permute the bundles in R′, the revenue remains unchanged, because prices are anonymous. For each R′i, let σ(i) ∈ N be an agent such that p(R′i) = vσ(i)(R′i). We claim that we must have σ(i) 6= σ(j) when R′i 6= ∅ and R′j 6= ∅. Assume for the sake of contradiction that p(R′i) + p(R

′ j) = vk(R

′ i) + vk(R

′ j). Since R

′ i ∩R′j = ∅ and vk is single-minded, the value of one of those

bundles to agent k must be 0, say vk(R′j) = 0. Thus,

vk(R′i) + vk(R ′ j) ≤ vk(R′i ∪R′j) + vk(∅) ≤ p(R′i ∪R′j) + p(∅).

We see that if we replace R′i with R ′ i ∪R′j , and R′j with ∅, we get an allocation R′′ with weakly greater

revenue than R′. But since the latter is revenue-maximizing, so is R′′. This is a contradiction, because R′′ contains one more ∅ than R. Thus we can permute the bundles in R′ such that p(R′i) = vi(R′i) for R′i 6= ∅. For R′i = ∅, we have p(∅) = vj(∅) for all j ∈ N . After the permutation, the revenue from R′ is∑

i∈N p(R′i) =

∑ i∈N

vi(R′i)

≤ ∑ i∈N

vi(Ri)

≤ ∑ i∈N

p(Ri)

where the second step follows because R is efficient, and the third from (5). As R′ is revenue- maximizing, so is R, and this completes the proof.

(b) 3 points Let Γ(S) be the set of all feasible allocations such that Ri = S for some i ∈ N . We have a variable xi(S) for each i ∈ N and S ⊆ M to denote whether i obtains bundle S. We have a variable z(R) for each feasible allocation R to denote whether R is selected.

max x≥0,z≥0

∑ i∈N

∑ S⊆M

vi(S)xi(S)

subject to ∑ i∈N

xi(S) = ∑

R∈Γ(S)

z(R) (S ⊆M)

∑ S⊆M

xi(S) = 1 (i ∈ N)∑ R∈Γ

z(R) = 1

2

Problem 3 (10 points)

(a) 3 points

First note that any allocation that does not allocate exactly one item to each agent must be inefficient. If some item is unallocated, some agent obtains nothing, and giving this agent the unallocated item strictly increases the total value. If some agent i obtains more than one item, at least one other agent j must receive nothing. If we give agent i’s least preferred item to agent j, this strictly increases the total value. Thus we can restrict our attention to one-to-one allocations of the items to the agents.

Consider any one-to-one allocation besides that where agent i gets item i for each i ∈ N . We will show that it is not efficient. Let j be the lowest-indexed agent that does not receive item j. Let k be the item that j receives; note that by our assumption on j, we must have k > j. Let ` > j be the agent that receives item j. If we swap the items, giving item j to agent j and item k to agent `, the difference between the total value of this new allocation and that of the original allocation is

(ajbj + a`bk)− (ajbk + a`bj) = (aj − a`)(bj − bk) > 0.

This is positive because j < ` and j < k. Thus the allocation was not efficient.

(b) 3 points

The first set of of inequalities implies the second, because the second is a subset of the first. We show that the second set implies the first.

Note that vii − pi ≥ vii−1 − pi−1 implies

pi−1 − pi ≥ vii−1 − vii = ai(bi−1 − bi) > 0.

Thus p1 > p2 > . . . > pn, and pn ≥ 0 implies pi ≥ 0 for all i ∈ M . We now prove by induction that vii − pi ≥ vii+1 − pi+1 implies vii − pi ≥ vij − pj for all j > i. The base case j = i + 1 holds by assumption. Assume the claim holds for j − 1 > i:

vii − vij−1 ≥ pi − pj−1. (6)

Now since vj−1j−1−vj−1j ≥ pj−1−pj and vj−1j−1−vj−1j = aj−1(bj−1−bj) < ai(bj−1−bj) = vij−1−vij , we have

vij−1 − vij ≥ pj−1 − pj . (7)

Adding (6) and (7) proves the claim. The proof that vii − pi ≥ vii−1 − pi−1 implies vii − pi ≥ vij − pj for all j < i is entirely analogous.

(c) 1 point

Let p and p′ be first-order competitive equilibrium prices. Since p ≥ 0 and p′ ≥ 0, we clearly have p ∧ p′ ≥ 0. To prove that p ∧ p′ is a CE price vector we need to show that for all i, j

min{pi, p′i} −min{pj , p′j} ≤ vii − vij .

Assume without loss of generality that min{pj , p′j} = pj . Then we have the following derivation.

pi − pj ≤ vii − vij pi −min{pj , p′j} ≤ vii − vij

min{pi, p′i} −min{pj , p′j} ≤ vii − vij

3

(d) 2 points

It is straightforward to check that p̄ satisfy the inequalities of part (b), so they are competitive equi- librium prices. We prove that they are minimal by induction. Let p be first-order CE prices. We have pn ≥ 0 by definition, and note that p̄n = 0. Thus pn ≥ p̄n, establishing the base case. Assume pi ≥ p̄i where i ≤ n. For i = 2, . . . , n, we have vii − pi ≥ vii−1 − pi−1 which implies

pi−1 ≥ vii−1 − vii + pi ≥ vii−1 − vii + p̄i = ai(bi−1 − bi) +

∑ j>i

aj(bj−1 − bj)

= ∑ j>i−1

aj(bj−1 − bj)

= p̄i−1.

The second inequality follows from the induction hypothesis, and the remaining from the definition of vii−1 and p̄i. This completes the proof.

(e) 1 point

Fix agent i. With all agents present, the efficient allocation gives item 1 to agent 1, item 2 to agent 2, etc. by part (a). The total value to all the agents except i under this allocation is∑

j 6=i

vjj = ∑ j 6=i

ajbj . (8)

If agent i is removed, the efficient allocation gives item j to agent j for j < i, and item j− 1 to agent j for j > i (item n remains unallocated). This follows from the same reasoning as in part (a). The total value to all the agents except j in this case is∑

j<i

vjj + ∑ j>i

vjj−1 = ∑ j<i

ajbj + ∑ j>i

ajbj−1. (9)

By definition the VCG payment of agent i is (9) minus (8):

q̂i = ∑ j<i

ajbj + ∑ j>i

ajbj−1 − ∑ j 6=i

ajbj

= ∑ j>i

aj(bj−1 − bj).

Comparing with part (d), we find that q̂i = p̄i. That is, the VCG payment of agent i is the price of the item agent i receives at the lowest possible linear CE prices.

4