-
Notifications
You must be signed in to change notification settings - Fork 3
[Model] MinimumMaximalMatching #832
Description
Motivation
MINIMUM MAXIMAL MATCHING (P21) from Garey & Johnson, A1.1 GT10. A classical NP-complete graph problem equivalent to Minimum Edge Dominating Set — the optimal values coincide (Yannakakis & Gavril, 1978). Useful as a reduction target from Vertex Cover (the original NP-completeness proof is by transformation from Vertex Cover for cubic graphs). Remains NP-complete for planar graphs and bipartite graphs with maximum degree 3.
Definition
Name: MinimumMaximalMatching
Reference: Garey & Johnson, Computers and Intractability, A1.1 GT10
Mathematical definition:
Given a graph G = (V, E), find a maximal matching of minimum cardinality. A matching is a subset E' ⊆ E such that no two edges in E' share a common endpoint. A matching E' is maximal if every edge in E \ E' shares at least one endpoint with some edge in E'. The objective is to minimize |E'| over all maximal matchings.
Variables
- Count: |E| (one per edge)
- Per-variable domain: {0, 1}
- Meaning: Whether each edge is included in the matching (1) or not (0). The objective minimizes the number of selected edges subject to the matching being maximal.
Schema (data type)
Type name: MinimumMaximalMatching
Variants: graph: SimpleGraph
| Field | Type | Description |
|---|---|---|
graph |
SimpleGraph |
The input graph G = (V, E) |
Complexity
- Best known exact algorithm:
1.3160^num_verticesby Xiao and Nagamochi (2014), "A Refined Exact Algorithm for Edge Dominating Set", Theoretical Computer Science 560, pp. 207–216. The minimum maximal matching problem is equivalent to the minimum edge dominating set problem (the size of a minimum edge dominating set equals the size of a minimum maximal matching). The algorithm uses branch-and-reduce with measure-and-conquer analysis, exploiting clique-producing vertices and cycle structures.
Extra Remark
Full book text:
INSTANCE: Graph G = (V,E), positive integer K ≤ |E|.
QUESTION: Is there a subset E' ⊆ E with |E'| ≤ K such that E' is a maximal matching, i.e., no two edges in E' share a common endpoint and every edge in E−E' shares a common endpoint with some edge in E'?
Reference: [Yannakakis and Gavril, 1978]. Transformation from VERTEX COVER for cubic graphs.
Comment: Remains NP-complete for planar graphs and for bipartite graphs, in both cases even if no vertex degree exceeds 3. The problem of finding a maximum "maximal matching" is just the usual graph matching problem and is solvable in polynomial time (e.g., see [Lawler, 1976a]).
How to solve
- It can be solved by (existing) bruteforce.
- It can be solved by reducing to integer programming.
- Other:
Reduction Rule Crossref
The direct MinimumMaximalMatching → ILP rule will be implemented together with this model (per project convention for models with direct ILP solvability).
Example Instance
Consider the path graph on 6 vertices: v0 — v1 — v2 — v3 — v4 — v5, with edges E = {(v0,v1), (v1,v2), (v2,v3), (v3,v4), (v4,v5)}.
All maximal matchings of this graph:
- {(v0,v1), (v2,v3), (v4,v5)} — size 3
- {(v0,v1), (v3,v4)} — size 2
- {(v1,v2), (v3,v4)} — size 2
- {(v1,v2), (v4,v5)} — size 2
For example, E' = {(v1,v2), (v3,v4)} is a maximal matching of size 2: no two edges share an endpoint, and every other edge is adjacent to some edge in E' — (v0,v1) shares v1 with (v1,v2), (v2,v3) shares v2 with (v1,v2) and v3 with (v3,v4), and (v4,v5) shares v4 with (v3,v4).
A single edge like {(v2,v3)} is NOT a maximal matching because (v0,v1) shares no endpoint with it, so it could still be added.
Expected Outcome
Optimal value: Min(2)
Optimal solution: E' = {(v1,v2), (v3,v4)} (or equivalently {(v0,v1), (v3,v4)} or {(v1,v2), (v4,v5)})
Suboptimal feasible solution: {(v0,v1), (v2,v3), (v4,v5)} with value 3 — this is maximal but not minimum.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status