I describe an algorithm to find the allocation that maximizes social welfare in the house allocation problem.
In the house allocation (or kidney donor) problem, the top trading cycle algorithm (TTCA) is shown to have many interesting properties, such as being dominant strategy incentive compatible (or strategy-proof), Pareto optimal, and core-stable (which is stronger than individual rationality). However, TTCA is not a social welfare maximizing mechanism. Hence, even though TTCA is dominant strategy incentive compatible, there may be tremendous efficiency loss. In this article, I provide an alternative mechanism that maximizes social welfare (which is stronger than Pareto optimality) and is core-stable but is not dominant strategy incentive compatible.
Although the mechanism I provide is not dominant strategy incentive compatible, if agents do not know the preferences of others, then it can be argued that agents have no incentive to misreport their types in certain mechanisms. One way of making this argument is to consider the probability that the mechanism makes an allocation decision that is less favorable when an agent falsely reports than when an agent truthfully reports his type, and if the probability is less than 50%, then agents do not misreport their types. I will not consider this argument in this article, and I assume that agents report their types truthfully (either by the argument above or by the argument that if agents do not know the preferences of others, they default to reporting truthfully).
I briefly review the classic model of the house allocation problem, which can be found in the paper (Shapley & Scarf, 1974) and in textbooks such as (Nisan et al., 2007).
There are agents denoted by the set . Each agent owns a unique house and has a strict preference ordering denoted as over all houses (i.e. for all houses and , if and only if agent strictly prefers house over ). An allocation is a vector whose ‘th component, , is the number of the house assigned to agent . An allocation is feasible if for all . The set of all feasible allocations is denoted by .
In order to analyze social welfare in this context, there needs to be a function that represents these preference orderings. Given an allocation , the rank of is defined by the function . For example, if and for all , then and .
Given an allocation , a set of agents is called a blocking coalition (for ) if there exists a such that for all and for at least one . A blocking coalition can, by trading among themselves, receive homes that each strictly prefers (or is equivalent) to the home she receives under , with at least one agent being strictly better off. The set of allocations that is not blocked by any subset of agents is called the core. This definition of the core is from (Nisan et al., 2007). If an allocation is in the core, then the allocation is individually rational.
An allocation in the core is Pareto optimal if no other feasible allocation in the core can make one agent better off without making another agent worse off.
An allocation in the core maximizes social welfare if for every allocation in the core,
An allocation mechanism maximizes social welfare if for all agents and preferences , the allocation decision , in the core, maximizes social welfare.
For an example of why TTCA does not maximize social welfare, consider when the preferences of agents are , and . TTCA assigns each agent their own house and . However, consider another allocation. Agent 1 receives agent 2’s house, 2 receives 3’s house, and 3 receives 1’s house. This allocation yields , lower than the allocation given by TTCA.
I describe an algorithm that maximizes social welfare by minimizing the sum of agents’ ranks.
For each feasible allocation , compute . If the feasible allocation or set of allocations associated with the smallest is in the core, then choose that allocation or randomly select an allocation (if there is a set of feasible allocations).
If the allocation (or allocations) is not in the core, select the next best alternative such that is minimized and is in the core.
This algorithm can be implemented by creating a weighted bipartite graph and using the Hungarian algorithm to find the minimum weight. If the output or allocation is in the core, then we are done. If not, consider the next best allocation using the Hungarian algorithm.
The social welfare maximizing algorithm selects a Pareto optimal and individually rational allocation that is in the core.
. Suppose the algorithm chose an allocation in the core such that there exists another allocation in the core where . Then immediately there is a contradiction since step 2 of the algorithm chooses such an allocation.
To show that the algorithm chooses an allocation that is Pareto optimal, suppose that is not Pareto optimal. Then there exists another allocation in the core such that for all , and for at least one . But then we have a contradiction since , which implies that the algorithm does not select the allocation that minimizes .
To show that the mechanism is individually rational, consider the definition of an allocation being in the core. If an allocation is in the core, then the singleton set only consisting of himself should not be a blocking coalition. This concludes the proof.
Next is a relationship between blocking coalitions (which defines what a core is) and the rank function. This proposition can help simplify the search space for allocations that are in the core.
Given an allocation , a set of agents is a blocking coalition (for ) if and only if there exists such that for every and for at least one .
. Apply the definition of the rank function on the relation. Specifically, if and only if and if and only if . Then, apply this equivalence to the definition of a blocking coalition.
Further research can be done to analyze the tradeoff between social welfare and incentive compatibility. If incentive compatibility is relaxed, how much welfare can be gained? Also, if the number of agents is large, then more research on using the characterization of blocking coalitions involving the rank function to simplify the search space can be done. Also, a characterization of agents’ preferences such that the social welfare maximizing algorithm and TTCA yield the same allocations can also be researched. For now, I stop here.