Small Representations of Big Kidney Exchange Graphs

Small Representations of Big Kidney Exchange Graphs

John P. Dickerson    Aleksandr M. Kazachkov    Ariel Procaccia    Tuomas Sandholm
University of Maryland      Carnegie Mellon University, {arielpro,sandholm},

Kidney exchanges are organized markets where patients swap willing but incompatible donors. In the last decade, kidney exchanges grew from small and regional to large and national—and soon, international. This growth results in more lives saved, but exacerbates the empirical hardness of the -complete problem of optimally matching patients to donors. State-of-the-art matching engines use integer programming techniques to clear fielded kidney exchanges, but these methods must be tailored to specific models and objective functions, and may fail to scale to larger exchanges. In this paper, we observe that if the kidney exchange compatibility graph can be encoded by a constant number of patient and donor attributes, the clearing problem is solvable in polynomial time. We give necessary and sufficient conditions for losslessly shrinking the representation of an arbitrary compatibility graph. Then, using real compatibility graphs from the UNOS US-wide kidney exchange, we show how many attributes are needed to encode real graphs. The experiments show that, indeed, small numbers of attributes suffice.

Small Representations of Big Kidney Exchange Graphs

John P. Dickersonand Aleksandr M. Kazachkovand Ariel Procacciaand Tuomas Sandholm University of Maryland      Carnegie Mellon University, {arielpro,sandholm},

Copyright © 2017, Association for the Advancement of Artificial Intelligence ( All rights reserved.

1 Introduction

There are over needy patients waiting for a kidney transplant in the United States, with similar—and increasing—demand worldwide.111 Complementing potential cadaveric transplantation via the deceased donor waiting list, a recent innovation—kidney exchange (??)—allows patients with willing living donors to participate in cyclic donor swaps or altruist-initiated donation chains to receive a life-saving organ. Kidney exchange now accounts for over 10% of living donation in the US, with that percentage increasing annually.

In reality, participating patients and donors are endowed with a set of attributes: blood type, tissue type, age, insurance, home transplant center, willingness to travel, and myriad other measurements of health, personal preference, and logistical constraints. While some of these features can, at a cost, be temporarily or permanently changed, the attributes determine the feasibility of a potential donation from each donor to each patient. For example, a donor with blood type AB can only give to a patient with that blood type.

A central aspect of kidney exchange is the clearing problem, that is, determining the “best” set of cyclic and chain-based swaps to perform in a given compatibility graph, which consists of all participating patients, donors, and their potential feasible transactions. For even simple (but realistic) models of kidney exchange, the clearing problem is -hard (??) and also extremely difficult to solve in practice (???).

In this paper, we tackle the complexity of the clearing problem via the introduction of a novel model for kidney exchange that explicitly takes into account all attributes of the participating patients and donors. Under the assumption that real kidney exchange graphs can be represented using a constant number of attributes, we show that our model permits polynomial-time solutions to central -hard problems in general kidney exchange. Inspired by classical results from intersection graph theory, we give conditions on the representation of arbitrary graphs in our model, and generalize to the case where participants are allowed to have a thresholded number of negative interactions between attributes. Noting that real-life kidney exchange graphs are not arbitrary, we show on actual data from the United Network for Organ Sharing (UNOS) US-wide kidney exchange that our model permits lossless representation of true graphs with far fewer attributes than the worst-case theoretical results require.

2 A New Model for Kidney Exchange

In this section, we formalize our model of kidney exchange. We prove that under this model certain well-known -hard problems in general kidney exchange are solvable in polynomial time. We also show that, given a compatibility graph, determining the best set of attributes to change (at some cost) is solvable in polynomial time.

2.1 Notation & Preliminaries

A kidney exchange can be represented by a directed compatibility graph . Each patient-donor pair, or unpaired altruistic donor, forms a vertex , and a directed edge exists from one vertex to another if the donor at the former can give to the patient at the latter, i.e., are compatible (??).

In kidney exchange, patients and donors participate in cycles or chains. In a cycle, each participating vertex receives the kidney of the previous vertex. All transplants in a cycle must be performed simultaneously to ensure participation, and thus are limited to some small length in practice. This ensures that no donor backs out after her patient has received a kidney but before she has donated her kidney. Most fielded kidney exchanges—including UNOS—allow only - and -cycles. In a chain, a donor without a paired patient enters the pool, donating his kidney to a patient, whose paired donor donates his kidney to another patient, and so on (???). Chains can be executed non-simultaneously222To see why this is, take the case where a donor backs out of a chain after his paired patient received a kidney, but before his own donation. Unlike in the case of a broken cycle, no pair in the remaining tail of the planned chain is strictly worse off; that is, no donor was “used up” before her paired patient received a kidney. and thus chains can be longer (but typically not infinite) in length. Most exchanges—including UNOS—see great gains through the use of such “altruist-initiated” chains.

We consider a model that imposes additional structure on an arbitrary compatibility graph. For each vertex , associate attribute vectors and with its constituent donor and patient, respectively. The th element of takes on one of a fixed number of types—for example, one of four blood types (O, A, B, AB), or one of a few hundred standard insurance plans. Then, for , we define a compatibility function , a boolean function that returns the compatibility of the donor of with the patient of . We remark that our approach relates to techniques that take advantage of symmetries in a problem; see, e.g., (?).

Given and associated attribute vectors, we can uniquely determine a compatibility graph such that . We claim that this model accurately mimics reality, and we later support that claim with strong experimental results on real-world data. Furthermore, under this new model, certain complexity results central to kidney exchange change (for the better), as we discuss next.

2.2 The Clearing Problem is Easy (in Theory)

We now tackle the central computational challenge of kidney exchange: the clearing problem. Well-known to be -hard (??), a variety of custom clearing algorithms address adaptations of the clearing problem in practice.333For an overview of practical approaches to solving the clearing problem, see a recent survey due to Mak-Hau (?). We show that, in our model, the clearing problem itself is solvable in polynomial time.

Formally, we are interested in a polynomial-time algorithm that solves the -Cycle-Cover problem—that is, finding the largest disjoint packing of cycles of length at most . For ease of exposition, in this section we use “cycles” to refer to both cycles and chains; indeed, it is easy to see that altruist donors are equivalent to standard patient-donor pairs with a patient who is compatible with all non-altruist vertices in the pool. Then, a chain is equivalent to a cycle with a “dummy” edge returning to the altruist. Also, again for ease of exposition, we assume the value of a chain of length is equal to a cycle of length , due to the final donor giving to a patient on the deceased donor waiting list.

Recall that we are working in a model where each vertex belongs to one of a fixed number of types determined solely by its attribute vectors and . Let be the set of all possible types, and represent one such individual type. With a slight abuse of notation, we can define a type compatibility function if and only if there is a directed edge between vertices of type and . (Note that this captures chains and altruist donors as described above.)

A key observation of this section is that any additional edge structure that is imposed on the graph—such as a cycle cover—would be independent of the identity of specific vertices; rather, it would only depend on their types, as vertices of the same type have the exact same incoming and outgoing neighborhoods. For example, in any cycle cover, if and are two vertices of the same type, we can swap and and obtain a feasible cycle cover of the same size. This observation drives our theoretical algorithmic results.

In more detail, every cycle through vertices of can be interpreted as a closed walk through the type space. Every such cycle can be represented by , where is the length of the cycle. Let us define as the boolean function with if and only if

Furthermore, for , let denote the set of closed walks through the type space of length at most . Formally

Let be a cycle cover in , and denote the number of unique vertices matched in by . Suppose has cycle cap ; then it is equivalent, in our setting, to a vector , where, for , equals the number of cycles in that can be represented in the type space by . Let be the length of the vector , and . Then , that is, is another way to express the number of matched vertices in the equivalent cycle cover.

Now consider Algorithm 1 for -Cycle-Cover in our model, which we claim is optimal and computationally efficient in our setting.

  1. for every vector of non-negative integers such that

    • if and there exists cycle cover in such that for each , contains cycles of type , then

  2. return

Algorithm 1 -Cycle-Cover
Theorem 1.

Given constants and , Algorithm 1 is a polynomial-time algorithm for -Cycle-Cover.


We start by verifying that Algorithm 1 is indeed optimal. Consider the optimal cycle cover . For each , let be the number of cycles in that are consistent with the types in . Clearly , as there are only vertices. Therefore, Algorithm 1 considers the collection of numbers in Step 2. Because this collection of numbers does induce a valid cycle cover that is of the same size as , the algorithm would update its incumbent cycle cover if it were not already optimal.

We next analyze the running time of the algorithm. First, note that it is straightforward to check whether the vector induces a valid cycle cover. Since consists only of valid cycles according to the compatibility function , we just need to check that there are enough vertices of each type to construct all the cycles that require them. This can be checked individually for each . For a particular , the number of vertices of type required is multiplied by the number of times type appears in . Then the sum of these products over all is at most the number of vertices of type in .

Second, there is only a polynomial number of possibilities to construct a collection of numbers such that . Indeed, this number is at most . Moreover, . Because and are constants, is also a constant. The expression is therefore a polynomial in . ∎

Even for constant , the running time of Algorithm 1 is exponential in . But this is to be expected. Indeed, any graph can trivially be represented using a set of types of size , where each vertex has a unique type, and a compatibility function that assigns to an ordered pair of types if the corresponding edge exists in . Therefore, if the running time of Algorithm 1 were polynomial in and , we would solve the general -Cycle-Cover problem in polynomial time—and that problem is -hard (?).

2.3 Flipping Attributes is Also Easy (in Theory)

While patients and donors in a kidney exchange are endowed with an initial set of attributes, it may be possible in practice to—at a cost—change some number of those attributes to effect change in the final matching. For example, the human body naturally tries to reject, to varying degrees, a transplanted organ. Due to this, nearly all recipients of kidneys are placed on immunosuppressant drugs after transplantation occurs.444 However, preoperative immunosuppression can also be performed to increase transplant opportunity—but at some cost to the patient’s overall health.

With this in mind, we extend the model of Section 2.2 as follows. Associate with each pair of types a cost function representing the cost of changing a vertex of type to type . Then, the -Flip-and-Cycle-Cover problem is to find a disjoint packing of cycles of length at most that maximizes the size of the packing minus the sum of costs spent changing types. Building on Theorem 1, this problem is also solvable in polynomial time.

Theorem 2.

Suppose that and are constants. Then -Flip-and-Cycle-Cover is solvable in polynomial-time.

Proof sketch.

For any type , there are vertices. Then, for each of the choices of which type to switch to, choose how many vertices from will switch to that type; there are at most possibilities. Do this for all types in , resulting in

possibilities. Since is a constant, this is polynomial in .

For each of these polynomially-many type-switch possibilities, we can compute the optimal cycle cover in polynomial time using Algorithm 1, and subtract for each vertex that switched from to . Taking the best of these solutions gives the optimal solution in polynomial time. ∎

3 A Concrete Instantiation: Thresholding

As motivated in Sections 1 and 2, compatibility in real kidney exchange graphs is determined by patient and donor attributes, such as blood or tissue type. In particular, if an attribute for a donor and patient is in conflict, they are deemed incompatible. Motivated by that reality, in this section, we associate with each patient and donor a bit vector of length , and count incompatibilities based on any shared activated bits between a patient and potential donor.

As a concrete example, consider human blood types. At a high level, human blood contains A antigens, B antigens, both (type AB), or neither (type O). AB-type patients can receive from any donor, A-type (B-type) can receive from O-type and A-type (B-type) donors, and O-type patients can only receive from O-type donors. In our bit model, this is represented with . The first bit represents compatibility with A antigens and the second bit represents compatibility with B antigens. Thus, the type space ; in general, .

Formally, unless otherwise stated, throughout this section will refer to a directed graph with vertex set and edge set , and with each associated with two -bit vectors . Let be the set of conflict bits for the donor associated with vertex , and similarly let . For such that , the threshold feasibility function is defined as

Note that if and only if .

Kidney exchange graphs constructed using threshold compatibility functions are closely related to complements of intersection graphs (?), which are graphs that have a set associated with each vertex and an edge between two vertices if and only if the sets intersect. Given , the function is related to -intersection graphs (??), where an edge connects two vertices if their corresponding sets intersect in at least elements.

In particular, our model is similar to that of intersection digraphs (?), or equivalently bipartite intersection graphs (?), both also considered in (?). These have mainly been studied under the assumption that the sets used to represent the graph have the “consecutive ones” property, i.e., each set is an interval from the set of integers. Our model is more general: we do not place such an assumption on the set of conflict bits. Moreover, most treatments of intersection digraphs consider loops on the vertices, whereas in our thresholding model, whether or not donor and patient are compatible is not considered. In addition, the directed and bipartite intersection graph literature has focused on the case that (in our terminology). To the best of our knowledge, this paper is the first treatment -intersection digraphs, and certainly their first real-world application.

3.1 Existence of Small Representations

It is natural to ask for what values of and we can select vertices with bit vectors and of length such that can create any graph of a specific size?

Formally, we say that is -representable (by feasibility function ) if, for all there exist such that for all , , if and only if .

It is known (?) that any graph can be represented as an intersection graph with . Yet, we show next that, in our model, suffices to represent any graph. It is akin to a result on the term rank of the adjacency matrix of  (?, Thm 6.6).

Theorem 3.

Let be a digraph on vertices. Let be the number of vertices with outgoing edges, Let be the number of vertices with incoming edges, and . Then can be -represented.


We first show that the graph can be -represented. Assume without loss of generality that vertices have outgoing edges. We show how to set for each vertex in . To set the donor attributes, for each , let be , the th standard basis vector, i.e., the vector of length with a in the th coordinate and everywhere else. For , set to be . For the patient attributes of vertex , for each such that , set , and set otherwise. Note that if all the vertices have outgoing edges, then unit vectors suffice. A similar approach works to -represent , by using the unit vectors as the patient vectors of those vertices with incoming edges, and (if needed) one additional unit vector for any remaining vertices. In both of these cases, if and only if , which represents by . ∎

In particular, Theorem 3 implies that any graph is -representable. The next theorem shows a matching lower bound. The same construction and bound also hold if loops are considered (?).

Theorem 4.

For any , there exists a graph on vertices that is not -representable for all .


Define to be the digraph on vertices, , with an edge from vertex , for each , to every vertex except (and itself), where vertex is also referred to as vertex .

Assume that is -representable, and consider vertex . Since , and for all , there exists a conflict bit such that . More generally, there exists such a conflict bit for all .

We claim that these conflict bits are all unique, which directly implies that . Indeed, otherwise we can assume that for some (without loss of generality, as the graph is symmetric subject to cyclic permutations). But then and do not appear as edges in , which is not true for any . ∎

More generally, it is easy to see that any graph that is -representable is also -representable for any . Indeed, simply take the -representation of the graph, and append ones to every vector. Together with Theorem 3, this shows that any graph is -representable. However, the lower bound given by Theorem 4 does not extend to . We conjecture that for any and there exists a graph that can only be -represented with —this remains an open question.

3.2 Computational Issues

Given a real compatibility graph with vertices, we know by Theorem 3 that we can -represent that graph for . But, in practice, how large of a is actually needed?

Various problems related to intersection graphs are -complete for general graphs (??), but we work in a setting with additional structure. And while we do not show that finding a -representation is -hard, we do show that a slightly harder problem, which we refer to as -Representation-with-Ignored-Edges, is -hard. Given an input of a directed graph , a subset of , and integers and , this problem asks whether there exist bit vectors and of length for each such that for any , we have if and only if .

Theorem 5.

The -Representation-with-Ignored-Edges problem is -complete.

The theorem’s nontrivial proof is relegated to Appendix A. Here we give a proof sketch. One major idea is the construction of a bit-grounding gadget —a subgraph where the bits are set uniquely (up to permutations) in any valid representation, and can be used to set the bits in other vertices. The gadget has vertices; we prove that there is a unique (up to permutations) -representation of , where each donor vector has a unique pair of ones, and similarly for each patient vector. Figure 5 shows .

Then, we prove -hardness by reduction from 3SAT. In the constructed instance of our problem, we set the threshold to . The crux of the reduction is to add a vertex for each clause in the given 3SAT formula, where in the patient vector, the bit corresponding to each literal in the clause is set to . This can be done by connecting the vertex to the bit-grounding gadget. Moreover, there is a special vertex that does not have outgoing edges to any of the clause vertices. This means that it must have a in a position that corresponds to one of the literals in each clause. A different part of the construction ensures that there is at most a single in the two positions corresponding to a variable and its negation. Therefore, a valid assignment of the donor bits corresponds to a satisfying assignment for the 3SAT formula.

Figure 1: Gadget with a subset of non-edges shown; all edges between circle vertices are also not in .

4 Computing Small Representations of Real Kidney Exchange Compatibility Graphs

In this section, we test our hypothesis that real compatibility graphs can be represented by a substantially smaller number of attributes than required by the worst-case theoretical results of Section 3. We begin by presenting general math programming techniques to determine, given , whether a specific graph is -representable. We then show on real and generated compatibility graphs from the UNOS US-wide kidney exchange that small suffices for -representation, and conclude by exploring the allowance of greater thresholds on match size. Even small thresholds result in substantial societal gain.555All code for this section can be found at

4.1 Mathematical Programming Formulations

Implementation of can be written succinctly as a quadratically-constrained discrete feasibility program (QCP) with binary variables, given as M1 below.


The constraint matrix for this program is not positive semi-definite, and thus the problem is not convex. Exploratory use of heuristic search via state-of-the-art integer nonlinear solvers (?) resulted in poor performance (in terms of runtime and solution quality) on even small graphs. With that in mind, and motivated by the presence of substantially more mature integer linear program (ILP) solvers, we linearize M1, presented as M2 below.


M2 generalizes M1; while M1 searches for a feasible solution to the -representation problem, M2 finds the “best” (possibly partially-incorrect) solution by minimizing the total number of edges that exist in the solution but not in the base graph , or do not exist in the solution but do in . This flexibility may be desirable in practice to strike a tradeoff between small and accuracy of representation.

Interestingly, neither the fully general ILP nor its (smaller) instantiations for the special cases of feasibility and/or threshold were solvable by a leading commercial ILP solver (?) within hours for even small graphs, primarily due to the model’s loose LP relaxation. Indeed, the model we are solving is inherently logical, which is known to cause such problems in traditional mathematical programming (?). With that in mind, we note that the special case of can be represented compactly as a satisfiability (SAT) problem in conjunctive normal form, given below as M3.


This formulation maintains two sets of clauses: the first set enforces no bit-wise conflicts for edges in the underlying graph, while the second set enforces at least one conflict via auxiliary variables for each possible edge . M3 was amenable to parallel SAT solving (?). Next, we present results on real graphs with this formulation.

4.2 -representations of Real Graphs

Can real kidney exchange graphs be represented by a small number of attributes? To answer that question, we begin by testing on real match run data from the first two years of the United Network for Organ Sharing (UNOS) kidney exchange, which now contains transplant centers, that is, 60% of all transplant centers in the US. We translate each compatibility graph into a CNF-SAT formulation according to M3, and feed that into a SAT solver (?) with access to GB of RAM, cores, and minutes of wall time. (Timeouts are counted—conservatively against our paper’s qualitative message—as negative answers.)

Figure 2 shows a classical phase transition from unsatisfiability to satisfiability as increases as a fraction of graph size, as well as an associated substantial increase in computational intractability centered around that phase transition. This phenomenon is common to many central problems in artificial intelligence (???). Indeed, we see that substantially fewer than attributes are required to represent real graphs; compare with the lower bound of Theorem 4.

Figure 2: Classical hardness spike near the phase transition for -representation on real UNOS graphs.

Figure 3 explores the minimum required to represent each graph as a function of , compared against the theoretical upper bound of . The shaded area represents those values of where the SAT solver timed out; thus, the reported values of are a conservative upper bound on the required minimum, which is still substantially lower than .

Figure 3: Comparison of number of bits (y-axis) required to -represent real UNOS compatibility graphs of varying sizes (x-axis). The theoretical bound of is shown in red; it is substantially higher than the conservative upper bound of solved by our SAT solver (upper dotted line).

4.3 Thresholding Effects on Matching Size

A motivation of this work is to provide a principled basis for optimally “flipping bits” of participants (via, e.g., immunosuppresion) in fielded kidney exchanges, in the hope that additional edges in the compatibility graph will result in gains in the final algorithmic matchings. We now explore this line of reasoning—that is, increasing the in instead of the , which is now endogenous to the underlying model—on realistic generated UNOS graphs of varying sizes.

Figure 4 shows the effect on the percentage of patient-donor pairs matched by - and -cycles as a global threshold is raised incrementally from (the current status quo) to . Intuitively, larger compatibility graphs result in a higher fraction of pairs being matched; however, a complementary approach—making the graph denser via even small increases in —also results in tremendous efficiency gains of x (depending on ) over the baseline for , and quickly increasing to all pairs being matched by .

Figure 4: Pairs matched (%, y-axis) in generated UNOS graphs of varying sizes (lines), as increases (x-axis).

We note that any optimal matching found after increasing a global threshold could also be created by paying to change at most bits per vertex in a graph; however, the practical selection of the minimum-sized set of at most bits per vertex such that the size of the resulting optimal matching is equal to that found under the global threshold of is a difficult two-stage problem and is left as future research. The large efficiency gains realized by moving from to even motivate this direction of research.

5 Conclusions & Future Research

Motivated by the increasing size of real-world kidney exchanges, we presented a compact approach to modeling kidney exchange compatibility graphs. Our approach is intimately connected to classical intersection graph theory, and can be viewed as the first exploration and practical application of -intersection digraphs. We gave necessary and sufficient conditions for losslessly shrinking the representation of an arbitrary compatibility graph in this model. Real compatibility graphs, however, are not arbitrary, and are created from characteristics of the patients and donors; using real data from the UNOS US-wide kidney exchange, we showed that using only a small number of attributes suffices to represent real graphs. This observation is of potential practical importance; if real graphs can be represented by a constant number of attributes, then central -hard problems in general kidney exchange are solvable in polynomial time.

This paper only addresses the representation of static compatibility graphs; in reality, exchanges are dynamic, with patients and donors arriving and departing over time (?). Extending the proposed method to cover time-evolving graphs is of independent theoretical interest, but may also be useful in speeding up the (presently-intractable) dynamic clearing problem (?????). Better exact and approximate methods for computing ()-representations of graphs would likely be a prerequisite for that research. Adaptation of the theoretical results to models of lung, liver, and multi-organ exchange would also be of practical use (????).


This material is based on work supported by the National Science Foundation (NSF) under grants CCF-1215883, CCF-1525932, IIS-1350598, IIS-1617590, IIS-1320620, and IIS-1546752, the Army Research Office (ARO) under award W911NF-16-1-0061, the Office of Naval Research (ONR) under award N00014-16-1-3075, a Sloan Research Fellowship, a Facebook Fellowship, and a Siebel Scholarship. It made use of XSEDE computing resources provided by the Pittsburgh Supercomputing Center. The authors thank participants at EXPLORE-16, EURO-16, and INFORMS-16 sessions, and particularly the anonymous reviewers at AAAI-17 and James Trimble, for helpful discussion.


  • [Abraham, Blum, and Sandholm 2007] Abraham, D.; Blum, A.; and Sandholm, T. 2007. Clearing algorithms for barter exchange markets: Enabling nationwide kidney exchanges. In Proceedings of the ACM Conference on Electronic Commerce (EC), 295–304.
  • [Anderson et al. 2015] Anderson, R.; Ashlagi, I.; Gamarnik, D.; and Roth, A. E. 2015. Finding long chains in kidney exchange using the traveling salesman problem. Proceedings of the National Academy of Sciences 112(3):663–668.
  • [Anderson 2014] Anderson, R. 2014. Stochastic models and data driven simulations for healthcare operations. Ph.D. Dissertation, Massachusetts Institute of Technology.
  • [Awasthi and Sandholm 2009] Awasthi, P., and Sandholm, T. 2009. Online stochastic optimization in the large: Application to kidney exchange. In Proceedings of the 21st International Joint Conference on Artificial Intelligence (IJCAI), 405–411.
  • [Biere 2014] Biere, A. 2014. Yet another local search solver and lingeling and friends entering the SAT Competition 2014. SAT Competition 2014:2.
  • [Biró, Manlove, and Rizzi 2009] Biró, P.; Manlove, D. F.; and Rizzi, R. 2009. Maximum weight cycle packing in directed graphs, with application to kidney exchange programs. Discrete Mathematics, Algorithms and Applications 1(04):499–517.
  • [Bonami et al. 2008] Bonami, P.; Biegler, L. T.; Conn, A. R.; Cornuéjols, G.; Grossmann, I. E.; Laird, C. D.; Lee, J.; Lodi, A.; Margot, F.; Sawaya, N.; et al. 2008. An algorithmic framework for convex mixed integer nonlinear programs. Discrete Optimization 5(2):186–204.
  • [Cheeseman, Kanefsky, and Taylor 1991] Cheeseman, P.; Kanefsky, B.; and Taylor, W. 1991. Where the really hard problems are. In Proceedings of the Twelfth International Joint Conference on Artificial Intelligence (IJCAI), 331–337.
  • [Chung and West 1994] Chung, M. S., and West, D. B. 1994. The -intersection number of a complete bipartite graph and orthogonal double coverings of a clique. Combinatorica 14(4):453–461.
  • [Dickerson and Sandholm 2015] Dickerson, J. P., and Sandholm, T. 2015. FutureMatch: Combining human value judgments and machine learning to match in dynamic environments. In AAAI Conference on Artificial Intelligence (AAAI), 622–628.
  • [Dickerson and Sandholm 2016] Dickerson, J. P., and Sandholm, T. 2016. Multi-organ exchange: The whole is greater than the sum of its parts. Journal of Artificial Intelligence Research. To appear.
  • [Dickerson et al. 2016] Dickerson, J. P.; Manlove, D.; Plaut, B.; Sandholm, T.; and Trimble, J. 2016. Position-indexed formulations for kidney exchange. In Proceedings of the ACM Conference on Economics and Computation (EC).
  • [Dickerson, Procaccia, and Sandholm 2012] Dickerson, J. P.; Procaccia, A. D.; and Sandholm, T. 2012. Dynamic matching via weighted myopia with application to kidney exchange. In AAAI Conference on Artificial Intelligence (AAAI), 1340–1346.
  • [Eaton, Gould, and Rödl 1996] Eaton, N.; Gould, R. J.; and Rödl, V. 1996. On -intersection representations. J. Graph Theory 21(4):377–392.
  • [Erdős, Goodman, and Pósa 1966] Erdős, P.; Goodman, A. W.; and Pósa, L. 1966. The representation of a graph by set intersections. Canad. J. Math. 18:106–112.
  • [Ergin, Sönmez, and Ünver 2014] Ergin, H.; Sönmez, T.; and Ünver, M. U. 2014. Lung exchange. Working paper.
  • [Ergin, Sönmez, and Ünver 2015] Ergin, H.; Sönmez, T.; and Ünver, M. U. 2015. Liver exchange. Working paper.
  • [Glorie et al. 2015] Glorie, K.; Carvalho, M.; Constantino, M.; Bouman, P.; and Viana, A. 2015. Robust models for the kidney exchange problem. Working paper.
  • [Glorie, van de Klundert, and Wagelmans 2014] Glorie, K. M.; van de Klundert, J. J.; and Wagelmans, A. P. M. 2014. Kidney exchange with long chains: An efficient pricing algorithm for clearing barter exchanges with branch-and-price. Manufacturing & Service Operations Management (MSOM) 16(4):498–512.
  • [Harary, Kabell, and McMorris 1982] Harary, F.; Kabell, J. A.; and McMorris, F. R. 1982. Bipartite intersection graphs. Comment. Math. Univ. Carolin. 23(4):739–745.
  • [Hogg, Huberman, and Williams 1996] Hogg, T.; Huberman, B. A.; and Williams, C. P. 1996. Phase transitions and the search problem. Artificial Intelligence 81(1-2):1–15.
  • [Hooker 2002] Hooker, J. N. 2002. Logic, optimization and constraint programming. INFORMS Journal of Computing 14:295–321.
  • [IBM ILOG Inc 2015] IBM ILOG Inc. 2015. CPLEX 12.6 User’s Manual.
  • [Kou, Stockmeyer, and Wong 1978] Kou, L. T.; Stockmeyer, L. J.; and Wong, C. K. 1978. Covering edges by cliques with regard to keyword conflicts and intersection graphs. Comm. ACM 21(2):135–139.
  • [Luo and Tang 2015] Luo, S., and Tang, P. 2015. Mechanism design and implementation for lung exchange. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), 209–215.
  • [Mak-Hau 2015] Mak-Hau, V. 2015. On the kidney exchange problem: cardinality constrained cycle and chain problems on directed graphs: a survey of integer programming approaches. Journal of Combinatorial Optimization 1–25.
  • [McKee and McMorris 1999] McKee, T. A., and McMorris, F. R. 1999. Topics in intersection graph theory. SIAM Monographs on Discrete Mathematics and Applications. Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA.
  • [Meseguer and Torras 2001] Meseguer, P., and Torras, C. 2001. Exploiting symmetries within constraint satisfaction search. Artificial Intelligence 129(1-2):133–163. Heuristic search in artificial intelligence.
  • [Montgomery et al. 2006] Montgomery, R.; Gentry, S.; Marks, W. H.; Warren, D. S.; Hiller, J.; Houp, J.; Zachary, A. A.; Melancon, J. K.; Maley, W. R.; Rabb, H.; Simpkins, C.; and Segev, D. L. 2006. Domino paired kidney donation: a strategy to make best use of live non-directed donation. The Lancet 368(9533):419–421.
  • [Orlin 1977] Orlin, J. 1977. Contentment in graph theory: covering graphs with cliques. Nederl. Akad. Wetensch. Proc. Ser. A 39(5):406–424.
  • [Rapaport 1986] Rapaport, F. T. 1986. The case for a living emotionally related international kidney donor exchange registry. Transplantation Proceedings 18:5–9.
  • [Rees et al. 2009] Rees, M.; Kopke, J.; Pelletier, R.; Segev, D.; Rutter, M.; Fabrega, A.; Rogers, J.; Pankewycz, O.; Hiller, J.; Roth, A.; Sandholm, T.; Ünver, U.; and Montgomery, R. 2009. A nonsimultaneous, extended, altruistic-donor chain. New England Journal of Medicine 360(11):1096–1101.
  • [Roth et al. 2006] Roth, A.; Sönmez, T.; Ünver, U.; Delmonico, F.; and Saidman, S. L. 2006. Utilizing list exchange and nondirected donation through ‘chain’ paired kidney donations. American Journal of Transplantation 6:2694–2705.
  • [Roth, Sönmez, and Ünver 2004] Roth, A.; Sönmez, T.; and Ünver, U. 2004. Kidney exchange. Quarterly Journal of Economics 119(2):457–488.
  • [Roth, Sönmez, and Ünver 2005] Roth, A.; Sönmez, T.; and Ünver, U. 2005. A kidney exchange clearinghouse in New England. American Economic Review 95(2):376–380.
  • [Sen et al. 1989] Sen, M.; Das, S.; Roy, A. B.; and West, D. B. 1989. Interval digraphs: an analogue of interval graphs. J. Graph Theory 13(2):189–202.
  • [Ünver 2010] Ünver, U. 2010. Dynamic kidney exchange. Review of Economic Studies 77(1):372–414.
  • [Walsh 2011] Walsh, T. 2011. Where are the hard manipulation problems? Journal of Artificial Intelligence Research 42:1–29.

Appendix A Additional Proofs

In this section, we provide the full proof of Theorem 5. Recall the -representation with Ignored Edges: given an input of a directed graph , a subset of , and integers and , this problem asks whether there exist bit vectors and of length for each such that the if and only if .

Consider the gadget defined as follows on a graph on vertices. Let be the graph defined in Theorem 4 on vertices, i.e., the complement of a directed cycle on this many vertices. Associate with each vertex a unique element from (all subsets of of size 2). Let be an independent set of vertices. For each vertex , , add an incoming edge into from if and only if . Figure 5 shows .

Figure 5: Gadget with a subset of non-edges shown; all edges between circle vertices (those in ) are also not in .

Denote the donor neighborhood of by , i.e., the set of patients compatible with donor . Similarly, the patient neighborhood of is .

Lemma 1.

There is a unique (up to permutations) -representation of .


First consider . For all , since , and the compatibility function is , there exist two distinct conflict bits and in . Moreover, for any distinct, . Otherwise, and , but at least one of the edges or exists in .

In addition, for all . Suppose not, and there exists a third distinct (from and ) conflict bit in . As the number of vertices is , there exists a vertex with , and a (different) vertex with . Then and are both not in . However, has edges to all vertices except itself and , which is a contradiction, as , , and are all distinct. From this, it also follows that .

We have thus shown that every vertex has exactly two bits set to one in its donor attribute vector, with a unique pair of bits per vertex, and . However, without more structure, it is not possible to tell in which donor vectors a particular conflict bit appears. The additional graph allows us to identify this, up to permutations.

Since there are no outgoing edges from any of the vertices in , and every pair of bits in appears in exactly one patient vector of a vertex in , each donor vector in must be the all-ones vector of length .

Consider vertex in . It has an incoming edge from each vertex such that and it is missing the other possible incoming edges from (note that the labeling of the vertices, as well as the choices of the sets , are made without any knowledge of the bit-vectors associated with the vertices). We next show that . That this quantity is at most 1 is clear, as and intersect in at most one conflict bit for all , . If this quantity were 0, then for some , . But then at least two zeroes would appear in , which is a contradiction as it implies that would have more than incoming edges. Thus, the patient vector for has exactly one zero and ones elsewhere. Moreover, since for any distinct , it follows that , so each patient vector is distinct and the position of its only zero is unique. ∎

Lemma 2.

Consider a digraph having as a subgraph and an additional vertex . We use the compatibility function and seek to find a -representation for the induced subgraph . Let having that property that if with , then . Let . Let .

If , then . If , then .


We use the fact that there are exactly two bits set to one in the donor and patient vectors of each vertex in in any -representation. For the first statement, since has no edge from , . Thus . Now let and . If , then for each , there exists a vertex in with , so that would also not be an edge of , a contradiction. Hence, . The second statement follows analogously. ∎

Theorem 5.

The -representation with Ignored Edges problem is -complete.


Consider a 3SAT formula on variables and with clauses. Set , and build the following graph on vertices. The first two vertices are labeled and . Then there is a vertex for each variable , a vertex for each clause . Call the subgraph induced by these vertices . The last vertices come from the gadget .

The vertices in ground the bits used in each donor and patient vector.. We think of the bits, in order, as corresponding to the positive literals, then their negations, followed by two “extra” bits. Then the index of literal will be , and the index of literal will be . For and distinct in , within . Denote this vertex of by , and without loss of generality we can assume that .

The edges among vertices in the induced subgraph are already defined; we define (a subset) of the rest of the edges. Together, these comprise precisely the subset of the edges and non-edges specified as an input the instance we are creating of -representation with Ignored Edges.

Vertex has no incoming edges, and the only outgoing edges from to are to every variable vertex , . The rest of the vertices that are not in have no outgoing edges at all, to either or , and the only incoming edges are from vertices of . Vertex has an incoming edge from every vertex of except . For each variable vertex , , it has an incoming edge from every vertex in except . For each clause , let be the indices of the three literals that appear in . Let be . Then the vertex corresponding to has an incoming edge from every vertex in .

Every vertex of except for will have a donor vector with every bit set to one because there are no outgoing edges to any vertex of , and will have an all-ones patient vector because it has no incoming edges from . By Lemma 2, in any -representation of , vertex will have . Variable vertex , , will have . Clause vertex will have .

Since the graph does not have an edge from to , (these are the only two conflict bits in and the threshold is ). Since the graph has an edge from to each variable vertex , , must contain at most one of the indices corresponding to the variable or its negation (there are no conflicts from the extra bits, which are set to in the patient vector of ). Since the graph does not have an edge from to any of the clause vertices, it has to have at least one conflict bit in a position corresponding to one of the three literals in the clause (the other conflict comes from the extra bit ).

Thus, finding a suitable -representation that satisfies the adjacencies of edges that appear in would involve finding an appropriate set , which we have shown corresponds to choosing at most one value for each , as well as choosing at least one literal that appears in each clause. This is the same as the problem of finding a satisfying formula for the initial instance of 3SAT.

Figure 6: Example of 3SAT reduction to -representation.

As an example, consider the 3SAT formula . Figure 6 shows the most relevant part of the graph used in the reduction. One possible -representation may have , indicating and the rest of the variables are arbitrary. Another example of a possible representation is , meaning , (index appears), and . ∎

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description