An instance of the stable marriage problem is an undirected bipartite graph G = (X U W, E) with linearly ordered adjacency lists; ties are allowed. 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 either unmatched or 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 is the number of edges. The previous best algorithm had running time O(m2). We also study this problem in the hospitals-residents setting, which is a many-to-one extension of the above problem. We give an O(m(|.R| + σhεPh)) algorithm for computing a strongly stable matching in the hospitals-residents problem, where \R\ is the number of residents and PH. is the quota of a hospital h. The previous best algorithm had running time O(m2). © Springer-Verlag 2004.
CITATION STYLE
Kavitha, T., Mehlhorn, K., Michail, D., & Paluch, K. (2004). Strongly stable matchings in time O(nm) and extension to the hospitals-residents problem. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2996, 222–233. https://doi.org/10.1007/978-3-540-24749-4_20
Mendeley helps you to discover research relevant for your work.