We consider the problem of computing a large stable matching in a bipartite graph G = (A∪B, E) where each vertex u ∈ A∪B ranks its neighbors in an order of preference, perhaps involving ties. A matching M is said to be stable if there is no edge (a, b) such that a is unmatched or prefers b to M(a) and similarly, b is unmatched or prefers a to M(b). While a stable matching in G can be easily computed in linear time by the Gale-Shapley algorithm, it is known that computing a maximum size stable matching is APX-hard. In this paper we consider the case when the preference lists of vertices in A are strict while the preference lists of vertices in B may include ties. This case is also APX-hard and the current best approximation ratio known here is 25/17 ≈1.4706 which relies on solving an LP. We improve this ratio to 22/15 ≈ 1.4667 by a simple linear time algorithm. We first compute a half-integral stable matching in {0, 0.5, 1}~(|E|) and round it to an integral stable matching M. The ratio |OPT|/|M| is bounded via a payment scheme that charges other components in OPT M (direct+) to cover the costs of length-5 augmenting paths. There will be no length-3 augmenting paths here. We also consider the following special case of two-sided ties, where every tie length is 2. This case is known to be UGC-hard to approximate to within 4/3. We show a 10/7 ≈ 1.4286 approximation algorithm here that runs in linear time.
展开▼