color test color test color test color test

cs234r
Markets for Networks and Crowds
BRENDAN LUCIER, MICROSOFT RESEARCH NE
NICOLE IMMORLICA, MICROSOFT RESEARCH NE
Lecture 1, Part 2:
Exchange Markets.
Allocation Problems
β€’ n agents, m indivisible objects. (Think: houses)
β€’ agents have strict preferences over objects.
β€’ how should they be allocated?
Allocation Problems
Agents
Objects
Allocation Problems
Notation.
π‘Ž ≻𝑖 𝑏: agent 𝑖 prefers object π‘Ž to object 𝑏.
π‘Ž ≽𝑖 𝑏: … or is indifferent.
An assignment πœ‡ assigns objects to agents: πœ‡(𝑖) is the
object that agent 𝑖 receives in πœ‡, or βˆ… (unassigned).
πœ‡ is a matching if, for all agents 𝑖 and 𝑗,
β€’ πœ‡ 𝑖 = πœ‡ 𝑗 β‡’ 𝑖 = 𝑗 or πœ‡ 𝑖 = πœ‡ 𝑗 = βˆ…
Applications:
β€’ Housing, Organ donation, Book swap, …
Allocation Problems
Agents
An assignment:
Objects
Allocation Problems
Agents
A matching:
Objects
Allocation Problems
Agents
Objects
j
Not PE
k
Matching πœ‡ is Pareto Efficient if there is no other 𝜈 such that
1. 𝜈 𝑖 ≽𝑖 πœ‡ 𝑖 for every agent 𝑖
2. βˆƒπ‘– such that 𝜈 𝑖 ≻𝑖 πœ‡(𝑖)
Allocation Problems
Not PE
Agents
Objects
i
a
j
b
k
c
π‘Ž ≻𝑖 𝑐
𝑏 ≻𝑗 π‘Ž
𝑐 β‰»π‘˜ 𝑏
Matching πœ‡ is Pareto Efficient if there is no other 𝜈 such that
1. 𝜈 𝑖 ≽𝑖 πœ‡ 𝑖 for every agent 𝑖
2. βˆƒπ‘– such that 𝜈 𝑖 ≻𝑖 πœ‡(𝑖)
Exchange Markets
An exchange market is an assignment problem in which
1) All preferences are strict,
2) n = m (same number of objects and agents)
3) There is an initial allocation: agent 𝑖 owns object π‘Žπ‘–
Exchange Markets
An exchange market is an assignment problem in which
1) All preferences are strict,
2) n = m (same number of objects and agents)
3) There is an initial allocation: agent 𝑖 owns object π‘Žπ‘–
Matching πœ‡ is individually rational if πœ‡ 𝑖 ≽𝑖 π‘Žπ‘– for all 𝑖.
Exchange Markets
An exchange market is an assignment problem in which
1) All preferences are strict,
2) n = m (same number of objects and agents)
3) There is an initial allocation: agent 𝑖 owns object π‘Žπ‘–
Matching πœ‡ is in the core if there is no 𝜈 and coalition 𝑆 of
agents such that
β€’ 𝜈 𝑖 ≽𝑖 πœ‡ 𝑖 for every agent 𝑖 ∈ 𝑆,
β€’ βˆƒπ‘– ∈ 𝑆 such that πœ‡β€² 𝑖 ≻𝑖 πœ‡(𝑖), and
β€’ 𝜈 𝑖 is initially owned by some 𝑗 ∈ 𝑆
In other words: no group of agents would be better off
deviating and only trading amongst themselves.
Exchange Markets
Not Core
(also not IR)
Agents
Objects
i
a
j
b
k
c
π‘Ž ≻𝑖 𝑐
𝑏 ≻𝑗 π‘Ž
𝑐 β‰»π‘˜ 𝑏
Exchange Markets
Another property we might like: strategyproofness
A mechanism πœ™ takes as input a preference profile
≻ = (≻1 , ≻2 , …, ≻𝑛 ) and assigns a matching πœ™(≻).
Mechanism πœ™ is strategyproof if for every agent i,
and any possible reports of the other agents,
agent i prefers his outcome in matching πœ™(≻𝑖 , β‰»βˆ’π‘– ) to his
outcome in matching πœ™(≻′𝑖 , β‰»βˆ’π‘– ).
In other words: no agent ever gets a better outcome by
misrepresenting their preferences.
Exchange Markets
Theorem: There exists a core, strategyproof allocation
mechanism for exchange markets.
Moreover, the core allocation is unique, and can be found in
polynomial time.
Top Trading Cycles (TTC)
TTC Algorithm:
1. Ask each agent to point to their favorite object.
2. Each object points to the agent that owns it.
3. For each cycle, give each agent in the cycle the object
they are pointing to. Remove those agents and objects.
4. Repeat until done.
1: 𝑐 ≻1 𝑏 ≻1 𝑑 ≻1 π‘Ž
1
a
2: 𝑑 ≻2 π‘Ž ≻2 𝑏 ≻2 𝑐
2
b
3: π‘Ž ≻3 𝑑 ≻3 𝑐 ≻3 𝑏
3
c
4: π‘Ž ≻4 𝑐 ≻4 𝑏 ≻4 𝑑
4
d
Top Trading Cycles (TTC)
TTC Algorithm:
1. Ask each agent to point to their favorite object.
2. Each object points to the agent that owns it.
3. For each cycle, give each agent in the cycle the object
they are pointing to. Remove those agents and objects.
4. Repeat until done.
2: 𝑑 ≻2 π‘Ž ≻2 𝑏 ≻2 𝑐
2
b
4: π‘Ž ≻4 𝑐 ≻4 𝑏 ≻4 𝑑
4
d
Top Trading Cycles (TTC)
Claim: The TTC algorithm is well-defined.
Intuition: start at an agent, follow directed path, must repeat.
Claim: The TTC algorithm is strategyproof.
Intuition: Consider a round of the TTC algorithm.
β€’ If an agent is being matched this round, they are getting
their top choice of what’s left, so no reason to misreport.
β€’ If an agent is not being matched, any misreport either
a) closes a loop, or
b) doesn’t.
If (a), that loop would still be present on the next round
(why?). If (b), the outcome does not change. Either way, no
benefit from misreporting.
Top Trading Cycles (TTC)
Claim: The TTC algorithm finds a core matching.
Proof: by induction on cycles.
β€’ No agent in the first cycle can be in a coalition, since they
each get their top choice.
β€’ IH: no agent in any of the first k cycles can be in a coalition.
β€’ Then any coalition only includes items belonging to agents
in cycles (k+1) and beyond.
β€’ But the agents in cycle k+1 get their favorite of these
items! So no agent in cycle k+1 is part of a coalition.
Top Trading Cycles (TTC)
Claim: The core matching is unique.
Proof:
β€’ πœ‡: TTC matching. 𝜈: another core matching. Say πœ‡ β‰  𝜈.
β€’ Let 𝑖 be the first agent, in order of TTC resolution,
with πœ‡ 𝑖 β‰  𝜈 𝑖 . Let πΆπ‘˜ be the TTC cycle containing 𝑖.
Then:
β€’ πœ‡ j = 𝜈(𝑗) for all j matched before i.
β€’ So πœ‡ j ≽𝑗 𝜈(𝑗) for all 𝑗 ∈ πΆπ‘˜ (TTC).
β€’ And πœ‡ i ≻𝑖 𝜈(𝑖) (since β‰ ).
β€’ For all 𝑗 ∈ πΆπ‘˜ , πœ‡ 𝑗 initially owned by
some other agent in πΆπ‘˜ .
β‡’ πΆπ‘˜ is a deviating coalition for 𝜈!
i
πΆπ‘˜
Exchange Markets
Theorem: There exists a core, strategyproof allocation
mechanism for exchange markets.
Moreover, the core allocation is unique, and can be found in
polynomial time.
Kidney Exchange
patient 1
donor 1
patient 2
donor 2
Kidney Exchange
Patients
Donors
Can we use TTC?
Complication: long cycles are not feasible!
(Many simultaneous surgeries, increased risk)
Pairwise Kidney Exchange
A different representation:
patient 1
donor 1
𝑖
patient 2
donor 2
𝑗
𝑒 = (𝑖, 𝑗): compatible match
Pairwise Kidney Exchange
Unlike the previous setting, there is (a lot of) indifference.
Pairwise Kidney Exchange
a
b
i
c
d
Unlike the previous setting, there is (a lot of) indifference.
π‘Ž =𝑖 𝑏 =𝑖 𝑐 =𝑖 𝑑 ≻𝑖 𝑒 =𝑖 𝑓 =𝑖 … =𝑖 βˆ…
compatible
incompatible
Pairwise Kidney Exchange
Pairwise exchange: only 2-cycles are allowed.
Then max # transplants = max matching in the graph
Pairwise Kidney Exchange
Pairwise exchange: only 2-cycles are allowed.
Then max # transplants = max matching in the graph
How do we choose who is matched?
Pairwise Kidney Exchange
Priority Mechanism:
1. Start with empty matching πœ‡
2. For agents in order 𝑖 = 1,2,3, …
3.
If βˆƒ πœ‡β€² that matches all of 𝑗 ∈ πœ‡ βˆͺ 𝑖 , set πœ‡ = πœ‡β€²
4. Return πœ‡
1
4
5
3
2
Claim: Priority mechanism is Pareto Efficient and
strategyproof (incentives to reveal compatibilities).
Kidney Exchange
Do larger cycles actually help? Market structure!
Compatibility is dictated mainly by blood type:
O
A
B
AB
patient
donor
O
A
Under-demanded!
Kidney Exchange
Do larger cycles actually help?
Over-demanded
and neutral:
Under-demanded:
3-cycles can serve more under-demanded nodes
Kidney Exchange
Do larger cycles actually help?
Over-demanded
and neutral:
Under-demanded:
Claim: under some (reasonable) assumptions, marginal
benefit of β‰₯ 4-cycles is at most # (AB-O) pairs (rare).
Dynamic Kidney Exchange
Up to this point, we have considered a static pool
of agents in the market.
What if agents arrive and depart over time?
Dynamic Kidney Exchange
Model:
β€’ Agents arrive at rate π‘š > 1, β€œperish” at rate 1
β€’ Formally: Poisson processes with expectations
m and 1, respectively
β€’ Each pair of agents is compatible with probability
𝑑/π‘š, iid. (for some 𝑑 < π‘š)
Dynamic Kidney Exchange
A dynamic matching mechanism is an online
algorithm that selects which pairs to match, and
when, as a function of the history.
Example: Greedy mechanism.
β€’ Match any pair as soon as it becomes available
Dynamic Kidney Exchange
For a mechanism πœ™,
πœ™(𝑇): the set of matched agents at time 𝑇
𝐴 𝑇 : the set of active agents at time 𝑇
The loss of mechanism πœ™ is the long-run ratio of
perished agents, in expectation.
𝐸 π‘šπ‘‡ βˆ’ πœ™ 𝑇 βˆ’ |𝐴 𝑇 |
L πœ™ = lim
π‘‡β†’βˆž
π‘šπ‘‡
Dynamic Kidney Exchange
A negative result:
Theorem: for any mechanism πœ™, as π‘š β†’ ∞,
1
𝐿 πœ™ β‰₯
2𝑑 + 1
Dynamic Kidney Exchange
An easier statement to prove:
Theorem: for the greedy mechanism, as π‘š β†’ ∞,
𝐿 πΊπ‘Ÿπ‘’π‘’π‘‘π‘¦ β‰₯ Θ
1
𝑑
.
Dynamic Kidney Exchange
Theorem: for the greedy mechanism, as π‘š β†’ ∞,
𝐿 πΊπ‘Ÿπ‘’π‘’π‘‘π‘¦ β‰₯ Θ
1
𝑑
.
Intuition: The number of agents who perish is proportional to
the expected pool size, 𝐸 𝐴 𝑇
β€’ Write 𝑍𝑇 = 𝐴 𝑇 , consider expected changes.
β€’ Pool grows if agent arrives and is not matched:
π‘šβ‹… 1βˆ’
β€’
𝑑 𝑍𝑇
π‘š
NB: in lecture there was a typo
here. This version is corrected.
Pool shrinks if an agent expires, or arrives and is matched:
𝑍𝑇 + π‘š β‹… 1 βˆ’ 1
𝑑 𝑍𝑇
βˆ’
π‘š
Dynamic Kidney Exchange
Pool grows at rate π‘š β‹… 1 βˆ’
𝑑 𝑍𝑇
π‘š
Pool shrinks at rate 𝑍𝑇 + π‘š β‹… 1 βˆ’ 1
𝑑 𝑍𝑇
βˆ’
π‘š
π‘š
use 1 βˆ’
Claim: for large π‘š,
if 𝑍𝑇 > 2π‘š/𝑑, rate of shrinking > rate of growing
If 𝑍𝑇 < π‘š/2𝑑, rate of shrinking < rate of growing
So should expect 𝐸 𝐴 𝑇
β‰ˆΞ˜
π‘š
𝑑
,
hence loss is roughly
𝑍𝑇
π‘šπ‘‡
=Θ
1
𝑑
.
𝑑 𝑑
π‘š
~ 𝑒 βˆ’1
Dynamic Kidney Exchange
Can we hope to do better?
Suppose the mechanism is informed when
an agent β€œgoes critical” (is about to perish).
Patient mechanism: whenever an agent becomes
critical, match them with another agent (if possible)
Dynamic Kidney Exchange
Theorem: if criticality is observable, then as π‘š β†’ ∞,
𝐿 π‘ƒπ‘Žπ‘‘π‘–π‘’π‘›π‘‘ ≀ 𝑒 βˆ’π‘‘/2
Intuition: the mechanism maintains a large pool of
active agents, so it is likely that any given agent will
have a match when they are about to perish.
Conclusion: determining / signaling critical status
can dramatically improve ability to make matches.