>> Eric Horvitz: Welcome to this talk this afternoon. ... Tuomas Sandholm today. I think he was just talking about...

advertisement
>> Eric Horvitz: Welcome to this talk this afternoon. We're excited to have
Tuomas Sandholm today. I think he was just talking about his last talk at
Microsoft Research was in 1998, so we like to hear from him at least once every
10 years to get an update on his reflections and his intellectual work.
Tuomas is a professor in the Computer Science Department at Carnegie Mellon
University. He's prolific in his research in eCommerce, game theory, core AI
multiagent systems, eCommerce. He's looked at auctions and exchanges online
negotiation and contracting, voting, safe exchange, coalition formation and a
variety of other topics.
Beyond his academic work he's founder, chairman and chief scientist of a
company, I'm not sure you call it a start-up anymore, but it's a company called
CombineNet, which is doing generalized combinatorial auctions, working with
many companies in the world, quite a -- dealing with handling quite a bit of flow of
dollars.
Tuomas did his PhD and his master's degrees in computer science at the
University of Massachusetts at Amherst. Earlier than that, he did his bachelor's
and master's degree at Helsinki University of Technology in Finland.
He is the recipient of many awards, including one that I know quite well, the
Computers and Thought Award. And he recently became a fellow of the ACM.
He's already a fellow of the AAAI a couple years back.
So today Tuomas is showing how we can apply computational methods, data
structures and decision making to health decisions of the most interesting kinds,
involving -- including the kind that involve exchanging of critical organs in which
is often scarce quantities of around the world. People wait for these kidney
exchanges sometimes dying while they wait. And at Stanford when I did a
medical degree we often saw these list and priorities of pending needs and
availabilities. It's a very challenging problem that he's been working on. And an
article on this topic just came out in the Journal of Medicine recently. So
Tuomas.
>> Tuomas Sandholm: Thank you, Eric. Thanks a lot for this opportunity to
share some of my thoughts on how a computer scientist can save lives directly,
which has been kind of an unusual opportunity for me. So first of all, I'd like to
say a few words of thanks. First of all, funding agencies and Microsoft Research
has been funding part of this work through Carnegie Mellon's Computational
Thinking Center and the National Science Foundation has also been funding part
of this work.
In the second set of thanks go to my collaborators. I'm going to be talking about
the results from three different papers, each one with different co-authors in this
talk.
So as Eric said, kidney exchange is an important -- kidney failure is an important
problem and it can be a very sad situation when that strikes. In the US alone
over 50,000 people get lethal kidney disease each year, and when it happens, it
usually affects both kidneys. The traditional treatment is dialysis and here's a
little picture of what dialysis looks like. You hook up a machine to your
bloodstream and it takes a lot of time, multiple times a week, hours at a time.
And quality of life on dialysis is very low.
And for a relatively healthy person like myself, to think about this, it's hard to
believe but most people actually on dialysis decide to stop the treatment and die
instead, quality of life is so low, and in fact only 12 percent survive ten years,
although in principle you can go forever.
The real dialysis is just kind of sustaining your life. It doesn't solve the kidney
failure problem. A more permanent solution is a transplant. But the transplant
requires that the donor's kidney is compatible with the patient. And the main
compatibility should come from blood type and tissue type, and there are a
couple of others. And why do we work on kidneys rather than some other
organs? Well, kidneys are by far the most prevalent organ transplant. So if you
can help the kidney problem, you can probably do as much in terms of saving
lives as all other organs combined.
As Eric mentioned, there's this waiting list, this national waiting list. These
numbers are now about a year old. So you have about 80,000 people on the
waiting list. The average wait time is two to five years, depending on the blood
type. Deaths while waiting are about 4,000 a year. And there are about 30,000
additions to the list every year. And only about 15,000 come off the list every
year. So the list keeps growing by 15,000 a year. So there's a big imbalance
between supply and demand of kidneys.
And you probably read about, you know, buying kidneys and so forth. That's
illegal in most countries, and that's not what we'll be talking about here. What we
are talking about here is a live donation, where the observation is that you only
need one kidney to serve, survive, so if you need a kidney, maybe one of your
loved ones would like to donate you one of there's and they can live fine and you
can live fine.
The tricky piece is that usually even if you find a will donor, there's
incompatibility, the blood and the tissue types don't match, so even though you
have a willing donor, the donor is incompatible so you can't go ahead and do the
transplant.
The idea in kidney exchange is that instead of just looking at one donor and one
patient let's take these donor patient pairs, which are marked by these circles
here, and make a big pool of them and then try to find exchanges of donors in
the pool. And if the pool is big enough, maybe it's no longer an off chance that
you can get matches.
So here's an example. So pair one has an incompatible patient at donor, we
have another pair, pair two where the patient and the donor are incompatible, so
maybe, though, the donor from pair one could donate to the recipient in pair two,
and the donor in pair two could give to the patient in pair one. This would be
what we call a two cycle.
Any questions so far? Okay.
By the way, this is now as of two years ago officially legal in the US. So you
cannot by organs for valuable consideration but kidneys are no longer
considered valuable compensation, so you can actually swap kidneys and this is
legal.
Usually when we do this and we work with some real kidney transplantation
change or exchanges as we call them, we have the donors travel to the place of
the recipient. So the kidney's actually travelling in a live person so we don't have
to fly the kidney on ice where it gets worse over time, we actually bring it to the
operating table inside the donor so the kidney's actually outside of a person only
for a small number of minutes.
>>: Does that [inaudible].
>> Tuomas Sandholm: That's an interesting thing. So different kidney
exchanges have different policies as to whether they allow travel distance to be a
consideration. And to me, at least, it's very -- I'm used to traveling a lot and it
seems to the me that you know, this live saving thing should be much higher
proprietary and travel should be a secondary consideration. There are certain
people in the US who are not willing to travel long enough to make this happen.
So they're willing to give a kidney to their loved one, which is I would think a big
deal, but they're not willing to travel an unknown transplant center on the other
side of the US. So this is a question. And some of the kidney exchange allow to
you specify constraints like that, others don't. And you could also make it not a
constraint but you could put it down -- well, we'll talk about weights later. You
can also take it into account as weights.
My personal preference, no, if you just talking US, you shouldn't put any -- allow
any such constraints. But that's just my personal bias.
With one of the kidney exchanges that we've used this work with, they actually do
the mostly transportation inside donors, but they also do transportation on ice for
those donors that don't want to travel. I think that's not that great in that the
kidney gets worse during transportation, but that's another matter.
So that was a two cycle. But in general you could have longer cycles, pair A
giving to pair B, giving to pair C and so forth. Here's an example of what a
kidney exchange optimization problem looks like in graph form. And this is a tiny
example in the real USwide kidney exchange we'll have, as predicted, about
10,000 pairs and in the current small kidney exchanges that exist the biggest
ones have about 200 pairs. But this only has five pairs just so that we can look
at it visually.
So we have each pair in note in the graph, the pair consists of donor over donor
of a patient who are incompatible, and there's directed edges that show
compatibility between pairs. In this example, there are four cycles that could
happen. One is a two cycle C1, then there's a two cycle C2, a two cycle C3 and
then there's this massive cycle which is one, two, three, four cycle around the
whole loop.
The cycles can have weights to capture different criteria which we'll talk about
later, but for the exposition in the first part of the talk, let's just think about the
unweighted case where all of the edge weights are one.
And the aim here is to find the maximum weight sit of disjoint cycles. Disjoint
means that you cannot take more than one kidney out of any donor. So any one
of these nodes can be only part of one cycle. And maximum weight, well, the
weight of a solution is the sum of the weight of the cycles in the solution.
This is actually not just kidney exchange, you could use the same types of
algorithms for other barter exchanges; for example, other organ donation, DVDs.
There's an exchange for used books called read it, swap it. There's an exchange
for holiday homes called Intervac. Question?
>>: Basically if money transactions are allowed it was discovered I believe in the
Fifth Century BC that money [inaudible] really simplify things a lot. So why this
return to barter?
>> Tuomas Sandholm: Oh, okay.
>>: You can see where it's [inaudible] illegal to [inaudible].
>> Tuomas Sandholm: Right. So from kidneys it's illegal to use money so that's
a very strong reason why you want to go the barter. There are other reasons
why people like to barter instead of put things on the market. Some argue that
there's -- you know, you save the taxes, you don't pay the taxes and stuff like
that. The funniest one that I know of is the National Shoe Exchange where leg
amputees exchange shoes, so maybe they can get away with paying only half of
the cost of the shoes because they only need one.
Now, kidney exchange, unlike some of these other exchanges, has a special
property which is there's a cap on the length of the cycle. And usually we'll call
the cap L, and usual in practice so far it's three, four, or five. And the reason -there's actually two reasons. One reason is there's research constraints. All of
the transplants in the cycle have to happen at the same time, and in fact, the
doctors are on cell phones with each other saying, okay, I'm putting that person,
the donor under anesthesia now, I'm taking the kidney out now. Why? Well, if,
let's say, Eric's loved one receives a kidney before Eric donates one, Eric might
have said oh, well, now I have second thoughts and I don't want to donate
anymore and now the cycle fails. So it has to actually execute atomically and
that's why it's coordinated in time.
But what that means is that executing long cycles is a huge logistical nightmare.
You need -- if you want to do a K cycle, you need 2K operating rooms, between
3K and 6K doctors and around 4K nurses. And the biggest cycle that has been
executed to date was a six cycle, but that was kind of showing that, you know, it
can be done. But in practice usually three or four cycles.
>>: What is the typical bound and time between the donations of all the people
in a particular cycle?
>> Tuomas Sandholm: No, there are no time gap. The kidneys come out at the
same moment.
>>: All of them?
>> Tuomas Sandholm: All donor kidneys come out at the same moment.
>>: That seems like a really harsh constraint.
>> Tuomas Sandholm: Yeah. Yeah. But it's very important.
>>: That sounds like [inaudible].
>> Tuomas Sandholm: Well, one [inaudible] asked the question, well, why do
these have to happen atomically at all, can't we just write a contract that you'll
give a kidney and so on. Well, in the US it's illegal to contract for organs, so you
can't write a contract for the organ. So the only way to enforce it is to make it
happen atomically.
>>: Literally starting at the exact same moment.
>> Tuomas Sandholm: Literally at the same moment, coordinated by cell
phones.
>>: That's pretty wild.
>> Tuomas Sandholm: Yup.
>>: You don't see a way out of ->> Tuomas Sandholm: I'll talk about one way, partial way out, but that's actually
not a solution to these problem, it's a solution to a much big problem, call
altruistic-donor chains. I'll talk about that later.
>>: Okay.
>> Tuomas Sandholm: The other reason why you don't want long cycles is that
there's a last minute check after we've done the blood tests that say you know
these people are compatible, there's a last minute check called the cross match
where you actually take their bloods, put them together and shake it to see if it
coagulates, if it cakes. If it coagulates, then you can't go ahead with the
transplant anyway. So last minute, meaning one or two weeks before the
operation some of these edges from a market graph come out. So the market
graph edges are actually super shape of real compatibility. So that means that
the cycle fails.
But if you have a shorter cycle, the probability that the cycle fails is lower and if it
fails a smaller number of people will be affected. So it's another reason why you
don't want to go with long cycles.
So what about the complexity now of the exchange clearing problem? Well, we
proved that it's NP complete, more specifically deciding whether a directed graph
has a perfect cover with cycles of length at most L will then be complete for any
constant where L is three or more. With the reduction is from undirected 3D
matching and it -- the obvious reduction doesn't quite work, so you need a little
bit more of a subtle reduction.
The interesting thing is that the problem is polynomial time is if L is 2, so if you
only have two cycle polynomial time and if L is infinite, you don't have any cycle
cap, it's also polynomial time. So it unfortunately happens to be for the real
problem where L is three, four, or five, it's NP complete.
Approximation algorithms exist but we want an exact algorithm, first of all,
otherwise patients my die unnecessarily or will die unnecessarily, and as I'll show
we can make an algorithm that can solve this problem optimally at the nationwide
scale. Which is projected to be 10,000 pairs.
Some prior work. Well, people of looked at simulation of different kinds,
simulation paper by Segev, et al., that shows it with just 4,000 patients you get
about 750 million dollars of savings in healthcare costs and that's just the cost of
dialysis really that's saved there. It doesn't take into effect the fact that you get
quality of life improvement and these people who are on dialysis are now working
and being productive members of society.
In reality the market as I mentioned is probably going to be about 10,000 so this
is an underestimate in that sense as well. Roth showed that you can actually get
significant gains with allowing three cycles instead of just restricting to two
cycles.
The current state of the art at least before we showed up on the scene, was there
were three kinds of approaches to solving the exchange problem in kidney
exchange in practice. And in the US there's a handful of kidney exchanges.
They are all relatively small. The biggest one run pools of about 150, 200. I'll
talk about the UNOS setting up a nationwide kidney exchange towards the end of
the talk. Most of them did many of the matches or some sort of a greedy
heuristic algorithm that doesn't find optimal solution and the manual approach
doesn't scale. And people who used maximal weighted matching which finds the
optimal answer for two cycles but can't handle more than two cycles, that can be
solved, for example, with Edmond's algorithm from '65 and then the most
advanced prior exchange is C plex, which is an integer program in general
purpose package. And as I'll show, it doesn't scale beyond 600 or 9 to 900 pairs,
that's where it chokes. The nice thing is that this can handle any cycle cap and it
has the same flexibility as our algorithm, otherwise just doesn't scale to the
nationwide size.
The interesting thing about this problem is that unlike in determination and
combinatorial auctions where the bottlenecks is time here space becomes the
bottle neck first. And what I'll show you is an algorithm that can actually solve the
problem provably optimally without ever writing the problem down. You can't
ever write the problem down because it would be too big.
So first I'm going to show you an approach -- yes?
>>: You say space is a bottleneck, you're talking gigabytes, terabytes,
petabytes.
>> Tuomas Sandholm: Pick your favorite. So in my lab we have -- the biggest
computer we have is about 128 gigabytes of RAM, so a supercomputer, and it's
really -- I'll show you the reason why you'll just see it, okay, well if that's how it
has to be, you can't write the problem down. It's just too big. But first let me talk
about our first approach, and now I'll have to preface this that this didn't really
work as well.
The first approach was what we call the edge formulation of the problem, and it's
motivated by this special case where there's no limit on cycling. So we can take
the original market graph and put the agents as red nodes into a new graph.
Let's say these are the recipients and then we have the donors here as items in
the blue ones and we'll -- for every compatible edge, we'll put an edge in this
graph and then we'll put these incompatible edges of weight zero between the
donor and his incompatible pair. And then we can look for a perfect matching in
this bipartite graph, and that will give us the right answer in the case where we
have no limit on cycle length in polynomial time.
So we took that type of idea and formulated it as an integer linear program, ILP,
in this edge formulation. Of course now we really put in the cycle cap. The
objective is to maximize the sum over the edges, the weight of the edge times
the decision barrier below whether you're taking the edge or not. One means
that you're taking the edge and the solution, zero means that you're not. Subject
to conservation of flow, the last-minute kidneys have to come into each and just
go out and capacity nobody can put out more than one kidney. And then we
have the limit in cycle length. For each known cycle path of length L we have to
say that the sum of the variables is less or equal to L minus one.
The ILP there is too large, there's too many constraints to write down, even with
just a thousand patients there are 400 million length 3 pads. So we tried the
constraint generation approach. That's an incremental formulation where you
begin with a small set of constraints and then you repeat solving the linear
programming relaxation and adding a subset of the violated constraints, if any.
We perform a branch and bound search, a tree search doing the repeat loop
above at every node. So that's a normal way of doing constraint generation in
the integer programming and search.
There's some techniques that we use to try to make it faster. One is that we
seeded the constraint, we didn't start with an empty pool of constraints, we forbid
any known cycle path of length L minus one, there's no edge closing the cycle
from its tail to head. And we also tried seeding with random constraints from the
ILP.
Then in the constraint generation, we find a length L path with value some more
than L minus one and we add the constraint. Observation here is that the long
cycle C of length C contains C of these paths. So we went in the smaller
numbers of constraints so for example on a cycle the edge sum in a long fraction
of cycle can be at most four of this so we put just one constraint instead of C
constraints for these cycles. That gives less constraints, but there now turns out
to be slower in practice.
So then we went the other way and said, okay, well, let's put in more constraints
than C and see if that helps. We added a constraint for violating path P and for
each path with the same intern vertices. And that turned out to be faster, but it's
still slow. So even after many improvements we couldn't clear markets with 100
patients faster than the next approach that I'm going to talk about can clear the
market with 10,000 patients. And I'll mention the theoretical justification why the
next approach is better.
The second approach is column generation. The first was constraint generation.
This is column generation. And this is motivated by how you can formulate in
polynomial time [inaudible] the case where the cycle length is at most two. And
what we do here, we put the nodes of the graph into this new graph from the
original graph, and then we put one undirected edge for each cycle of length at
most two. So for example, for this cycle C1, there's an edge here, for this cycle
C2, there's an edge here, and for this cycle here, there's an edge here. And for
the big cycle of course there's no edge because that's longer than two. And then
the exchanges correspond to matchings in this graph, and again we can use
standard matching algorithms to find optimal matching.
But again, we want something that works for any cap L, so we need to formulate
these in an integer linear program, but we use this idea that decision variables
are cycles. So we will say that CL is a set of cycles of length. At most L. We'll
have one variable for each cycle C, CL. We want to maximize over the sum of -sum over the cycles of the weight of the cycles, weight of the cycle times the
decision variable of the cycle. Again, one means that the cycle is in the solution
and zero means it's not.
Subject to the constraint that that the sum over cycles that include vertex VI has
to be smaller than one. Again, that's a constraint that every pair can be involved
in that one cycle. And of course the cycles have to be out or in, they can't be
partially in.
Any questions on this?
And this is a formulation that we'll really be working with. And now we're going to
be adding some [inaudible] on top of this to make this tractable. You can see
that CL will grow rapidly. So even if you have L being three, there's already a
cubic number of cycles, and if you have 10,000 pairs it's 10,000 to the third in the
worst case and now you start to be beyond what you can even write down.
Let's compare the two different formulations, I'll formulation and edge
formulation. The cycle formulation has fewer constraints but more variables.
And a variable is a column in the integer program. Furthermore, we prove that
the cycle formulation linear program gives upper bounds that are no worse than
the edge formulation. In other words, the cycle formulation gives tighter upper
bounds and therefore smaller search trees because search trees use the upper
bounding to prune. And why is that? Well, you can easily see that any solution
that's valid in the cycle formulation, you can convert a valid solution in the edge
formulation. But the reverse isn't true. So for example think of a cycle of length
N. In the cycle formulation, the optimal solution would be zero because you
couldn't take that cycle because it's longer L. In the edge formulation, on the
other hand, you can take half of every node.
So that just says that cycle formulation gives you tighter bounding and that bears
out also in the speed as I mentioned. What we can do not cycle formulation with
10,000 nodes we couldn't even do a hundred nodes in that time with edge
formulation. Okay. So again, the linear program -- the integer linear program is
too large even with only a thousand patients there are three million cycles, and
again, if you recall, we're trying to solve problems be with the 10,000 patients.
The overall approach that we take, therefore, is what we call branch and price.
And it's an approach relatively recent approach starting in the mid '90s in
operations research in the integer programming where you can actually find the
provably optimal answer without writing the problem down exactly. So we
adopted the approach here, plus we put in a lot of goodies on top of it to make it
fast enough in practice.
So the idea is that we branch like in the tree search, we'll select a fractional
column from the LP, fractional means that the LP value is not zero or one, it's
somewhere in between. So [inaudible] isn't sure whether it should be accepted
or rejected. And we fix the value to zero and one respectively. That's our
branch.
And the search order is we'll do that first search just to save memory. That's just
choice you might go in other orders, but we do this just to save memory and
because it worked. We have found that the search node is no better, it is no
better than incumbent, so that's a normal upper bounding rule. We solved for
each node as LP relaxation using column generation. And that gives -- the LP
gives us the upper ground. And then we have some primal heuristics that search
for integer solutions early at the node and if they are found, they constitute new
incumbents and therefore better pruning later in the search. I'll talk about these
in detail.
So in the column generation the master linear program which we'll call P has too
many variables to write down, too many columns, in other words, so it won't fit in
the memory and we would take too long to solve even if it would fit. So we begin
with the restricted linear problem, P prime, which contains only a small subset of
the variables; i.e., cycles. And note that then the optimum solution for P prime is
no greater in value than the optimum for the actual linear problem.
So we solve P prime, and if necessary we add more variables to it, add more
columns to it, and we repeat until opt of P prime is provably the same as opt of P,
and then we're done with the node. And continue with the search. The pricing
problem then is to find a cycle of -- in other words, a column whose price which
we define to be the weight of the cycle minus the sum of the dual values of the
nodes in the cycle we want to find a cycle that has positive price or a report that
none exists.
The key point here is that we can check the price of each cycle one by one by
enumeration without having all the cycles in memory at once. And once we
found a solution that doesn't have any positive price cycles we are done.
We need some further techniques to improve this pricing problem in speed. First
of all, we generate cycles by depth research over the input graph and we explore
the vertices in non decreasing order of their dual value. Therefore, the -- that's
because the earlier vertices are more likely to belong to a cycle with positive
price and you can prune the depth research path early since dual values never
decrease down a path.
We also avoid repeating work from one pricing problem to the next, meaning that
as we move from one search node to another if a vertices dual value is
unchanged and it was not the root of a positive price cycle before, it can't be now
either and doesn't have to be checked.
And finally you might ask how many columns do we add at a time? And here we
add one. There's a trade of you might add more columns and be able to
increase the opt of P prime more at a pop, but on the other hand if there aren't
any positive price columns and you look for some, you're going to have to go
through a whole list of columns before you're done. So therefore we just do one
at a time.
As I mentioned once all columns have non-positive prices, we know that we have
a provable optimal solution for the linear program at the search tree node.
However, there's this tailing off effect which is that we may have already found
the optimal value for the linear program but some columns still have positive
price, and they are -- often this is problem that you need many iterations to prove
optimality or even you are there already. And there's no general solution for this
problem, but we develop some problem specific techniques that work really well
here. One is that we relax the cycle length constraint, and this gives us a
polynomial time upper bound through the edge formulation. And these length
three cycles are usually enough to match the upper bound. So we relax the idea
of the cycle cap so they can have any length cycles but usually with three cycles
you can already get there.
So usually the opt of P prime is going to match, match this and we'll be done. So
that's another stopping criterion beyond all of the columns having non positive
price. It's actually an interesting side note that in this uncapped problem that we
use for the stopping purpose, we use the edge formulation in the bipartite perfect
matching graph that I showed you, but we use column generation there, which is
exponentially in the worst case but it's much faster in practice than the best
special purpose polynomial codes for this problem.
Then column seeding you could run the algorithm just as I mentioned, but we
again don't want to start with an empty pool of columns, so we seed the columns
pool with some seemingly good candidates, we get them from a couple of
different algorithms. One is randomized greedy algorithm, and the other one is
maximum weighted matching algorithm with two cycles only that we discussed,
and then we throw in a randomish selection of a large set of cycles just to start
the pool from its final size of -- instead of starting from empty. And this improves
speed.
Then we need column management once our column pool is as big as we allow it
to grow based on our memory requirements. We need to somehow delete
columns as we want to put in new ones through the column generation. And the
neat thing here is that only a small fraction of the columns end up in the final
solution of the optimal problem. So even if we deleted some, it's unlikely that
we'll delete any of the important ones and even if we do, they'll be generated
again through column generation if we happened to run into that case.
And in particular we delete the column with the largest negative price first as this
is the most satisfied constraint in the dual. Then primal heuristics, again, the
goal is to construct integer solutions at nodes from the fractional optimal solution
for the LP so that we get a lower bound, a new incumbent if you will for the
integer program and more bounding later on.
We have two types of primal heuristics. One is a rounding heuristic where we
include all of the cycles with value at least a half and greedily select remaining
cycles. Rarely actually helps [inaudible]. Our better primal heuristic is the
following is kind of -- where usually actually turns out that P prime at the root
node usually contains enough columns so that the integral opt can match the
fractional opt. We use C plex's mixover as a primal heuristic at nodes, but only
on the restricted ILP that corresponds to the restricted linear problem P prime.
And there it's faster than our own tree search algorithm. We also made it faster
further by saying that we have to have a constraint that ILP value has to match
the fractional target. If we already fall short of that, we can stop the search for
the primal heuristic, and then we have a time limit and we only do the primal
heuristic if the problem is sufficiently different from the previous problem so we
don't keep wasting a lot of time in back-to-back search nodes. And this improves
speed significantly.
When we do experiments we experiment using a market generator that's being
developed by others, by side [inaudible] in particular. And it's based on data from
the United Network For Organ Sharing where you have the real distribution of
blood types an tissue types in the population and so forth.
The idea there is that you generate these patients and donors from the real
population see if they're compatible, and if those are beyond compatible, then
they join the exchange, if they're compatible, they'll just do their own live donation
pairwise.
So this gives pretty realistic data. Why didn't we use real data? Well, because
there aren't real kidney exchanges at this scale. The biggest kidney exchange
problem that we solved for real had 158 pairs. So again, there's a little bit of a
chicken and egg problem. There weren't any nationwide kidney exchange
because there wasn't the technology to run them. On the other hand, the
benchmark the technology you need the data. So it's just like in combinatorial
auctions as we proceeded, we generated artificial data honed our algorithms
from that and then did it live.
So if you take one slide from this talk, this is the slide to remember. This is an
experiment on speed. On the X axis we have the number of patients. Each point
is different from the next point. So this isn't like we're adding patients. These are
different instances. Actually the average is over multiple instances per point. We
have the clear ring time on the Y action, so this is the time in second it takes to
run the algorithm, i.e., to find the provably optimal answer.
So we have here we have the basic cycle formulation which is the better
formulation but just fed to C plex without any of this technology that I've been
talking about. And you can see that depending the how much time you allow, it
might get to 600 or 900 patients before it dies.
On the other extreme, we have our algorithm with all the goodies, and you can
see that we can get to the whole 10,000 in about one hour. Then in between we
have our algorithm with a restricted column seeder where we have no random
columns, you just see [inaudible] and they have one with no optimally prover and
you can see that it does worse essentially.
Any questions on this? Eric.
>>: Do you have any graphs that would show how much better each set
computation does [inaudible].
>> Tuomas Sandholm: No, I don't. The leading approximation algorithms people
have used aren't really published. People kind of shy away. They use the word
optimization, although it's not really optimization and then they do some manual
thing that's not really well defined or they have some sort of very greedy
algorithm that they run, and they're not really published, so I can't really -- I don't
have anything real to compare against.
>>: No idea?
>> Tuomas Sandholm: No idea. There are studies that others have conducted
like for example Al Roth's group. They have looked at what can you do if you
allow just two cycles. So you use for example Edmond's algorithm versus what
can you do if you allow three cycles. So there's been work on that.
>>: What does that tell us?
>> Tuomas Sandholm: It tells even the work with two cycles is already much
better than manuals or the greedy algorithms. And that I don't know how much
better but that's already better. But we know that we can even improve from
there by three cycles.
Any other questions on this? Okay.
Well, the short of it is that now it's possible to run kidney exchanges at the
nationwide scale. Let's talk about some additional functionality of modern kidney
exchange that our algorithm supports. One is allocation level side constraints.
So you can put any side constraints you can express in a linear form into the
linear program unlike the classic weighted maximal matching algorithms. So for
example, you might say one center doesn't wasn't cycles longer than two,
another center doesn't want cycles longer than three, a particular region of
centers must get at least seven or at most seven operations. Each center gets at
least as many operations that it would get if it operated individually, it is very
important from a finance perspective. Sender C does not want to participate in
altruistic-donor chains of length greater than three. I'll talk about what that is and
so forth.
You can also incorporate compatible pairs. So why would a compatible pair join
a kidney exchange? Because they can do the transplant just wife and husband
directly. Well, it may be that the patient can get a better kidney that matches
more closely less HLA incompatibility for example. Also, others in the exchange
my benefit. You might get more matches or better matches for other people by
allowing these incompatible pairs to come in and some other kidney exchanges
that we've run we've actually had this, we've allowed these incompatible people
to come in with the understanding that, you know, if they don't get something
within say three months, you're going to do it themselves.
>>: [inaudible] the value in the trades when it comes to their romantic slash
family connections versions the [inaudible].
>> Tuomas Sandholm: Yes.
>>: [inaudible].
>> Tuomas Sandholm: Yes. So there's also that kind of emotional thing that you
know, if I'm going a kidney from somebody who is close to me, I know if, you
know, they haven't been using intravenous drugs and they haven't been doing
these other risky things. So I know more but maybe it's not as HLA compatible,
so which do I prefer, do I prefer to take somebody who's a better HLA match but
there's some uncertainty and so forth?
>>: So on that front how clear are the models these days for making predictions
compatibility and trades ->> Tuomas Sandholm:
>>: [inaudible].
>> Tuomas Sandholm: That's a fantastic question. So medical knowledge is
incomplete. There are a certain number of things that people measure, the
doctors measure out of -- the labs measure out of the blood type and tissue type,
but I'm sure there are other parameters that we don't even know about. Just to
give you a sense of that, if everything looks okay, it may still not be okay in the
last minute cross match. So there's this very cool thing of actually mixing up the
blood and see if they coagulate at the end which is beyond our ability to
medically explain. But they do that. That's kind of a safety gap at the end. Even
if that succeeds, sometimes you get rejection at the end. So the medical
knowledge is progressing and there's two things that are happening. One is that
notice of incompatibility gets better so some of the edges from the graph
disappear, which makes our matching problem harder. On the other hand, the
[inaudible] side is getting better so you can -- you can do matches of lower
quality which increases the number of edges in the graph and makes the
matching problem -- makes more likely that you can match more people. So it
goes both ways.
And different centers use different technologies for determining compatibility so
that's actually one of the challenges in setting up a nationwide exchange is that
we have to have some sort of minimal common denominator as to what is getting
measured and the definition as to what's okay, what's not okay. Different
transplant centers have different levels of match as their minimum criterion. So
some transplant centers will do a worse compatibility match than others.
>>: [inaudible] science when it comes to monitoring, given the tissue types and
compatibility [inaudible].
>> Tuomas Sandholm: So that's -- that's my view of this is that I -- where do
these -- well, our algorithm takes us input to edge weight. If you're saying how
good is this match if we do it? So our algorithm that we have been talking about
so far is agnostic to where those numbers come from. But currently they come
from very ad hoc expert systems, kind of a scoring rules really. And I don't mean
scoring rules in the game theoretic sense, I mean just doctors giving numbers to,
you know, how important is this thing versus that thing.
My view is exactly what you said, that we should really have machine learning in
the loop, have patient attributes, donor attributes and then have a survival,
possibly quality of life -- quality adjusted life years or maybe not quality adjusted
but life years anyway and get that prediction going from first principles.
>>: And if there's uncertainty and high variance, the idea of actually where there
is not an obvious gain or loss [inaudible] assigning kidneys to learn.
>> Tuomas Sandholm: Yes. That's -- that's -- that's this kind of system level
thinking. I actually thought that maybe I should write an article about it, because
when I go there, you know, the doctors don't like that. I'm not sure they
understand it, but they certainly are not willing to experiment.
>>: It's the idea of [inaudible] I think [inaudible].
>> Tuomas Sandholm: Yes.
>>: By saying that we're going to the randomize in particular ways within a
[inaudible] optimization within bounds.
>> Tuomas Sandholm: Yeah.
>>: Now, one might say that [inaudible] a kidney [inaudible].
>> Tuomas Sandholm: Yeah.
>>: By randomizing the kidney and so on. But within the current [inaudible] it
may be okay.
>> Tuomas Sandholm: But even without -- that's the expiration point. Even
without expiration, I think even if we took the constraint you can't explore, you
have to somehow just take the best match always. Even there machine learning
play a role.
>>: [inaudible] absolutely. So today has been eclectic at least.
>> Tuomas Sandholm: Yeah. [inaudible] different extent because there's no
official follow-up on these things. So you don't really know.
>>: [inaudible] this is down [inaudible].
>> Tuomas Sandholm. Yeah. I think that's actually some of the people working
at UNOS in the same committee that I'm there, they realize that the follow-up is
the main shortcoming. Another shortcoming is this histology testing. You got to
get better and uniform testing.
Anyways, you gonna incorporate compatible pairs into these exchanges with
these algorithms and you could also program in the constraint that the
compatible patient gets as good a match in the exchange as she would get from
her own donor.
Then list exchanges you can also integrate these with the diseased donor waiting
list and actually I think in the long run would be the right thing to do is to the
optimize the pair donation together with the list exchange so the cadaver kidneys
are in play at the same time. And there's a little bit of list exchange stuff
happening in New England but by and large for the nationwide pool, this is very
far away. And there are some reasons why people want to keep those two
separate. Yes?
>>: [inaudible].
>> Tuomas Sandholm: Okay. I wasn't going to really go into this. This is -- you
could think of it as a -- the waiting list where people are waiting for kidneys and
there's -- UNOS sets these priorities as to who's going to get what, and it has to
do with blood type, it has to do with waiting time. The longer you waited the
higher your priority, et cetera, et cetera.
The idea here is that if my wife needs a kidney, say, this is all hypothetical, by the
way, nobody in my family has kidney disease, but say my wife need a kidney. So
I could donate to the list and we could have a mechanism that therefore my wife
jumps to the head of the queue. So that's kinds of a little bit -- that's kind of list
exchange that they're doing at NEPKE, which is the New England Pair Kidney
Exchange.
You could even go further, you could just say it, you optimize the waiting list and
the kidney exchange wholistically together. And that's where I think it should go
in the long run, and that would be the best for everybody, but there are lots of
reasons why that's not how it's done. One practical reason is that when you get
the cadaver kidney, the clock is ticking. You don't really have time to organize
massive coordination and testing and so on on the fly, you -- it has to be much
[inaudible] policy.
>>: Do you get a sense for the percentage of cadaver kidneys that come from
trauma, unexpected deaths versus other kinds of deaths like more planned
[inaudible] say there's a kidney ->> Tuomas Sandholm: That's a good question. I don't know. I don't know. The
-- I would suspect, though, that that wouldn't help much because when you have
a planned death, that means that you're either sick or you're old. Both are
reasons why the kidney new is bad. So an old person's kidney isn't going to last
a lifetime if put in a young person. So the kidneys have a certain duration.
>>: If somebody dies of cancer ->> Tuomas Sandholm: And cancerous kidneys, that's also a very risky things.
>>: [inaudible].
>> Tuomas Sandholm: Yes. There are certain hard things like HIV. So people
won't transplant an HIV person's kidney.
>>: [inaudible] their kidneys.
>> Tuomas Sandholm: I'm not sure if there's somebody who wants it either. But
there could be. Hypothetically if they can't get anything else. But that's not
something that's done.
>>: Kidneys been washed and dried, cleaned out so it's [inaudible].
>> Tuomas Sandholm: Yeah, refurbished. Okay. You can also have weighed
edges and never ending altruistic-donor chains. So weighted edges just mean
that not all donations are the same. So they could -- you could have degrees of
compatible. So histological match could be of different degrees. And the better it
is, the longer the kidney will survive. Or there could be life expectancy
improvements. You could say okay if this person gets a kidney how long would
he live, if he doesn't get a kidney how long would he live and that's a that's the
all-time life expectancy. Oftentimes the younger the person, the bigger the delta.
There are other reasons why the delta can change, but you might prefer people
where they can make good use of the kidney for a long number of years.
Or weight time. The [inaudible] I'm sorry [inaudible] this is donor waiting list.
Prioritize people who waited -- who have waited a long time. Well, I'm not sure
that's the right thing to do. That's a fairness notion, it's not an efficiency notion.
Travel distance. We talked about that. I personally don't think that that should
be taken into account, but some kidney exchanges do take that into account.
And they don't take it into account -- well, let's leave it at that. Then another
argument you could use is the hardness of matching the patient or the donor in
the future. So if you have a blood type O donor, that's some very flexible donor,
it could be matched to a lot of people. That would be a valuable donor for the
future. So maybe even if we could match him today, maybe we should wait and
get the better match, more matches in the future. Or a donor -- a patient that's
hard to match. If you can match him today, let's match him today versus three
others that are easy to match in the future.
Then here's a really fun thing and this is the New England Journal of Medicine
article that came out this month that Eric alluded to that we did. This is the idea
of a never ending altruistic-donor chain. So now scratch a lot of what I've said so
far and think that there's some nice person out there who is going to just come
into the exchange and say okay, I only need one kidney, I'll be fine with one, I'll
give a kidney to anybody and I don't need one in return. Just one person like
that. Okay?
What we can do, we could take that person and start a chain in the network
instead of a cycle, and this is actually a real chain that we've done over the last
two years of ten people so far. There are other chains that we've started. So
here an altruistic donor came in in Arizona to give this person in Arizona. That
person's -- that wife's husband gave to somebody in Ohio. That daughter-mother
deal. Then the mother gave to somebody in Ohio, again a mother-daughter deal
this time, and so forth. And you don't have to see the whole chain, you just have
to see to some point in the chain. We didn't plan this whole chain up front. We
didn't have visibility to these new patients and donors. We just saw a little bit of
the chain, and then at the end of a chain in our currently batch is a leftover
kidney from the pair who received but didn't donate yet. That becomes what we
call the bridge donor. Just a second. Bridge donor. And then in the next batch
we use that bridge donor as the altruistic donor. By badge I mean we run this
algorithm maybe every six weeks.
And this is the gift that keeps giving, this chain potentially never ends. The only
way it would end if somebody says oh, yeah I'm the scumbag, my wife got a
kidney, I have second thoughts, I'm not going to give. But that -- if you do the
chain atomically within the current batch, then that risk of backing out only
happens with the bridge donors and you can be careful about who you make the
bridge donors in the optimizations, you can put weights on different people
depending on for example blood type. I might want the bridge donor to be an O
blood type because that's a very flexible bridge donor for the future. Or I might
want to say okay, well, this person is kind of iffy patient in the psychological tests,
let me do him now and save this more stable -- more reliable person for the
future and so forth. Question?
>>: You said before that all the transactions have to [inaudible].
>> Tuomas Sandholm: That's why I said [inaudible].
>>: [inaudible].
>> Tuomas Sandholm: Here it only happens atomically within a batch. And the
bridge donor doesn't happen atomically. The next part of the batch happens
atomically again. So, you're right, there is a risk that the bridge donor will back
out. But it's not as bad as backing out of a cycle. Because if somebody backs
out of the cycle, it means that some other pair has lost their bargaining chip,
they've lost their kidney, and they're done. They didn't get anything [inaudible]
the kidney.
Here no pair has lost their bargaining chip. I mean, it's still a shame that the
chain is done continue, but that's all it is.
>>: [inaudible] the original [inaudible] donor? [inaudible] altruistic donor change
everything.
>> Tuomas Sandholm: So where ->>: [inaudible] by actually going back out saying I want this kind of altruistic
donor.
>> Tuomas Sandholm: Well, I -- the view here is that -- first of all there even are
altruistic donors. They have to go through severe psychological tests just to
make sure, you know, people don't have kind of a weird moment and they give
out organs. So -- but when Mike Rees from the alliance for pair donation did
nationwide TV shows on this chain, we got 200 people registering into the
exchange as altruistic donors within like a couple of weeks. So there's a lot of
willingness out there to become an altruistic donor. And we can put all of them in
the optimization. So it's not like we pick one of them. We put all of them in the
optimization and then said okay, find me the best set of cycles and chains
because optimizer handles a chain just like a cycle except that there's a phony
edge coming back. So optimization works directly.
>>: So tell me again why you can't pay money for the altruistic donor [inaudible].
>> Tuomas Sandholm: You're not allowed to pay money legally in the US and
most other countries for organs.
>>: Why is that?
>> Tuomas Sandholm: Well, it's -- why is that? That's a good question. I mean
now you're getting like Iran for example, they allow that. So it's not an
international thing. Every country has different laws. Most countries think that
it's immoral. Because what ends up happening richer people buy poorer
people's organs. And you might argue from an efficiency perspective that that's
the right thing that should happen, but now you're talking about very ethically
questionable issues. So most countries take the position that that's not morally
right.
>>: What do you think?
>> Tuomas Sandholm: I need to be agnostic. I can't take sides on that.
>>: [inaudible].
>> Tuomas Sandholm: What?
>>: [inaudible] not as a presenter.
>> Tuomas Sandholm: Yeah, I don't know. I really don't know all of the issues
involved.
>>: [inaudible] think about whether or not the decision [inaudible] might not be
unethical, might be just fine, but the idea is actual worked out the details of kind
of the downside of doing that. [inaudible].
>> Tuomas Sandholm: There are villages in India where every male has a scar
in their back because everybody has sold a kidney. It becomes so prevalent.
>>: Really.
>> Tuomas Sandholm: That it becomes kind of almost a moral thing that there's
peer pressure that you have to do it.
>>: What do they [inaudible].
>> Tuomas Sandholm: I don't think it's even legal there. But people do it
anyway. And this is the reason why Iran went this direction. There was so much
of it happening illegally that they felt okay, well moral or not, it's better to make it
legal, make it save and except make it more fair because when it's illegal, the
brokers get even a bigger fraction than the donors and when you make it legal, it
kind of tilts the table a little bit in the donor's favor. But still.
>>: Do you know [inaudible] in this country?
>> Tuomas Sandholm: I'm sure. I'm sure. I don't know of any cases directly, but
I read in the New York Times it was actually a couple of years ago, New York -what's it called, the monthly -- New York Times magazine. There was an article
about how Americans can go to Turkey to do this with the Israeli surgeons and
stuff like that for about $100,000. So if you're desperate, that's what people do.
And this is one of these approaches that we're trying to make it not happen, that
you can actually doing do this legally.
Okay. You can value in the algorithm definitely not using up altruistic donors. So
for an old donor you might prefer to have them in the future and you can all take
it all into account in the cycle weights.
Similarly, valuing different leftover kidneys. So you might prefer bridge donors of
type O, you might prefer As and Bs over ABs. You might prefer people who you
think are not likely to pull out and so forth.
But I talked -- in this slide I talked a lot about weight. And a lot of these weights
have to do with of course just immediate quality of match. But others have to do
about the future. Who do we make the bridge donor or how there's matching
patients and donors in the future, even without the altruistic donors?
And what I found unsatisfactory is that these numbers that we used in these
optimizations were kind of ad hoc. The surgeons helped us put together some
numbers, but there were ad hoc and they weren't really tied to any sort of direct
objective. So let me in the final part of the talk talk about the online problem.
Where we automatically think about this not as a batch problem but as this online
problem, dominant problem where new donors and patients and altruistic donors
are coming in over time and existing patients are dying at some death rate. And
think about managing this pool so instead of us depleting the pools with the best
possible matches today like most of the current kidney changes do, think about
keeping the pool rich enough so it -- we don't get this oversensitized population
of patients in the pool and also so that we don't have to put in weights but some
other system would automatically figure out what's the value of the future
compared to the present.
And the first observation here is that there are no good prior free online
algorithms for the problem. And the first proposition that we have says that no
deterministic prior free algorithm can achieve a compatible ratio better than the
cycle cap divided by two. And here's a simple example. So let's say that we
have this AB cycle available today but this B pair is disappearing in the next step.
And then we might get this long chain L or might not.
So if we take this short pair, we get two, and worst case then is the adversary is
going to give us L but now we've already used up A, we can't get it, so we get
this ratio L over 2.
If, on the other hand, we decide to wait and not take this B, let this this P
disappear, the adversary won't give us L, and we're going to get an unbounded
regret. Similarly, you can prove a bound for randomized algorithms as well. Now
we're in a little bit better position and we can decide with some probability B -- P
will take B and one with probability one minus P we don't. We said P just to keep
the adversary indifferent between bringing in the new cycle L or not and that
gives us bound of two minus two divided by L.
So again, you can't really get a very good competitive ratio without using priors.
The good news is we have priors. We have very good knowledge about the
tissue type and the blood type in the population. UNOS has all of this data. So
we can use this distributional data and what we do, this is a scale, we have
several different instantiations which we'll talk about in a second. At each step of
the algorithm or each time step, if you will, we draw sample directories from the
distribution or what different features, then we leverage our offline algorithm to
pick an action, just an action, the next action to take, not the whole pool into the
future, just an immediate myopic action, and we'll set the actions or cycles, not
combinations of cycles.
The first algorithm like this in this family is an adaptation of the regrets algorithm
by Bent and Von Hendrick and Mercier and Von Hendrick [phonetic]. Here we
just initialize all the cycle scores to zero using the probabilistic model we
generate the scenarios into the feature, some number of scenarios, N. For each
scenario we then solve the offline problem for the scenario and for the cycles in
the -- that are accepted in that solution we add to the cycle a score the value of
the solution of the offline problem and for the other cycles we subtract the small
delta from their value. Then at the end we run another integer problem to
determine a set of disjoint cycles with the maximum score and return it again
using our offline algorithm.
So this while we pick just one action, it's not a myopic pick, it takes into account
the possible features. We prove that algorithm one is not optimal, however, the
improvement idea here is to optimize the scenarios for each action separately
instead of optimizing each scenario separately. That gives us algorithm two.
Again it starts the same, initialize to zero is the scores, draw the sample
trajectories and then we instead of solving the actual trajectory we -- we solve for
each trajectory with the cycles minus the cycle C and we set the score of C to B.
Its original score plus the value of this. And we do that for each scenario and for
each cycle. And then again using the integer program we determine a set of
vertices to our cycles with maximum score.
And the final algorithm that's a stochastic online algorithm like this is called
AMSA, or is really adaptation of AMSA. There's some theory that's been built
now for these online algorithms that are based on these trajectories and this is
notion of global anticipatory gap. And roughly speaking it means that we have a
high gag if no action is pretty good across all the scenarios. And it's likely that
here that's going to be the case and this analogy applies to algorithms one and
two. [Inaudible] designed to really deal with problems to the large gag, so we
wanted to try that as well.
And what it does, it again uses a model to draw the trajectories but then it reach
the trajectory as a reality, builds the mark of decision problem and solves the
mark of decision problem and goes about it that way.
So the experiments on the online algorithms we use the really data set with 158
pairs and 11 altruistic donors and artificial data set to a little bit more scale using
the side men generator again. These had 510 person, 25 altruistic donors. The
death rate in all of these experiments was set so that 12 percent survived 10
years which is the reality.
There were interesting parameters and tradeoffs between them. One is a
number of sample trajectories, how many trajectories we draw, the other is how
many steps to we draw in each sample? We can't go infinitely deep, we have to
cap that somehow. And relate to that there's a batch size. So you could think
about it how often do you run your algorithm? And if you have the large
overhead depth then for a given number of samples you have all this sparse
coverage of the sample space. If you have a big batch size, then for a fixed
number of look ahead steps you can look deeper into the feature and so forth.
So there's tradeoffs.
And when we benchmark against offline algorithm, we tweak the batch size for
the offline algorithm also, so now we actually get something to compete against
that's better than the current practice where it's not optimized.
Dummy action, algorithms one in the offline algorithm can decide to wait anyway,
so they don't need a dummy action but for algorithms two and three we include
the possibility of a dummy action which means that in this time stack I'm not
doing any transplants, I'm just going to wait, and that improved performance a
little bit so I know the rest of the experiments we include the dumb they actions.
And here's the bottom line. All the online algorithms outperform the offline
algorithm on both data sets, except that AMSA didn't scale to the really problem
size. Algorithm two performed the best, surprisingly better than AMSA, and it
scaled to both problems, and we get 16.6 percent or 13.6 percent in performance
improvement over the online algorithm.
And this is a stead state. We can also see that the advantage starts from the get
go even before static state is reached.
So let me conclude. We talked about the furthest algorithm that can clear kidney
exchanges optimally on a national scale. Key points were incremental problem
formulation so you can actually solve the problem optimally without ever writing it
down completely. Key to that was the branch of price framework but exploiting
problems specific upper bounds and other techniques in several ways. It
supports generalizations like weights, never ending altruistic donors, compatible
pairs, list exchange and so forth.
The trajectory based online algorithms leverage distributional information and
they also leverage our offline algorithm in the inner loop, and then they do better
than the offline algorithm. We're working with real kidney exchanges. We
started working with the first one about two and a half years ago. UNOS, United
Network for Organ Sharing is setting up a US wide kidney exchange and they've
decided to use our -- decided to use our algorithms to run it. I'm helping them to
design the exchange on a committee.
Future research. One issue is cross-match failures and testing. I mentioned this
coagulation test. But right now how it's dealt with, the optimizer doesn't really
understand it, basically optimizer is just looking at the problem before the test
and then when the test shows incompatibility, what do you do then? Do you
reoptimize the whole network? Well at least at a nationwide scale that's a huge
nightmare logistically and so forth.
So can we somehow make robust plans with a robust cross-match failures, a
mention of the short cycles help that but can we more systematically take that
into account? Or can we come up with testing plans so that we would actually
test the cross-matches not just on the planned transplants but for a broader set
of potential transplants so that we have good backup recovery in case of failure.
And the other interesting thing is more of a game theoretic thing. So normally in
exchanges game theory is a big issue. Buyers will overask -- underbid and
sellers will overask and so forth. Here, because we're not asking the patients
anything, we're measuring all of the private information with blood tests and
tissue tests, there's no game theory problem there at level of patients and
donors. But there is a problem of game theory with the transplant centers. So if
you are a transplant center you'll have your own pool. Would you reveal the
whole pool to the exchange? Maybe you want to run your own little exchange
first internal and see which transplants you can do locally and get all of the
money for the transplants and then put only the riffraff that you couldn't match
into the nationwide pool.
So can we somehow provide incentives to transplant centers to reveal
everything? And one method, a practical approach is to say okay, we somehow
gonna audit them, and if they get caught of doing that, this can be hefty
penalties. You could also try to do something more game theoretic. There's a
possibility of results about this, by the way, but you could try to do this in the
optimizer and said, okay, we gonna look at optimize every transplant pool
separately, see how many operations they would have gotten and then put that in
as a constraint into the nationwide optimization that every transplant center gets
at least as many operations as they would have gotten operating individually.
So that's kind of a fairness issue in money sharing between transplant centers.
Of course any constraints you put in the global optimization is gonna be worse
for the patient. Thank you.
[applause].
>> Tuomas Sandholm: Any other questions or comments?
>>: [inaudible].
>> Tuomas Sandholm: So we've been off and on with being online, so there's no
online systems, so the kidney exchanges they run off and on, and we've been
helping them on that for the last two and a half years off and on. UNOS kidney
exchange there's a pilot program that's supposed to go live in September,
October, and then the nationwide kidney exchange is planned to start in March
2010.
>>: [inaudible].
>> Tuomas Sandholm: Could you speak up a little bit?
>>: Sorry. Are there any plans to do an international chain or ->> Tuomas Sandholm: Oh, that's a great question. So right now UNOS does
not have any plans to my knowledge to do an international exchange. With these
individual current kidney exchanges, I know that some of them have approached
foreign countries to try to put together international pools. But to my knowledge,
nothing like that is running yet. But that's a very interesting issue, because then
you have different laws entirely to deal with then and different constraints. I
mean, religion also plays a big role in this in different countries whether it's okay
to be an organ donor upon death. There's big differences between countries in
cadaver donation rates. But the pools for example in India, there's a huge pool
for kidney exchange. So if we could integrate the US with India that would be at
least in principle very helpful. The question is well would a US person want to
get kidney from a third world? I mean, if the choice is that or death or that or
dialysis, probably yes. But if the choice is that versus a US kidney, maybe they'll
take US kidney again depending on the level of -- the HLA match and so forth.
But there's very interesting matters in that. And I think in the long run, definitely
that would be the best for the patient. But that's really in the long run.
>>: If you do it internationally then doing it simultaneously is even harder,
because you know, when it's day here, it's night over there.
>> Tuomas Sandholm: Oh, yes, that's a good comment. There's something
that's weird -- there was some reason why in the US they do it in the evenings
anyway and maybe it was that there's more availability of operating rooms, but I
think most of these are done in the evenings anyway so you could say, okay, 6
p.m. in the US and 6 a.m. in China.
>>: [inaudible] in the US, I mean the three hours between coasts.
>> Tuomas Sandholm: Well, that's a -- I'm not saying it always happens at 6
p.m., but I'm just saying at -- I've heard stories that they tend to happen in the
evenings for some reason. And I think it was the reason was the operating room
availability. But maybe not. The thing is that you need to cooperate operating
rooms to be available simultaneously with different hospitals and each one of
them has a local scheduling problem for the operating rooms and other
resources, so you want to find a time when it's likely that you can get all
operating rooms in all hospitals. And I think that was the reason why they waited
for the evening time.
>>: [inaudible] kind of weird question but are there other kinds of transplants that
you could exchange, let's say you need a kidney, I know somebody that can give
you ->> Tuomas Sandholm: Oh, you're saying not kidneys for kidneys but kidneys for
liver lobes and kidneys for lungs and stuff like that?
>>: Right.
>> Tuomas Sandholm: It's not happening. But you could play around with the
idea like there is liver lobe donation is becoming more popular. It's still liver
lobes. So basically you could take -- cut out a part of your liver and it will grow
back. And furthermore, the part that you take out and transplant into somebody
else, that will grow the whole rest of the liver around it. So that's -- that's
something that's happening. It's much riskier than kidney exchange right now.
Kidney transplant is a relatively minor operation compared to any other ->>: [inaudible] bleeds or [inaudible].
>> Tuomas Sandholm: Kidneys generally -- I'm not a surgeon so now I'm really
going out of my realm here, but it's basically just snap it out and cut a couple of
tubes and take it out. Liver lobes you have to actually cut the liver in part. And
that's a much bigger thing. And riskier. And of course a liver easily bleeds a lot.
So liver lobes something that's happening. People are doing intestines but only
cadaveric, of course. Whole intestines, combinations of intestines and lungs,
hearts. So there's a lot of things. But those are cadaveric, of course you can't
donate the heart. There's actually Al Roth has this, a new draft of a paper where
he talks about repugnant markets where repugnancy's a constraint in market
design where you know well it kind of starts from kidney exchanges well, some
people don't like kidney exchange, somehow it just didn't feel right to exchange
organs. But, you know, when you hear this talk and talks like this you said okay,
well, lives are getting saved, everybody is better off and so on and so forth.
Then you go the next level, well, let's say it -- you know, you're child is in a car
accident and loses both of his eyes. Would you exchange one of your eyes so
that you're child could get an eye from somebody else. Would that be right?
Well, what if your child has a heart problem and he's going to die. Would you be
allowed to give your heart to somebody else so your child can survive? So
ramps up pretty quickly if you start to think about all of the possibilities.
>>: So there's no -- there's no plan of doing a sort of inner ->> Tuomas Sandholm: There is no plan to do interorgan and to my knowledge
there isn't a plan for exchange for any other organ than kidney. But that's the
world as we stand today. Things may change in the future of course. Liver lopes
is a particularly interesting thing if you could really make it safe because again
that's one of those things where you can cut out the lobe and live fine with what
you have.
That's the nice -- if you think about the Hypocratic oath that the doctor says you
know I'm not going to harm anybody, I'm not going to harm Eric even a little bit if I
could help you a lot by doing so. So Hypocratic oath is completely against
efficiency. Efficiency will say we're going to sacrifice whatever so as to maximize
overall utility. So those are at worse. Here you could say maybe the doctors are
violating a little bit a Hypocratic oath. Well, Eric really would be better off with
two kidneys. If he had an accident and pierced one of his kidney, it would be
really nice to have the other one as backup. And so that's already starting to
push the boundary.
>>: [inaudible] is just an ethical issue.
>> Tuomas Sandholm: Yeah. There's been papers written just on the ethical
issues and I would argue that things that have been published on that haven't
really even touched some of the issues that we just talked about. So there's a
whole ethical issue here and the practice is moving forward at a very rapid pace.
This is going to be happening, these algorithms are going to be automatically
striking these tradeoffs between different forms of efficiency and different forms
of fairness and it's very exciting. We could say, okay, well, shouldn't we
understand all of the ethics before we let algorithms loose on this problem? Well,
the transplant surgeon who is manually making those matches today, he's
already making those tradeoffs, he just doesn't know it.
>>: And so whose going to be explaining the parameters?
>> Tuomas Sandholm: Well, that's what -- I'm trying to get away from these ad
hoc weights. So in several ways. One is to try to tie the value of a cycle to an
actual survival and survival in years predicted based on donor and patient
attributes. So that's kind of a machine learning box that I was alluding to instead
of having a doctor put in ad hoc weights let's use some really data and machine
learning to predict what the weights should be.
Another example is that instead of having those weights on who we should
match now versus keep for the future, we have these online algorithms that don't
require any such weights. They just do these trajectories and based on these
trajectories which are drawn off of the real distribution of blood type and tissue
type and so forth, you can actually figure out what is the best balance of who to
match now versus who to save for the future without having to have those ad hoc
weights.
So I'm all about trying to get away from ad hoc weights and trying to instead
come up with answers algorithmically.
>> Eric Horvitz: All right. Well, we'll stop there.
>> Tuomas Sandholm: Yes. Thank you.
[applause]
Download