Strongly stable matchings in time O ( nm ) and extension to the hospitals-residents problem
An instance of the stable marriage problem is an undirected bipartite graph G = ( X ∪ W , E ) with linearly ordered adjacency lists with ties allowed in the ordering. A matching M is a set of edges, no two of which share an endpoint. An edge e = ( a , b ) ∈ E ∖ M is a blocking edge for M if a is eit...
Gespeichert in:
Veröffentlicht in: | ACM transactions on algorithms 2007-05, Vol.3 (2), p.15 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | An instance of the stable marriage problem is an undirected bipartite graph
G
= (
X
∪
W
,
E
) with linearly ordered adjacency lists with ties allowed in the ordering. A matching
M
is a set of edges, no two of which share an endpoint. An edge
e
= (
a
,
b
) ∈
E
∖
M
is a
blocking edge
for
M
if
a
is either unmatched or strictly prefers
b
to its partner in
M
, and
b
is unmatched, strictly prefers
a
to its partner in
M
, or is indifferent between them. A matching is strongly stable if there is no blocking edge with respect to it. We give an
O
(
nm
) algorithm for computing strongly stable matchings, where
n
is the number of vertices and
m
the number of edges. The previous best algorithm had running time
O
(
m
2
). We also study this problem in the hospitals-residents setting, which is a many-to-one extension of the aforementioned problem. We give an
O
(
m
∑
h∈H
p
h
) algorithm for computing a strongly stable matching in the hospitals-residents problem, where
p
h
is the quota of a hospital
h
. The previous best algorithm had running time
O
(
m
2
). |
---|---|
ISSN: | 1549-6325 1549-6333 |
DOI: | 10.1145/1240233.1240238 |