Popular Matchings in the Weighted Capacitated House Allocation

Popular Matchings in the
Weighted Capacitated
House Allocation Problem
Colin Sng
David Manlove
Department of Computing Science
University of Glasgow
1
House Allocation problem (HA)

A set of agents and a set of houses


agents have preferences over houses
 each agent has a (strictly) ranked preference list of
acceptable houses
houses have no preferences over agents

A matching is a set of (agent, house) pairs such that



each agent is paired with at most one house
each house is paired with at most one agent
an agent can be paired only with an acceptable house
2
Popular matchings

If (a, h) ∈ M then we denote h by M(a)

Agent a prefers matching M' to matching M if
 a is matched in M' but not in M, or
 a prefers M'(a) to M(a)

A matching M' is more popular than a matching M if more
agents prefer M' to M than prefer M to M'

A matching M is popular if there is no matching M' that is
more popular than M
3
Popular matchings may not exist

Consider the instance shown - 3 agents and 3 houses
a1 : h1 h2 h3
a2 : h1 h2 h3
a3 : h1 h2 h3
4
Popular matchings may not exist

Consider the instance shown - 3 agents and 3 houses
a1 : h1 h2 h3
a2 : h1 h2 h3
a3 : h1 h2 h3

The blue matching M shown is unique up to symmetry
5
Popular matchings may not exist

Consider the instance shown - 3 agents and 3 houses
a1 : h1 h2 h3
a2 : h1 h2 h3
a3 : h1 h2 h3

The blue matching M shown is unique up to symmetry

The green matching M' is more popular than M
6
Popular matchings can
have different sizes
a1 : h1 h4
a2 : h2 h5
a3 : h3 h4 h6
a4 : h1
a5 : h2
a6 : h3
7
Popular matchings can
have different sizes
a1 : h1 h4
a2 : h2 h5
a3 : h3 h4 h6
a4 : h1
a5 : h2
a6 : h3

The blue matching M is the unique maximum matching
8
Popular matchings can
have different sizes
a1 : h1 h4
a2 : h2 h5
a3 : h3 h4 h6
a4 : h1
a5 : h2
a6 : h3

The blue matching M is the unique maximum matching

The green matching M' is more popular than M
9
Popular matchings can
have different sizes
a1 : h1 h4
a2 : h2 h5
a3 : h3 h4 h6
a4 : h1
a5 : h2
a6 : h3
The green matching M' is in fact popular
 But so is the black matching
 M' is a maximum cardinality popular matching

10
Motivation

Bipartite matching problems with one-sided preferences:
 US campus housing allocation
 Amazon’s DVD rental service
 Scottish Executive Teacher Induction Scheme

Popular matchings:
 Administrator may try to impose a matching M on a set
of agents
 Group may try to propose an alternative matching M'
 Administrator agrees to let the agents vote to determine
whether M' is more popular than M
11
Related work (1)




Gärdenfors (Behavioural Science, 1975)
 defined popular matchings (“majority assignments”) in
the context of voting theory
Irving, Kavitha, Mehlorn, Michail, Paluch (SODA 2004)
 O(min(n+R, R√n)m) algorithm to find a rank maximal
matching, where n is no. agents and houses, m is total
length of preference lists and R is maximum rank that
appears in an optimal solution
Abraham, Cechlarova, Manlove, Mehlhorn (ISAAC 2004)
 O(n + m) algorithm to find a maximum Pareto optimal
matching
Rank maximal and Pareto optimal matchings need not be
popular
12
Related work (2)

Abraham, Irving, Kavitha, Mehlhorn (SODA 2005)
 O(n + m) algorithm to find a maximum popular
matching or report that none exists



O(√nm) counterpart for preference lists with ties
Mahdian (ACM EC 2006)
 probabilistic results for the existence of a popular
matching in a random HA instance
Abraham and Kavitha (SWAT 2006)
 dynamic matching market considered
 there exists a 2-step “voting path” from a given
matching to a popular matching, if one exists
13
Related work (3)


Mestre (ICALP 2006)
 Weighted House Allocation problem (WHA)
 Agents have weights indicating their priority level
 O(n + m) algorithm to find a maximum popular matching
or report that none exists
 O(min(k√n, n)m) counterpart for preference lists with ties,
where k is the number of distinct weights
Manlove and Sng (ESA 2006)
 Capacitated House Allocation problem (CHA)
 O(√Cn + m) algorithm to find a maximum popular
1
matching or report that none exists, where n1 is no.
agents and C is total capacity of the houses
14
 O((√C + n )m) counterpart for preference lists with ties
Weighted House
Allocation problem (WHA)

Each agent ai has a weight wi > 0 indicating his priority

A matching M' is more popular than a matching M if the total
weight of the agents who prefer M' to M is greater than the
total weight of the agents who prefer M to M'
Example instance

Agent Weight
a1:
7
Pref list
h1 h2 h3
a2:
4
h1 h3 h4
a3:
2
h3 h1 h4 h5
a4:
2
h1 h4 h5
15
Weighted House
Allocation problem (WHA)

Each agent ai has a weight wi > 0 indicating his priority

A matching M' is more popular than a matching M if the total
weight of the agents who prefer M' to M is greater than the
total weight of the agents who prefer M to M'
Example instance

Agent Weight
a1:
7

Pref list
h1 h2 h3
a2:
4
h1 h3 h4
a3:
2
h3 h1 h4 h5
a4:
2
h1 h4 h5
Weight of agents who
prefer M' to M
= 4+2+2=8
Weight of agents who
prefer M to M' = 7
Green matching M is not popular since blue matching M' is
more popular than M
16
Capacitated House
Allocation problem (CHA)

Each house hj has a capacity cj > 0

Agents do not have weights (yet)

A matching is a set of (agent, house) pairs such that




each agent is paired with at most one house
each house hj is paired with at most cj agents
an agent can be paired only with an acceptable house
A matching M' is more popular than a matching M if more
agents prefer M' to M than prefer M to M'
17
Weighted Capacitated House
Allocation problem (WCHA)

Combination of both of the extensions WHA and CHA




Agents have weights
Houses have capacities
Weights could give priority in the competition for houses if C < n1
Example instance
Agent
Weight
Pref list
House
capacity
a1
7
h1 h2 h3
h1
1
a2
4
h1 h3 h4
h2
2
a3
4
h3 h5
a4
2
h3 h1 h4 h5
h4
2
a5
2
h1 h4 h5
h5
1
h3
2
18
Our results

Characterisation of popular matchings in WCHA

Show how to remove certain (agent,house) pairs that
cannot belong to a popular matching

Show how this leads to an O(√Cn1 + m) algorithm for
finding a popular matching or reporting that none exists,
given an instance of WCHA

Extend the algorithm to the case where we require a
maximum popular matching
19
The underlying graph
a1
7
a2
4
a3
4
a4
2
a5
2
h1
1
a1: h1 h2 h3
a2: h1 h3 h4
h2
2
h3
2
a4: h3 h1 h4 h5
h4
2
a6: h4 h1 h2
h5
1
a3: h3 h5
a5: h1 h4 h5
a6
2
20
The underlying graph
l(a1)
a1
7
l(a2)
a2
4
l(a3)
a3
4
l(a4)
a4
2
l(a5)
a5
2
l(a6)
h1
1
a1: h1 h2 h3 l(a1)
a2: h1 h3 h4 l(a2)
h2
2
h3
2
a4: h3 h1 h4 h5 l(a4)
h4
2
a6: h4 h1 h2 l(a6)
h5
1
a3: h3 h5 l(a3)
a5: h1 h4 h5 l(a5)
a6
2
21
f-houses and s-houses

Partition agents into P1 , P2 ,…, Pk such that ai ∈ Pj implies that
ai has weight wj and w1 > w2 > …> wk

If ai ∈ Pj then ai has priority j

For each agent a, define a’s f-house f(a) and a’s s-house s(a)

If a ∈ P1 then f(a) is the first house on a’s list

Otherwise consider agents in P2 ,…, Pk in turn


Given a ∈ Pz (2 ≤ z ≤ k), f(a) is the most-preferred house hj on
a’s list such that the number of agents with priority <z whose fhouse is hj is <cj
Given a ∈ Pz (1 ≤ z ≤ k), s(a) is the most-preferred house
hj
22
≠ f(a) on a’s list such that the number of agents with priority ≤z
Identification of f-houses
l(a1)
a1
7
l(a2)
a2
4
l(a3)
a3
4
l(a4)
a4
2
l(a5)
a5
2
l(a6)
h1
1
h2
2
h3
2
h4
2
h5
1
a1: h1 h2 h3
1
a2: h1 h3 h4
2
a3: h3 h5
2
a4: h3 h1 h4 h5
3
a5: h1 h4 h5
3
a6: h4 h1 h2
3
a6
2
23
Identification of s-houses
l(a1)
a1
7
l(a2)
a2
4
l(a3)
a3
4
l(a4)
a4
2
l(a5)
a5
2
l(a6)
h1
1
h2
2
h3
2
h4
2
h5
1
a1: h1 h2 h3
1
a2: h1 h3 h4
2
a3: h3 h5
2
a4: h3 h1 h4 h5
3
a5: h1 h4 h5
3
a6: h4 h1 h2
3
a6
2
24
Key result (1)
a1
If M is a popular matching,
then for each agent a, either M
(a)=f(a) or M(a)=s(a)
7
a2
4
a3
An agent-complete matching
satisfying the above property
(and two additional properties) is
well-formed
4
a4
2
a5
2
Every popular matching is wellformed, however the converse is
not true in general
h1
1
h2
2
h3
2
h4
2
h5
1
a6
2
25
Potential improvement paths
M1 = {(a1, h1), (a2, h3), (a3, h3),
(a4, h4), (a5, h5), (a6, h4)}
is a well-formed matching
a1
7
a2
4
a3
4
a4
2
a5
2
h1
1
h2
2
h3
2
h4
2
h5
1
a6
2
26
Potential improvement paths
M1 = {(a1, h1), (a2, h3), (a3, h3),
(a4, h4), (a5, h5), (a6, h4)}
a1
7
h1
1
h3
2
h4
2
h5
1
a2
4
Agent
a1
Weight
7
Pref list
h1 h2 h3
a3
a2
4
h1 h3 h4
a3
4
h3 h5
a4
a4
2
h3 h1 h4 h5
a5
2
h1 h4 h5
a6
2
h4 h1 h2
4
2
a5
2
a6
2
27
Potential improvement paths
M1 = {(a1, h1), (a2, h3), (a3, h3),
(a4, h4), (a5, h5), (a6, h4)}
a1
7
h1
1
h3
2
h4
2
h5
1
a2
4
Agent
a1
Weight
7
Pref list
h1 h2 h3
a3
a2
4
h1 h3 h4
a3
4
h3 h5
a4
a4
2
h3 h1 h4 h5
a5
2
h1 h4 h5
a6
2
h4 h1 h2
4
2
a5
2
a6
2
〈h4, a4, h3, a2, h1, a1〉 is a potential improvement path
28
Potential improvement paths
M1 = {(a1, h1), (a2, h3), (a3, h3),
(a4, h4), (a5, h5), (a6, h4)}
M2 = {(a2, h1), (a3, h3), (a4, h3),
(a5, h4), (a6, h4)}
Weight of agents who improve
= w2 + w4 + w5 = 4 + 2 + 2 = 8
Weight of agents who get worse
= w1 = 7
∴ M1 is not popular
a1
7
h1
1
h3
2
h4
2
h5
1
a2
4
a3
4
a4
2
a5
2
a6
2
29
Pruning
O(m) algorithm removes certain
edges from the underlying graph
that cannot belong to a popular
matching
In this case the edges that would
be removed are:
a1
7
a2
4
a3
4
a4
2
• (a1, h2)
• (a2, h4)
• (a3, h5)
• (a4, h4)
a5
2
h1
1
h2
2
h3
2
h4
2
h5
1
a6
2
30
Key result (2)
Any well-formed matching in the pruned graph is popular
a1
a2
a3
a4
a5
a6
h1
h2
1
2
h3
2
h4
2
h5
1
a1
a2
a3
a4
a5
h1
1
h2
2
h3
2
h4
2
h5
1
a6
31
Conclusions

Overall O(√Cn1+m) approach for finding a popular matching
(or reporting that none exists)



O(m) to identify f- and s-houses
O(m) for pruning algorithm
O(√Cn1+m) for finding a well-formed matching in pruned graph

Extends to O(√Cn1+m) algorithm for finding a maximum
popular matching

Extend to preference lists with ties?
32