Recent from talks
Nothing was collected or created yet.
Edge cover
View on WikipediaIn graph theory, an edge cover of a graph is a set of edges such that every vertex of the graph is an endpoint of at least one edge of the set. In computer science, the minimum edge cover problem is the problem of finding an edge cover of minimum size. It is an optimization problem that belongs to the class of covering problems and can be solved in polynomial time.
Definition
[edit]Formally, an edge cover of a graph G is a set of edges C such that each vertex in G is incident with at least one edge in C. The set C is said to cover the vertices of G. The following figure shows examples of edge coverings in two graphs (the set C is marked with red).
A minimum edge covering is an edge covering of smallest possible size. The edge covering number ρ(G) is the size of a minimum edge covering. The following figure shows examples of minimum edge coverings (again, the set C is marked with red).
Note that the figure on the right is not only an edge cover but also a matching. In particular, it is a perfect matching: a matching M in which every vertex is incident with exactly one edge in M. A perfect matching (if it exists) is always a minimum edge covering.
Examples
[edit]- The set of all edges is an edge cover, assuming that there are no degree-0 vertices.
- The complete bipartite graph Km,n has edge covering number max(m, n).
Algorithms
[edit]A smallest edge cover can be found in polynomial time by finding a maximum matching and extending it greedily so that all vertices are covered.[1][2] In the following figure, a maximum matching is marked with red; the extra edges that were added to cover unmatched nodes are marked with blue. (The figure on the right shows a graph in which a maximum matching is a perfect matching; hence it already covers all vertices and no extra edges were needed.)
On the other hand, the related problem of finding a smallest vertex cover is an NP-hard problem.[1]
Looking at the image it already becomes obvious why, for a given minimum edge cover and maximum matching , letting and be the number of edges in and respectively, we have:[3] . Indeed, contains a maximum matching, so the edges of can be decomposed between the edges of a maximum matching, covering vertices, and the other edges that each cover one other vertex. Thus, as covers all of the vertices, we have giving the desired equality.
See also
[edit]- Vertex cover
- Set cover – the edge cover problem is a special case of the set cover problem: the elements of the universe are vertices, and each subset covers exactly two elements.
Notes
[edit]- ^ a b Garey & Johnson (1979), p. 79, uses edge cover and vertex cover as one example of a pair of similar problems, one of which can be solved in polynomial time while the other one is NP-hard. See also p. 190.
- ^ Lawler, Eugene L. (2001), Combinatorial optimization: networks and matroids, Dover Publications, pp. 222–223, ISBN 978-0-486-41453-9.
- ^ "Prove that the sum of minimum edge cover and maximum matching is the vertex count". Mathematics Stack Exchange. Retrieved 2024-02-18.
References
[edit]Edge cover
View on GrokipediaDefinition and Properties
Formal Definition
An undirected graph consists of a finite set of vertices and a set of edges, where each edge is an unordered pair of distinct vertices from . A vertex is incident to an edge if is one of the endpoints of . An edge cover of an undirected graph is a subset such that every vertex is incident to at least one edge in . Graphs containing isolated vertices (vertices with degree zero) admit no edge cover, as an isolated vertex cannot be incident to any edge. In graphs without isolated vertices, edge covers always exist; the full edge set serves as a trivial edge cover. The size of a minimum edge cover of is called the edge covering number and is denoted by . This concept is related to but distinct from a maximum matching, which is a set of edges with no two sharing a vertex.Key Properties
An edge cover of a graph is minimal if no proper subset of its edges forms an edge cover, meaning the removal of any single edge leaves at least one vertex uncovered. This property ensures that each edge in the set is essential for covering some vertex that would otherwise remain isolated in the subgraph formed by the remaining edges. Minimal edge covers differ from minimum edge covers in that the former emphasize irreducibility under subset removal, while the latter focus on achieving the smallest possible cardinality; every minimum edge cover is minimal, but not every minimal edge cover is minimum.[8][9] Every edge cover contains at least one minimal edge cover as a subset, obtained by iteratively removing redundant edges until no further removal is possible without violating the covering property; since the graph is finite, this process terminates. The union of any two edge covers is also an edge cover, as every vertex incident to an edge in either set remains covered in the combined set.[8][10] For any edge cover in a graph with vertices, the cardinality satisfies . The bound follows from the pigeonhole principle: each edge in is incident to at most two vertices, so at least edges are required to cover all vertices, with equality possible in graphs admitting a perfect matching. Edge covers exist in a graph if and only if the graph has no isolated vertices, as an isolated vertex cannot be incident to any edge and thus cannot be covered. The edges of an edge cover induce a spanning subgraph of the original graph in which the minimum degree is at least 1, since every vertex is incident to at least one selected edge by definition.[10]Illustrative Examples
To illustrate the concept of an edge cover, consider simple graphs without isolated vertices, where an edge cover is a set of edges incident to every vertex.[9] In the path graph with vertices labeled 1, 2, 3 and edges {1-2, 2-3}, the set {1-2, 2-3} forms a minimum edge cover of size 2.[11] However, the single edge {1-2} is not an edge cover, as vertex 3 has no incident edge in the set.[9] For the cycle graph with vertices 1, 2, 3, 4 and edges {1-2, 2-3, 3-4, 4-1}, a minimum edge cover consists of any two non-adjacent edges, such as {1-2, 3-4}, while the full set of four edges is an edge cover but not minimal. In the complete graph with vertices 1, 2, 3 and all three possible edges, any two edges form a minimum edge cover. By Gallai's identity, the edge covering number equals the number of vertices minus the matching number (which is 1 for ), yielding size 2. The complete bipartite graph has partitions of sizes 2 and 3, with edge covering number 3 (the maximum partition size). This follows from Gallai's identity, as the maximum matching size is 2 and the graph has 5 vertices. As a non-example, a graph consisting of a single isolated vertex has no edge cover, since no edges exist to incident to the vertex.[9]Minimum Edge Cover
Edge Cover Number
The edge cover number of a graph , denoted , is the cardinality of a minimum edge cover in , that is, the smallest number of edges whose union covers all vertices of .[12][13] This parameter is defined only for graphs without isolated vertices, as isolated vertices cannot be covered by any edge. Trivially, , since the full edge set is an edge cover.[13] For a graph with vertices, . This lower bound arises because each edge in an edge cover can incident at most two vertices, so at least edges are needed to cover all vertices. Equality holds if and only if , i.e., has a maximum matching covering all vertices (perfect matching) when is even or all but one vertex when is odd. In the even case, a maximum matching serves as a minimum edge cover of size .[13][3] In any graph without isolated vertices, the edge cover number satisfies the Gallai identity , where is the matching number (size of a maximum matching).[12][13][3] This equality provides a computation-independent characterization: . For example, in a cycle graph (which has a perfect matching), and ; in a path graph , and .[13]Relation to Matchings
In any graph without isolated vertices, the edge cover number equals the number of vertices minus the matching number , that is, .[4] This relation, part of the Gallai identities, provides an exact formula for the size of a minimum edge cover in terms of the maximum matching size.[14] A minimum edge cover can be constructed from a maximum matching by adding, for each unsaturated vertex (one not incident to any edge in ), an arbitrary edge incident to that vertex; this process yields an edge cover of size exactly .[15] The added edges ensure all vertices are covered without introducing redundancy beyond the minimum required.[14] To see why this holds, consider that a maximum matching covers vertices, leaving unsaturated vertices, each of which requires at least one additional edge in any edge cover, implying .[14] The construction achieves equality by adding precisely one edge per unsaturated vertex, covering them without overlap since the added edges connect to already-covered vertices in .[4] This connection implies that if has a perfect matching (where ), then , meaning the minimum edge cover coincides with a perfect matching.[14] More generally, the matching deficiency directly determines the excess edges needed beyond the matching size, highlighting how structural gaps in matchings inflate the edge cover size.[4] The relation was established by Tibor Gallai in 1959 as part of his identities on extremal point and edge sets in graphs.[4]Algorithms and Complexity
Computing Minimum Edge Covers
A minimum edge cover in a graph without isolated vertices can be computed efficiently by first obtaining a maximum matching and then extending it to cover all remaining vertices. This approach leverages the structural relation between matchings and edge covers, where the size of a minimum edge cover equals the number of vertices minus the size of a maximum matching, denoted .[5] The process begins by computing a maximum matching using Edmonds' blossom algorithm, which finds a maximum cardinality matching in general graphs in polynomial time.[16] For each vertex unsaturated by , an arbitrary incident edge is added to the set, ensuring every vertex is covered while maintaining minimality.[5] The algorithm proceeds in the following steps:- Compute a maximum matching in the graph .
- Identify the set of unsaturated vertices, i.e., those not incident to any edge in .
- For each , select an arbitrary incident edge , where is saturated (since unsaturated vertices form an independent set).
- Form the edge cover ; this is a minimum edge cover with .[5]
