
In
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
, a vertex cover (sometimes node cover) of a
graph
Graph may refer to:
Mathematics
*Graph (discrete mathematics), a structure made of vertices and edges
**Graph theory, the study of such graphs and their properties
*Graph (topology), a topological space resembling a graph in the sense of discret ...
is a set of
vertices that includes at least one endpoint of every
edge
Edge or EDGE may refer to:
Technology Computing
* Edge computing, a network load-balancing system
* Edge device, an entry point to a computer network
* Adobe Edge, a graphical development application
* Microsoft Edge, a web browser developed by ...
of the graph.
In
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, the problem of finding a minimum vertex cover is a classical
optimization problem
In mathematics, engineering, computer science and economics
Economics () is a behavioral science that studies the Production (economics), production, distribution (economics), distribution, and Consumption (economics), consumption of goo ...
. It is
NP-hard
In computational complexity theory, a computational problem ''H'' is called NP-hard if, for every problem ''L'' which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from ''L'' to ''H''. That is, assumi ...
, so it cannot be solved by a
polynomial-time algorithm
In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
if
P ≠ NP. Moreover, it is
hard to approximate – it cannot be approximated up to a factor smaller than 2 if the
unique games conjecture
In computational complexity theory, the unique games conjecture (often referred to as UGC) is a conjecture made by Subhash Khot in 2002. The conjecture postulates that the problem of determining the approximate ''value'' of a certain type of g ...
is true. On the other hand, it has several simple 2-factor approximations. It is a typical example of an NP-hard optimization problem that has an
approximation algorithm
In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems (in particular NP-hard problems) with provable guarantees on the distance of the returned sol ...
. Its
decision version, the vertex cover problem, was one of
Karp's 21 NP-complete problems and is therefore a classical
NP-complete
In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''.
Somewhat more precisely, a problem is NP-complete when:
# It is a decision problem, meaning that for any ...
problem in
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
. Furthermore, the vertex cover problem is
fixed-parameter tractable and a central problem in
parameterized complexity theory.
The minimum vertex cover problem can be formulated as a
half-integral,
linear program
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements and objective are represented by linear relationships. Linear ...
whose
dual linear program
The dual of a given linear program (LP) is another LP that is derived from the original (the primal) LP in the following schematic way:
* Each variable in the primal LP becomes a constraint in the dual LP;
* Each constraint in the primal LP becom ...
is the
maximum matching problem.
Vertex cover problems have been generalized to
hypergraph
In mathematics, a hypergraph is a generalization of a Graph (discrete mathematics), graph in which an graph theory, edge can join any number of vertex (graph theory), vertices. In contrast, in an ordinary graph, an edge connects exactly two vert ...
s, see ''
Vertex cover in hypergraphs''.
Definition

Formally, a vertex cover
of an undirected graph
is a subset of
such that
, that is to say it is a set of vertices
where every edge has at least one endpoint in the vertex cover
. Such a set is said to ''cover'' the edges of
. The upper figure shows two examples of vertex covers, with some vertex cover
marked in red.
A ''minimum vertex cover'' is a vertex cover of smallest possible size. The vertex cover number
is the size of a minimum vertex cover, i.e.
. The lower figure shows examples of minimum vertex covers in the previous graphs.
Examples
* The set of all vertices is a vertex cover.
* The endpoints of any
maximal matching form a vertex cover.
* The
complete bipartite graph
In the mathematical field of graph theory, a complete bipartite graph or biclique is a special kind of bipartite graph where every vertex of the first set is connected to every vertex of the second set..Electronic edition page 17.
Graph theory ...
has a minimum vertex cover of size
.
Properties
* A set of vertices is a vertex cover if and only if its
complement is an
independent set.
* Consequently, the number of vertices of a graph is equal to its minimum vertex cover number plus the size of a maximum independent set.
Computational problem
The minimum vertex cover problem is the
optimization problem
In mathematics, engineering, computer science and economics
Economics () is a behavioral science that studies the Production (economics), production, distribution (economics), distribution, and Consumption (economics), consumption of goo ...
of finding a smallest vertex cover in a given graph.
:INSTANCE: Graph
:OUTPUT: Smallest number
such that
has a vertex cover of size
.
If the problem is stated as a
decision problem
In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question on a set of input values. An example of a decision problem is deciding whether a given natura ...
, it is called the vertex cover problem:
:INSTANCE: Graph
and positive integer
.
:QUESTION: Does
have a vertex cover of size at most
?
The vertex cover problem is an
NP-complete
In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''.
Somewhat more precisely, a problem is NP-complete when:
# It is a decision problem, meaning that for any ...
problem: it was one of
Karp's 21 NP-complete problems. It is often used in
computational complexity theory
In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
as a starting point for
NP-hard
In computational complexity theory, a computational problem ''H'' is called NP-hard if, for every problem ''L'' which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from ''L'' to ''H''. That is, assumi ...
ness proofs.
ILP formulation
Assume that every vertex has an associated cost of
.
The (weighted) minimum vertex cover problem can be formulated as the following
integer linear program (ILP).
:
This ILP belongs to the more general class of ILPs for
covering problems.
The
integrality gap of this ILP is
, so its
relaxation (allowing each variable to be in the interval from 0 to 1, rather than requiring the variables to be only 0 or 1) gives a factor-
approximation algorithm
In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems (in particular NP-hard problems) with provable guarantees on the distance of the returned sol ...
for the minimum vertex cover problem.
Furthermore, the linear programming relaxation of that ILP is ''half-integral'', that is, there exists an optimal solution for which each entry
is either 0, 1/2, or 1. A 2-approximate vertex cover can be obtained from this fractional solution by selecting the subset of vertices whose variables are nonzero.
Exact evaluation
The
decision variant of the vertex cover problem is
NP-complete
In computational complexity theory, NP-complete problems are the hardest of the problems to which ''solutions'' can be verified ''quickly''.
Somewhat more precisely, a problem is NP-complete when:
# It is a decision problem, meaning that for any ...
, which means it is unlikely that there is an
efficient algorithm to solve it exactly for arbitrary graphs. NP-completeness can be proven by reduction from
3-satisfiability or, as Karp did, by reduction from the
clique problem
In computer science, the clique problem is the computational problem of finding cliques (subsets of vertices, all adjacent to each other, also called complete subgraphs) in a graph. It has several different formulations depending on which c ...
. Vertex cover remains NP-complete even in
cubic graph
In the mathematical field of graph theory, a cubic graph is a graph in which all vertices have degree three. In other words, a cubic graph is a 3-regular graph. Cubic graphs are also called trivalent graphs.
A bicubic graph is a cubic bip ...
s and even in
planar graph
In graph theory, a planar graph is a graph (discrete mathematics), graph that can be graph embedding, embedded in the plane (geometry), plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. ...
s of degree at most 3.
For
bipartite graph
In the mathematics, mathematical field of graph theory, a bipartite graph (or bigraph) is a Graph (discrete mathematics), graph whose vertex (graph theory), vertices can be divided into two disjoint sets, disjoint and Independent set (graph theo ...
s, the equivalence between vertex cover and maximum matching described by
Kőnig's theorem allows the bipartite vertex cover problem to be solved in
polynomial time
In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
.
For
tree graphs, an algorithm finds a minimal vertex cover in polynomial time by finding the first leaf in the tree and adding its parent to the minimal vertex cover, then deleting the leaf and parent and all associated edges and continuing repeatedly until no edges remain in the tree.
Fixed-parameter tractability
An
exhaustive search algorithm can solve the problem in time 2
''k''''n''
''O''(1), where ''k'' is the size of the vertex cover. Vertex cover is therefore
fixed-parameter tractable, and if we are only interested in small ''k'', we can solve the problem in
polynomial time
In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
. One algorithmic technique that works here is called ''bounded search tree algorithm'', and its idea is to repeatedly choose some vertex and recursively branch, with two cases at each step: place either the current vertex or all its neighbours into the vertex cover.
The algorithm for solving vertex cover that achieves the best asymptotic dependence on the parameter runs in time
. The
klam value of this time bound (an estimate for the largest parameter value that could be solved in a reasonable amount of time) is approximately 190. That is, unless additional algorithmic improvements can be found, this algorithm is suitable only for instances whose vertex cover number is 190 or less. Under reasonable complexity-theoretic assumptions, namely the
exponential time hypothesis, the running time cannot be improved to 2
''o''(''k''), even when
is
.
However, for
planar graph
In graph theory, a planar graph is a graph (discrete mathematics), graph that can be graph embedding, embedded in the plane (geometry), plane, i.e., it can be drawn on the plane in such a way that its edges intersect only at their endpoints. ...
s, and more generally, for graphs excluding some fixed graph as a minor, a vertex cover of size ''k'' can be found in time ''
'', i.e., the problem is subexponential
fixed-parameter tractable. This algorithm is again optimal, in the sense that, under the
exponential time hypothesis, no algorithm can solve vertex cover on planar graphs in time ''
''.
Approximate evaluation
One can find a factor-2
approximation
An approximation is anything that is intentionally similar but not exactly equal to something else.
Etymology and usage
The word ''approximation'' is derived from Latin ''approximatus'', from ''proximus'' meaning ''very near'' and the prefix ...
by repeatedly taking ''both'' endpoints of an edge into the vertex cover, then removing them from the graph. Put otherwise, we find a
maximal matching ''M'' with a greedy algorithm and construct a vertex cover ''C'' that consists of all endpoints of the edges in ''M''. In the following figure, a maximal matching ''M'' is marked with red, and the vertex cover ''C'' is marked with blue.
:
The set ''C'' constructed this way is a vertex cover: suppose that an edge ''e'' is not covered by ''C''; then ''M'' ∪ is a matching and ''e'' ∉ ''M'', which is a contradiction with the assumption that ''M'' is maximal. Furthermore, if ''e'' = ∈ ''M'', then any vertex cover – including an optimal vertex cover – must contain ''u'' or ''v'' (or both); otherwise the edge ''e'' is not covered. That is, an optimal cover contains at least ''one'' endpoint of each edge in ''M''; in total, the set ''C'' is at most 2 times as large as the optimal vertex cover.
This simple algorithm was discovered independently by Fanica Gavril and
Mihalis Yannakakis.
More involved techniques show that there are approximation algorithms with a slightly better approximation factor. For example, an approximation algorithm with an approximation factor of
is known. The problem can be approximated with an approximation factor
in
- dense graphs.
Inapproximability
No better
constant-factor approximation algorithm than the above one is known.
The minimum vertex cover problem is
APX-complete, that is, it cannot be approximated arbitrarily well unless
P = NP.
Using techniques from the
PCP theorem
In computational complexity theory, the PCP theorem (also known as the PCP characterization theorem) states that every decision problem in the NP complexity class has probabilistically checkable proofs ( proofs that can be checked by a randomiz ...
,
Dinur and
Safra proved in 2005 that minimum vertex cover cannot be approximated within a factor of 1.3606 for any sufficiently large vertex degree unless P = NP.
Later, the factor was improved to
for any
.
Moreover, if the
unique games conjecture
In computational complexity theory, the unique games conjecture (often referred to as UGC) is a conjecture made by Subhash Khot in 2002. The conjecture postulates that the problem of determining the approximate ''value'' of a certain type of g ...
is true then minimum vertex cover cannot be approximated within any constant factor better than 2.
Although finding the minimum-size vertex cover is equivalent to finding the maximum-size independent set, as described above, the two problems are not equivalent in an approximation-preserving way: The Independent Set problem has ''no'' constant-factor approximation unless P = NP.
Pseudocode
Approximation algorithm:
APPROXIMATION-VERTEX-COVER(G)
C = ∅
E'= G.E
while E' ≠ ∅:
let (u, v) be an arbitrary edge of E'
C = C ∪
remove from E' every edge incident on either u or v
return C
Applications
Vertex cover optimization serves as a
model
A model is an informative representation of an object, person, or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin , .
Models can be divided in ...
for many real-world and
theoretical problems. For example, a commercial establishment interested in installing the fewest possible
closed circuit cameras covering all hallways (edges) connecting all rooms (nodes) on a floor might model the objective as a vertex cover minimization problem. The problem has also been used to model the elimination of
repetitive DNA sequences for
synthetic biology
Synthetic biology (SynBio) is a multidisciplinary field of science that focuses on living systems and organisms. It applies engineering principles to develop new biological parts, devices, and systems or to redesign existing systems found in nat ...
and
metabolic engineering applications.
See also
*
Dominating set
In graph theory, a dominating set for a Graph (discrete mathematics), graph is a subset of its vertices, such that any vertex of is in , or has a neighbor in . The domination number is the number of vertices in a smallest dominating set for ...
Notes
References
*
*
*
*
*
*
*
* A1.1: GT1, pg.190.
*
*
*
*
*
*
*
*
*
External links
*
*
* {{MathWorld , urlname=VertexCoverNumber , title=Vertex Cover Number
River Crossings (and Alcuin Numbers) – Numberphile
Computational problems in graph theory
NP-complete problems
Covering problems