Given a graph G= (V, E) and for each vertex v∈ V a subset B(v) of the set {0, 1, …, dG(v)}, where dG(v) denotes the degree of vertex v in the graph G, a B-matching of G is any set F⊆ E such that dF(v) ∈ B(v) for each vertex v, where dF(v) denotes the number of edges of F incident to v. The general matching problem asks the existence of a B-matching in a given graph. A set B(v) is said to have a gap of length p if there exists a number k∈ B(v) such that k+ 1, …, k+ p∉ B(v) and k+ p+ 1 ∈ B(v). Without any restrictions the general matching problem is NP-complete. However, if no set B(v) contains a gap of length greater than 1, then the problem can be solved in polynomial time and Cornuéjols [5] presented an algorithm for finding a B-matching, if it exists. In this paper we consider a version of the general matching problem, in which we are interested in finding a B-matching having a maximum (or minimum) number of edges. We present the first polynomial time algorithm for the maximum/minimum B-matching for the case when no set B(v) contains a gap of length greater than 1. This also yields the first pseudopolynomial algorithm for the weighted version of the problem, in which each edge of the graph is assigned a weight and the goal is to compute a minimum or maximum weight B-matching.
CITATION STYLE
Dudycz, S., & Paluch, K. (2018). Optimal general matchings. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 11159 LNCS, pp. 176–189). Springer Verlag. https://doi.org/10.1007/978-3-030-00256-5_15
Mendeley helps you to discover research relevant for your work.