Abstract

The problem of finding an optimal semi-matching is a generalization of the problem of finding classical matching in bipartite graphs. A semi-matching in a bipartite graph G = (U, V, E) with n vertices and m edges is a set of edges M ⊆ E, such that each vertex in U is incident to at most one edge in M. An optimal semi-matching is a semi-matching with degM(u) = 1 for all u ∈ U and the minimal value of \(\sum_{v \in V} \frac{deg_M(v).(deg_M(v)+1)}2\). We propose a schema that allows a reduction of the studied problem to a variant of the maximum bounded-degree semi-matching problem. The proposed schema yields to two algorithms for computing an optimal semi-matching. The first one runs in time \(O(\sqrt{n} \cdot m \cdot \log{n})\) that is the same as the time complexity of the currently best known algorithm. However, our algorithm uses a different approach that enables some improvements in practice (e.g. parallelization, faster algorithms for special graph classes). The second one is randomized and it computes an optimal semi-matching with high probability in O(n ω ·log1 + o(1) n), where ω is the exponent of the best known matrix multiplication algorithm. Since ω ≤ 2.38, this algorithms breaks through O(n 2.5) barrier for dense graphs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call