算法博弈论 W45 Mechanism design without money
last lecture about mechanism design
mechanism without money? kidney exchange and stable matching
Kidney exchange
patients with a final stage kidney disease in the waiting list for kidney transplant by a deceased donor.
已故捐献者肾移植等候名单中患有末期肾病的患者。
98k in the US, 800 in Denmark
demand>>supply!
Transplantations from living donors
活体移植
e.g. transplantation from mother to child
unfortunately, such transplantations are allowed between relatives and are not always possible
Incompatibilities of blood or tissue type
denote: donor , patient .
incompatible with .
incompatible with .
如果将这两个捐献对换一下,有可能:
compatible with
compatible with
Modeling
we are given a graph with nodes representing donor-patient pairs
edges are directed and denote the possibility of a successful transplantation from the donor of the origin node to the patient of the destination node
goal: find an optimal kidney exchanges
Applying the TTC algorithm
kidney exchange can be though of as house allocation.
- house allocation: initially, each participant has her house and the goal is to exchange houses so that the utility of participants involved in the exchanges increases
- kidney exchange: initially, each donor-patient pair has a kidney for donation and the goal is to exchange kidneys so that all patients involved in exchanges increase their utility
Drawbacks of the TTC algorithm
- long cycles
- a cycle of length 5 requires 10 surgery operations that have to run in parallel (同时摘除 5 个器官,然后同时移植 5 个器官)
- if some of the exchanges in a cycle is canceled, no exchange can take place.
Kidney exchange in practice
matching computation 匹配计算
input: undirected graph
instead of a ranking of all available donors, each edge indicates mutual compatibility between two donor-patient pairs.
每条边都表示两个供体-患者对之间的相互兼容性,而不是对所有可用供体进行排名(如果 A 捐献中的捐献者可以捐给 B 的接收者同时 B 捐献对的捐献者可以捐给 A 捐献对的接收者,那么 A 和 B 之间有一条连线)
matching: set of edges which do not share any node
goal: find a matching of maximum cardinality 最大基数匹配 in the input graph
each node (patient) has a set of incident nodes (compatible donors)
the patient can deny some of the possible donors
preferences can be modeled by a subset
binary preferences: any transplantation is better than no transplantation
A direct revelation mechanism
- the patients report their preferred donors
- build the graph having the donor-patient pairs are nodes and the edges which are desirable by both sides
- compute a matching of maximum cardinality in the graph
Question: is above mechanism DSIC? i.e. reporting a dominant strategy for every participant?
depends on how ties are resolved.
A priority mechanism
首先将所有捐献者-接收者对按某种条件(比如等待时长)进行排序
Let be the set of all matchings of maximum cardinality
for do
- let be the set of matchings of that touch node
- If is empty, then
- else
return an arbitrary matching of set
The priority mechanism is DSIC!
Implementation issues of kidney exchange
each donor-patient pair registers at a particular hospital
so the hospital aims to serve the particular donor-patient pair to maintain its reputation.
因此,医院的目标是为特定的捐赠者和患者提供服务,以维持其声誉
kidney exchange programs: donor-patient pairs register at a hospital, each hospital sends the data for all its donor-patient pairs to a central authority, which computes which exchanges will take place.
ISSUE: No maximum matching mechanism is DSIC!!!
some node is always unmatched
then, the hospital having this node has incentive to hide some of its pairs from the central authority.
Stable matchings
how can we assign students to universities, interns to hospital etc?
Bipartite graph with node sets corresponding to men and women
- each man has a preference ranking of the women
- each woman has a preference ranking of men
- goal: to match everyone in “marriages”
- in other words, to find a perfect matching
Let be a perfect matching between the nodes of sets and .
we say that 2 nodes and is a blocking pair if node prefers and node prefers .
a perfect matching is called stable if there is no blocking pair
Deferred acceptance algorithm
aka Gale-Shapley algorithm, abbr. DAA
while there is a man without a match, do:
man proposes to woman that prefers the most if she hasn’t rejected him yet.
if is unmatched, then they match temporarily.
otherwise, if she is matched with man , then she selects to match temporarily with her most preferred man among and and reject the other.
all temporary matches become permanent
Properties
theorem: algorithm DAA computes a stable matching after at most rounds
corollary 推论: a stable matching always exists.
for every man let his most preferred woman among those he matched to in any stable matching:
theorem: the stable matching that algorithm DAA computes matches every man to the woman (man-optimal)
theorem: algorithm DAA is DSIC for men but not for women
关于延迟接受算法的一些证明
the algorithm computes a perfect matching
all man will be matched.
stability
between nodes and .
assume that algorithm yields a blocking pair:
by definition of algorithm, since is matched to , and prefer to , he must have proposed to in some step. since is matched to some other woman at the end of algorithm, at some point, rejected for the better proposal. eventually, she declined this proposal for the worse one. This contradicts our definition.
Hence, the pair is not a blocking pair.
consider an execution of DAA
Let be the set of man-woman pair s.t. rejected ’s proposal at some step.
we will prove that no stable matching can contain any edge of .
induction on the iteration of algorithm:
by defining the set of pairs, s.t. rejected in some of the first iterations of the algorithm.
for each , no stable matching contains any edge of .
when , nothing to prove
we assume that the statement holds for : the -th iteration and let be a pair of . This means that at iteration , women rejected the proposed of for a better proposal by . ( prefers to ) easy case 课本上没有 easy case 的证明
difficult case: is not top in the list of : prefers to , prefers to . now assume that some execution of the DAA matches and . by induction of hypothesis, no pair of is included in any stable matching. Observe that must belong to , by induction hypothesis, this doesn’t appear in any stable matching. so is matched to some which is worse than . thus is a blocking pair, contradicting stability.
at most steps
for accepter (woman), the mechanism is not DSIC
we give a example here.
man:
A: X>Y>Z
B: X>Z>Y
C: Y>X>Z
woman:
X: C>A>B
Y: A>C>B
Z: ? 不用管,因为不会有人抢 Z
匹配的结果应该是: AX, CY, BZ
假如 X 谎报: C>B>A
then the outcome will be: AY, BZ, CX
这样,X 通过谎报偏好列表导致匹配到更好的选择。