非表示:
キーワード:
-
要旨:
We consider the problem of computing a maximum cardinality {\em popular}
matching in a bipartite
graph $G = (\A\cup\B, E)$ where each vertex $u \in \A\cup\B$ ranks its
neighbors in a
strict order of preference. This is the same as an instance of the {\em
stable marriage}
problem with incomplete lists.
A matching $M^*$ is said to be popular if there is no matching $M$ such
that more vertices are better off in $M$ than in $M^*$.
\smallskip
Popular matchings have been extensively studied in the case of one-sided
preference lists, i.e.,
only vertices of $\A$ have preferences over their neighbors while
vertices in $\B$ have no
preferences; polynomial time algorithms
have been shown here to determine if a given instance admits a popular
matching
or not and if so, to compute one with maximum cardinality. It has very
recently
been shown that for two-sided preference lists, the problem of
determining if a given instance
admits a popular matching or not is NP-complete. However this hardness
result
assumes that preference lists have {\em ties}.
When preference lists are {\em strict}, it is easy to
show that popular matchings always exist since stable matchings always
exist and they are popular.
But the
complexity of computing a maximum cardinality popular matching was
unknown. In this paper
we show an $O(mn)$ algorithm for this problem, where $n = |\A| + |\B|$ and
$m = |E|$.