Minimum Vertex Cover
   HOME

TheInfoList



OR:

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 The P versus NP problem is a major unsolved problem in theoretical computer science. Informally, it asks whether every problem whose solution can be quickly verified can also be quickly solved. Here, "quickly" means an algorithm exists that ...
. 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 In computational complexity theory, Karp's 21 NP-complete problems are a set of computational problems which are NP-complete. In his 1972 paper, "Reducibility Among Combinatorial Problems", Richard Karp used Stephen Cook's 1971 theorem that the boo ...
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 In computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according to their inherent difficulty with respect to ''multiple'' parameters of the input or output. ...
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 In mathematical analysis, the maximum and minimum of a function are, respectively, the greatest and least value taken by the function. Known generically as extremum, they may be defined either within a given range (the ''local'' or ''relative'' ...
. 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 In graph theory, a vertex cover in a hypergraph is a set of vertices, such that every hyperedge of the hypergraph contains at least one vertex of that set. It is an extension of the notion of vertex cover in a graph. An equivalent term is a hi ...
''.


Definition

Formally, a vertex cover V' of an undirected graph G=(V, E) is a subset of V such that (uv \in E) \Rightarrow (u \in V' \lor v \in V'), that is to say it is a set of vertices V' where every edge has at least one endpoint in the vertex cover V'. Such a set is said to ''cover'' the edges of G. The upper figure shows two examples of vertex covers, with some vertex cover V' marked in red. A ''minimum vertex cover'' is a vertex cover of smallest possible size. The vertex cover number \tau is the size of a minimum vertex cover, i.e. \tau = , V', . 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 In the mathematical discipline of graph theory, a matching or independent edge set in an undirected graph is a set of edges without common vertices. In other words, a subset of the edges is a matching if each vertex appears in at most one edge ...
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 ...
K_ has a minimum vertex cover of size \tau(K_)=\min\.


Properties

* A set of vertices is a vertex cover if and only if its
complement Complement may refer to: The arts * Complement (music), an interval that, when added to another, spans an octave ** Aggregate complementation, the separation of pitch-class collections into complementary sets * Complementary color, in the visu ...
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 G :OUTPUT: Smallest number k such that G has a vertex cover of size k. 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 G and positive integer k. :QUESTION: Does G have a vertex cover of size at most k? 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 In computational complexity theory, Karp's 21 NP-complete problems are a set of computational problems which are NP-complete. In his 1972 paper, "Reducibility Among Combinatorial Problems", Richard Karp used Stephen Cook's 1971 theorem that the boo ...
. 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 c(v)\geq 0. The (weighted) minimum vertex cover problem can be formulated as the following
integer linear program An integer programming problem is a mathematical optimization or feasibility program in which some or all of the variables are restricted to be integers. In many settings the term refers to integer linear programming (ILP), in which the objective ...
(ILP). : This ILP belongs to the more general class of ILPs for
covering problems In combinatorics and computer science, covering problems are computational problems that ask whether a certain combinatorial structure 'covers' another, or how large the structure has to be to do that. Covering problems are minimization problems a ...
. The
integrality gap In commutative algebra, an element ''b'' of a commutative ring ''B'' is said to be integral over a subring ''A'' of ''B'' if ''b'' is a root of some monic polynomial over ''A''. If ''A'', ''B'' are fields, then the notions of "integral over" and o ...
of this ILP is 2, 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-2
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 x_v 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 Decision may refer to: Law and politics *Judgment (law), as the outcome of a legal case *Landmark decision, the outcome of a case that sets a legal precedent * ''Per curiam'' decision, by a court with multiple judges Books * ''Decision'' (novel) ...
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 In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) asks whether there exists an interpretation that satisfies a given Boolean f ...
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 graph In graph theory, a tree is an undirected graph in which any two vertices are connected by path, or equivalently a connected acyclic undirected graph. A forest is an undirected graph in which any two vertices are connected by path, or equival ...
s, 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 In computer science, brute-force search or exhaustive search, also known as generate and test, is a very general problem-solving technique and algorithmic paradigm that consists of systematically checking all possible candidates for whether or ...
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 In computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according to their inherent difficulty with respect to ''multiple'' parameters of the input or output. ...
, 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 O(1.2738^k+(k\cdot n)). 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 In computational complexity theory, the exponential time hypothesis is an unproven computational hardness assumption that was formulated by . It states that satisfiability of 3-CNF Boolean formulas cannot be solved in subexponential time, 2^. Mor ...
, the running time cannot be improved to 2''o''(''k''), even when n is O(k). 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 ''2^ n^'', i.e., the problem is subexponential
fixed-parameter tractable In computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according to their inherent difficulty with respect to ''multiple'' parameters of the input or output. ...
. This algorithm is again optimal, in the sense that, under the
exponential time hypothesis In computational complexity theory, the exponential time hypothesis is an unproven computational hardness assumption that was formulated by . It states that satisfiability of 3-CNF Boolean formulas cannot be solved in subexponential time, 2^. Mor ...
, no algorithm can solve vertex cover on planar graphs in time ''2^ n^''.


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 In the mathematical discipline of graph theory, a matching or independent edge set in an undirected graph is a set of edges without common vertices. In other words, a subset of the edges is a matching if each vertex appears in at most one edge ...
''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 Mihalis Yannakakis (; born 13 September 1953 in Athens, Greece)Columbia University: CV ...
. 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 2 - \Theta \left( 1 / \sqrt \right) is known. The problem can be approximated with an approximation factor 2/(1 + \delta) in \delta - dense graphs.


Inapproximability

No better constant-factor approximation algorithm than the above one is known. The minimum vertex cover problem is
APX-complete In computational complexity theory, the class APX (an abbreviation of "approximable") is the set of NP optimization problems that allow polynomial-time approximation algorithms with approximation ratio bounded by a constant (or constant-factor a ...
, 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 \sqrt - \epsilon for any \epsilon > 0. 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 A theory is a systematic and rational form of abstract thinking about a phenomenon, or the conclusions derived from such thinking. It involves contemplative and logical reasoning, often supported by processes such as observation, experimentation, ...
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 Repetition may refer to: *Repetition (rhetorical device), repeating a word within a short space of words *Repetition (bodybuilding), a single cycle of lifting and lowering a weight in strength training *Working title for the 1985 slasher film '' ...
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 Metabolic engineering is the practice of optimizing genetic and regulatory processes within cells to increase the cell's production of a certain substance. These processes are chemical networks that use a series of biochemical reactions and enzy ...
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