Top trading cycle (TTC) is an algorithm for trading indivisible items without using money. It was developed by
David Gale
David (; , "beloved one") (traditional spelling), , ''Dāwūd''; grc-koi, Δαυΐδ, Dauíd; la, Davidus, David; gez , ዳዊት, ''Dawit''; xcl, Դաւիթ, ''Dawitʿ''; cu, Давíдъ, ''Davidŭ''; possibly meaning "beloved one". w ...
and published by
Herbert Scarf
Herbert Eli "Herb" Scarf (July 25, 1930 – November 15, 2015) was an American mathematical economist and Sterling Professor of Economics at Yale University.
Education and career
Scarf was born in Philadelphia, the son of Jewish emigrants from U ...
and
Lloyd Shapley
Lloyd Stowell Shapley (; June 2, 1923 – March 12, 2016) was an American mathematician and Nobel Prize-winning economist. He contributed to the fields of mathematical economics and especially game theory. Shapley is generally considered one of ...
.
Housing market
The basic TTC algorithm is illustrated by the following
house allocation problem. There are
students living in the student dormitories. Each student lives in a single house. Each student has a
preference relation The term preference relation is used to refer to orderings that describe human preferences for one thing over an other.
* In mathematics, preferences may be modeled as a weak ordering or a semiorder, two different types of binary relation. One speci ...
on the houses, and some students prefer the houses assigned to other students. This may lead to mutually-beneficial exchanges. For example, if student 1 prefers the house allocated to student 2 and vice versa, both of them will benefit by exchanging their houses. The goal is to find a
core-stable In cooperative game theory, the core is the set of feasible allocations that cannot be improved upon by a subset (a ''coalition'') of the economy's agents. A coalition is said to ''improve upon'' or ''block'' a feasible allocation if the members ...
allocation – a re-allocation of houses to students, such that all mutually-beneficial exchanges have been realized (i.e., no group of students can together improve their situation by exchanging their houses).
The algorithm works as follows.
# Ask each agent to indicate his "top" (most preferred) house.
# Draw an arrow from each agent
to the agent, denoted
, who holds the top house of
.
# Note that there must be at least one cycle in the graph (this might be a cycle of length 1, if some agent
currently holds his own top house). Implement the trade indicated by this cycle (i.e., reallocate each house to the agent pointing to it), and remove all the involved agents from the graph.
# If there are remaining agents, go back to step 1.
The algorithm must terminate, since in each iteration we remove at least one agent. It can be proved that this algorithm leads to a core-stable allocation.
For example,
suppose the agents' preference ordering is as follows (where only the at most 4 top choices are relevant):
In the first iteration, the only top-trading-cycle is (it is a cycle of length 1), so agent 3 keeps his current house and leaves the market.
In the second iteration, agent 1's top house is 2 (since house 3 is unavailable). Similarly, agent 2's top house is 5 and agent 5's top house is 1. Hence, is a top-trading-cycle. It is implemented: agent 1 gets house 2, agent 2 gets house 5 and agent 5 gets house 1. These three agents leave the market.
In the third iteration, the top-trading-cycle is, so agents 4 and 6 exchange their houses. There are no more agents left, so the game is over. The final allocation is:
This allocation is core-stable, since no coalition can improve its situation by mutual exchange.
The same algorithm can be used in other situations, for example:
[ suppose there are 7 doctors that are assigned to night-shifts; each doctor is assigned to a night-shift in one day of the week. Some doctors prefer the shifts given to other doctors. The TTC algorithm can be used here to attain a maximal mutually-beneficial exchange.
]
Properties
TTC is a truthful mechanism In game theory, an asymmetric game where players have private information is said to be strategy-proof or strategyproof (SP) if it is a weakly-dominant strategy for every player to reveal his/her private information, i.e. given no information abou ...
. This was proved by Alvin Roth
Alvin Eliot Roth (born December 18, 1951) is an American academic. He is the Craig and Susan McCaw professor of economics at Stanford University and the Gund professor of economics and business administration emeritus at Harvard University. .
When the preferences are strict (there are no indifferences), TTC always finds a Pareto-efficient
Pareto efficiency or Pareto optimality is a situation where no action or allocation is available that makes one individual better off without making another worse off. The concept is named after Vilfredo Pareto (1848–1923), Italian civil engin ...
allocation. Moreover, it always finds a core-stable In cooperative game theory, the core is the set of feasible allocations that cannot be improved upon by a subset (a ''coalition'') of the economy's agents. A coalition is said to ''improve upon'' or ''block'' a feasible allocation if the members ...
allocation. Moreover, with strict preferences, there is a unique core-stable allocation, and it is the one found by TTC.
In the strict preferences domain, TTC is the only mechanism that satisfies Individual rationality, Pareto efficiency and Strategy-proofness.
Preferences with indifferences
The original TTC algorithm assumed that the preferences are strict, so that each agent always has a single top house. In realistic settings, agents may be indifferent between houses, and an agent may have two or more top houses. Several different algorithms have been suggested for this setting. They were later generalized in several ways. The general scheme is as follows.
# Ask each agent to indicate ''all'' his top houses.
# Construct the ''TTC-graph G'': a directed graph in which each agent points to ''all'' agents who hold his top houses.
# Repeat:
#* Analyze the strongly connected component
In the mathematical theory of directed graphs, a graph is said to be strongly connected if every vertex is reachable from every other vertex. The strongly connected components of an arbitrary directed graph form a partition into subgraphs that ...
s of ''G''.
#* Identify the ''sinks'' - the components with no outgoing edges (there is at least one).
#* Identify the ''terminal sinks'' - the sinks in which each agent owns one of his top choices.
#** If there are no terminal sinks - break and go to step 4.
#** Otherwise, for each terminal sink ''S'': permanently assign each agent in ''S'' to his current house, remove them from the market, update the TTC graph, and go back to step 3.
# Select a set of disjoint trading cycles, using a pre-determined selection rule. Implement the trade indicated by these cycles, and remove them from the market.
# If there are remaining agents, go back to step 1.
The mechanisms differ in the selection rule used in Step 4. The selection rule should satisfy several conditions:
* Uniqueness: the rule selects, for each agent, a unique house from among his top houses.
* Termination: the algorithm using the rule is guaranteed to terminate.
* Persistence: in the reduced graph obtained by the rule, each directed path ending at an unsatisfied agent ''i'' (an agent who does not hold a top house) is ''persistent'' - the path remains in the graph until agent ''i'' leaves the market or trades his house.
* Independence of unsatisfied agents: if agent ''i'' is unsatisfied, and two TTC graphs only differ in the edges outgoing from ''i'', then the reduced TTC graphs only differ in the edge outgoing from ''i''.
If the selection rule satisfies Uniqueness and Termination, the resulting mechanism yields an allocation that is Pareto-efficient and in the ''weak core'' (no subset of agents can get a strictly better house for all of them by trading among themselves). Weak core also implies that it is individually-rational. If, in addition, the selection rule satisfies Persistence, Independence of unsatisfied agents, and some other technical conditions, the resulting mechanism is strategyproof In game theory, an asymmetric game where players have private information is said to be strategy-proof or strategyproof (SP) if it is a weakly-dominant strategy for every player to reveal his/her private information, i.e. given no information abou ...
.
A particular selection rule that satisfies these conditions is the Highest Priority Object (HPO) rule. It assumes a pre-determined priority-ordering on the houses. It works as follows.
* (a) Every unsatisfied agent points to the owner of the highest-priority house among his top houses. All unsatisfied agents are labeled.
* (b) From the unlabeled agents, consider the ones that have a top house owned by a labeled agent. Among them, pick the agent ''i'' who owns the highest-priority house. Make ''i'' point to a highest-priority house owned by a labeled agent. Label agent ''i''.
* (c) If there are unlabeled agents, go back to (b).
When the rule terminates, each all agents are labeled, and every labeled agent has a unique outgoing edge. The rule guarantees that, at each iteration, all cycles contain at least one unsatisfied agent. Therefore, in each iteration, at least one new agent becomes satisfied. Therefore, the algorithm ends after at most ''n'' iterations. The run-time of each iteration is , where is the maximum size of an indifference class. Therefore, the total run-time is .
Other extensions
The TTC algorithm has been extended in various ways.
1. A setting in which, in addition to students already living in houses, there are also new students without a house, and vacant houses without a student.[. See als]
Presentation by Katharina Schaar
2. The ''school choice
School choice is a term for education options that allow students and families to select alternatives to public schools.
The most common in the United States, by both the number of programs and by the number of participating students are schol ...
'' setting. The New Orleans Recovery School District adopted school choice version of TTC in 2012.
3. The ''kidney exchange'' setting: Top Trading Cycles and Chains (TTCC).
Implementation in software packages
* R: The Top-Trading-Cycles algorithm for the housing market problem is implemented as part of the matchingMarkets
package.
* API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
: The MatchingTools API provides a free application programming interface for the Top-Trading-Cycles algorithm.
See also
* Exchange economy Exchange economy is technical term used in microeconomics research to describe interaction between several agents. In the market, the agent is the subject of exchange and the good is the object of exchange. Each agent brings his/her own endowment, ...
* Housing market Housing market can refer to:
* The economics of real-estate used for residential purposes; see Real estate economics.
* Real estate business - buying, selling, or renting real estate (land, buildings, or housing).
* The problem of assigning indivis ...
References
{{reflist
Fair item allocation
Game theory
Matching (graph theory)