One of the most elegant matching algorthms out there is the Top Trading Cycles algorithm, introduced by Shapley and Scarf in their 1974 paper “On cores and indivisibility”, and attributed to David Gale. This algorithm finds the unique core allocation, and its outcome is therefore individually rational and pareto efficient. In addition, this algorithm makes truth-telling a dominant strategy for all individuals.
In fact, a striking 1994 paper by Ma (“Strategy-Proofness and the Strict Core in a Market with Indivisibilities”) shows that Top Trading Cycles is the only mechanism that is individually rational, pareto efficient, and truthful. More recently, Ozgun Ekici showed in “Pair-efficient Reallocation of Indivisible Objects” (EC 22) that this uniqueness result remains true if pareto efficiency is weakened to pair efficiency.
This post presents short proofs of these results. These proofs are not mine: they are largely copied from work of Jay Sethuraman (“An alternative proof of a characterization of the TTC mechanism”, Operations Research Letters 2016), and were re-organized and written by Felipe Simon, a PhD student at the University of Minnesota. My goal with this post is not to claim credit, but rather to share a clean proof of a fundamental result.
There is a set of agents . Each agent is initially endowed with an object ; let be the set of all objects. Each agent has a (complete and transitive) ranking of objects : means that agent strictly prefers object to object , and means that either or .
We use to denote a preference profile for all agents, and use to refer to the preference order of agent on profile . An allocation is bijection between agents and objects. We let denote the object allocated to agent by .
Definition 1 Object is acceptable to agent if . Allocation is individually rational if each agent receives an acceptable object ( for all ).
Definition 2 An allocation is pareto efficient if there is no allocation such that for all , with at least one inequality holding strictly.
Definition 3 An allocation is pair efficient if there exists no such that and .
A mechanism is a function that maps each preference profile to an allocation. We say that a mechanism is individually rational (pareto efficient, pair efficient) if on any preference profile, it finds an allocation that is individually rational (pareto efficient, pair efficient).
Definition 4 A mechanism is truthful if for each agent , reporting is a weakly dominant strategy for each agent.
Theorem 1 There exists at most one mechanism that is truthful, individually rational and pareto efficient.
Theorem 2 There exists at most one mechanism that is truthful, individually rational and pair efficient.
Gale’s top trading cycles mechanism (TTC) is known to satisfy all of these properties, so these results imply that TTC is the unique mechanism satisfying these properties.
Let and represent two mechanisms. For any preference profile , let denote the objects given to agent by and (respectively). Define and as follows: That is, is the set of agents that prefer the allocation from over the one from , is defined analogously, and is the set of all agents whose allocations differ.
Definition 5 A preference profile is a discordant preference profile of mechanisms and if . (That is, is non-empty.)
Definition 6 The size of preference profile is the total number of objects that agents find acceptable in : A discordant profile of and is said to be of minimal size if there is no preference profile of smaller size.
Lemma 1 Let and be truthful mechanisms. Let be a discordant preference profile of minimal size, and define as in (3). Then each agent in has exactly two acceptable objects.
Proof. Proof by contradiction. Suppose that there is an agent with more than two acceptable objects and suppose . Modify the preference ordering of agent by removing all objects except for and ; all other agents hold the same preferences. Call this new preference profile . From the truthfulness of it follows that , because if under , was allocated a worst object than , then could simply use the preference in and improve its outcome, violating truthfulness. From the truthfulness of we know that since would mean that could improve its allocation under by misreporting his preferences. In particular, is a profile in which the two mechanisms disagree, and , contradicting our choice of .
The definition of size and Lemma @ref{lem:key} are the crucial steps in the proof: they allow us to only reason about “simple” profiles in which agents have only two acceptable objects.
Lemma 2 Let and be two distinct individually rational mechanisms. Let be a discordant preference profile and let and be defined as in (1), (2), (3). Furthermore, assume that every agent has exactly two acceptable objects. Then for every agent his favorite object is the endowment of some other agent . Similarly, for every agent his favorite object is the endowment of some other agent .
Proof. Because is individually rational we know that every agent retains their initial endowment under (that is, ) since this is the worse of the two acceptable objects. Also, every agent is allocated their first option . Analogously, because is individually rational it assigns every agent to their initial endowment and every agent to their first option . It follows that neither nor can give the endowment of an agent to an agent , since these agents receive the same object in both and .
Therefore, agents in only trade objects with other agents in . Furthermore, under an agent will not be allocated the endowment from an agent in , since these agents all retain their endowment. Thus, agents in only trade with other agents in . Similarly, agents in only trade with other agents in .
Lemma 3 Let and be two individually rational mechanisms. Let be a discordant preference profile in which every agent has exactly two acceptable objects. Then at least one of or is not pareto efficient.
Proof. Note that and by assumption is nonempty so at least one of these sets is also nonempty. Suppose is nonempty. By assumption we know that agents in strictly prefer their allocation given by . In fact, because is individually rational and agents only have two acceptable object we know that under mechanism each agent in is allocated their first option. From Lemma 2 we know that agents in only trade with other agents in . Because is individually rational we know that agents in retain their endowment under . Therefore, the allocation is not pareto efficient because we could improve the outcome of every agent in by allocating them their first option, without changing the outcome of other agents. Thus, is not pareto efficient.
Proof of Theorem 1. Suppose and are two distinct truthful, individually rational mechanisms and let be a discordant preference profile of minimal size. By Lemma 1 we know that every agent whose allocation differs in and has exactly two acceptable objects. By Lemma 3 at least one of these mechanisms is not pareto efficent.
Proof of Theorem 2. Suppose and are truthful and individually rational. We will show that at least one of them is not pair efficient. Let be a discordant preference profile of minimal size and et and be defined as in equations (1),(2),(3). From Lemma 1 we know that every agent in has exactly two acceptable objects. Suppose is not empty. Because is individually rational we know that every agent in retains their endowment under mechanism . Furthermore, by Lemma 3, we know that mechanism is not pareto efficient. That is, there is at least one set of agents such that . (Note that for each in this cycle). Now create a new preference profile where agent reports the following preferences: (Note that the original preference was: so all we are doing is adding the objects from the cycle in a specific order). All other agents hold the same preferences. Because is strategy-proof, it cannot give object to agent on profile . Because is individually rational, it must instead give an object . But we claim that none of these outcomes can be pair efficient: the agent in the cycle whose favorite object is must receive their endowment by individual rationality of , and by construction of profile , this agent and would both prefer to swap items (according to ). Therefore is not pair efficient.