2.2 Full preference information
2.2.7 Stable Roommates problem
The stable roommates problem (SR), first introduced by Gale and Shapley [30] is the nonbipartite generalization of SM. The definition of the problem, along with the notion of matching and stability generalize in the obvious ways, but for completeness, let us formally spell them out.
An instance of the stable roommates problem consists of one uniform set of agents R = {r1,
r2,. . . ,rn}. Each agent ri supplies a preference list that ranks the members ofR− {ri} in strict
order of preference. A matching is a partition of the agents into disjoint pairs. A blocking pair rel- ative toM is a pair (ri, rj) such that riprefersrjtoM (ri) and rjprefersritoM (rj). A matching
is stable if it admits no blocking pair. The Stable Roommates problem with incomplete lists (SRI) is the generalization of SR that allows incomplete preference lists, and an odd number of agents. The notions of blocking pair and stability are defined according to the obvious generalization of the SMI context. We again usem to denote the sum of the lengths of the preference lists of an SRI
instance. Figure 2.9 gives an example of an SR(I) instance and a stable matching.
Notice that SMI is just a special case of SRI. In contrast to SM or SMI, however, not every SR or SRI instance admits a stable matching. The kind of obvious algorithms one would attempt to construct to generalize the Gale/Shapley algorithm are not sufficient to determine if an SR/SRI instance admits a stable matching. Knuth [69] asked if the roommates problem was polynomial- time solvable, or if perhaps this problem was NP-complete. Irving [42] resolved this question by presenting aO(m)-time algorithm that either returns a stable matching or reports that none exists.
Although he described his algorithm in the SR setting, it clearly generalizes to the SRI case as well. We briefly remark that the set of stable matchingsM of an SRI instance forms a meet semi-lattice [35, 36]. There is also a similar notion of a rotation and rotation poset [35, 36], although these ideas are more involved than that of the bipartite case.
2.2 Full preference information 27
Stable roommates with ties
We can extend SR/SRI to allow for ties in the preference lists, (denoted by SRT and SRTI, respec- tively) which again gives rise to the notion of weak-, strong-, and super-stability. Ronn [84] showed that in contrast to the stable marriage setting, determining if an SRT instance admits any weakly stable matching is NP-complete. For the case of super-stability, Irving and Manlove [49] described an algorithm with running timeO(m) that either returns a super-stable matching or reports that
none exists. In his PhD thesis, Scott [93] resolved the strong-stability case by giving aO(m2)-time
algorithm to either return a strongly-stable matching or report that none exists.
When the agents of an SRI instance are allowed to have a capacity, we obtain the so-called stable
fixtures problem (SF). Irving and Scott [52] generalized Irving’s algorithm [42] to this setting, ob-
taining aO(m) time algorithm. Scott [93] also showed that SF is polynomial-time solvable under
super-stability. The case of strong-stability for SF remains open.
Almost stable roommates
Since a stable matching for the roommates problem need not exist, it is natural to seek matchings that are “as stable as possible” in some well-defined sense. Tan [97] introduced the notion of a
stable partition, which is a partitioning of the roommates instance into special cycles. These cycles
have the property that if each agentr could somehow be matched to both of the agents adjacent to r in the given cycle, then there would be no blocking pairs. In so doing, Tan provided a method
for describing a succinct certificate for checking whether or not an SR instance admits a stable matching without explicitly running Irving’s algorithm. In a later paper, Tan [98] gave a linear-time algorithm for finding a so-called maximum stable matching, defined to be a largest possible setM
of disjoint pairs such that there are no blocking pairs withinM .
Perhaps the most natural way of finding an “almost stable” matching is to find a matching that admits the fewest blocking pairs. The decision version of this problem, then, is to determine whether a matching exists that admits at mostK blocking pairs. Abraham et al [3] proved this problem is
NP-complete, and is not approximable withinn12−ǫ. However, whenK is a fixed constant, they
2.2 Full preference information 28
Stable roommates and kidney exchange
In recent years, a renewed interest has been found in the stable roommates problem because it provides a way of modelling and solving problems related to real-world kidney-exchange programs, which exist in several different countries including the US and the UK.
Living donation is the most effective treatment that is currently known for kidney failure. How- ever, a patient who requires a transplant may have a willing donor who cannot donate to them for immunological reasons. As a result, these incompatible patient-donor pairs may want to exchange kidneys with other pairs. Kidney exchange programs have already been established in several coun- tries such as the Netherlands [62], the USA [85] and the UK [100].
We can capture this kidney exchange problem by creating a graph with a vertex for each patient- donor pair, and a directed arc(u, v) for every pair of vertices u, v such that the donor in the pair
corresponding to vertexu can donate a kidney to the patient in the pair corresponding to vertex v.
A set of disjoint cycles in this graph corresponds to a cyclic kidney exchange. In practice, however, we cannot find arbitrarily long cyclic exchanges of kidneys, as all operations along a cycle have to be carried out simultaneously. Hence the length of the exchanges are typically bounded to two or three in practice.
In most of the current programs the goal is to maximise the number of patients that receive a suitable kidney in the exchange [86, 87, 92, 2] by regarding only the feasibility of the grafts. Some more sophisticated variants consider also the differences between suitable kidneys. When the value of a kidney for a given patient can be quantified with a numerical value, the “total benefit” could be maximised [94]. However, this is not always feasible and instead the differences between suitable kidneys for a given patient give rise to a preference list. Hence stability could be the primary objective of a kidney exchange [90, 14, 15, 9]. When the cyclic exchanges are limited to being of length at most two, the underlying problem is precisely the stable roommates problem.