Nepedia
Back to Discover
Advanced Reader
🔢

Vertex cover

math Maturity 11-13 Next article →

In graph theory, a vertex cover is a specific subset of vertices within an undirected graph. To understand this, imagine a network of dots, called vertices, connected by lines, called edges.

Vertex-cover
Vertex-cover

A set of vertices qualifies as a vertex cover if every single edge in the graph has at least one of its endpoints included in that set. Essentially, the chosen vertices "cover" all the lines in the network. If you select every vertex in a graph, you have created a vertex cover, but it may not be efficient. The goal in many mathematical and computational contexts is to find a minimum vertex cover. This is the smallest possible set of vertices that still covers every edge.

Vertex-cover
Vertex-cover

Finding the smallest vertex cover is a complex task known as an optimization problem. In computer science, this is classified as an NP-hard problem. This means that if the mathematical assumption P ≠ NP is true, there is no algorithm that can solve it in polynomial time. A polynomial-time algorithm is one that can find a solution relatively quickly as the graph grows larger. Because it is NP-hard, finding the exact minimum is computationally expensive. The problem is also difficult to approximate closely. If the unique games conjecture is true, no algorithm can approximate the answer to a factor smaller than 2.

Couverture de sommets
Couverture de sommets

Researchers study the vertex cover problem through different mathematical lenses. One way to look at it is as a decision problem. In this version, you are given a graph and a positive integer, k. You must answer a simple yes or no question: does this graph have a vertex cover with a size of at most k? This decision version is classified as NP-complete. It was famously identified as one of Karp's 21 NP-complete problems. Because of this, the vertex cover problem is often used as a starting point to prove that other problems are also NP-hard.

Vertex-cover
Vertex-cover

There are several ways to mathematically formulate and solve these problems. One method is using an integer linear program (ILP). In this setup, every vertex is assigned a cost, and the goal is to minimize the total cost while ensuring every edge is covered. This ILP is part of a broader class of covering problems. Interestingly, the relaxation of this program is half-integral. This means there is an optimal solution where every variable is either 0, 1, or 1/2. By selecting all vertices where the value is non-zero, you can achieve a 2-factor approximation. This provides a solution that is at most twice the size of the true minimum.

Vertex-cover-from-maximal-matching
Vertex-cover-from-maximal-matching

History shows that different mathematicians found different ways to handle these networks. Fanica Gavril and Mihalis Yannakakis independently discovered a simple 2-factor approximation algorithm. Their method involves finding a maximal matching and selecting both endpoints of every edge in that matching.

Vertex-cover-from-maximal-matching
Vertex-cover-from-maximal-matching

While this does not give the perfect minimum, it is a reliable way to get close. Other advanced techniques have improved this, such as approximation factors of 2 minus epsilon. However, the problem remains APX-complete, meaning it cannot be approximated arbitrarily well unless P = NP. In 2005, Dinur and Safra proved specific limits on how well we can approximate the problem based on vertex degrees.

Despite the general difficulty, certain types of graphs allow for much faster solutions. For example, bipartite graphs can be solved in polynomial time thanks to Kőnig's theorem. This theorem creates an equivalence between the vertex cover and the maximum matching problem. Tree graphs are also easier to manage. You can find a minimal vertex cover for a tree by repeatedly finding a leaf, adding its parent to the cover, and deleting the involved parts. Furthermore, the problem is fixed-parameter tractable. This means if the size of the vertex cover, k, is small, we can solve it efficiently using techniques like the bounded search tree algorithm.

Vertex-cover
Vertex-cover

Vertex cover problems are deeply connected to other major concepts in graph theory. There is a direct relationship between a vertex cover and an independent set. An independent set is a group of vertices where no two are connected by an edge. A set of vertices is a vertex cover if and only if its complement is an independent set. This means the total number of vertices in a graph equals the size of the minimum vertex cover plus the size of the maximum independent set. While these two problems are related, they are not the same in terms of approximation. The independent set problem has no constant-factor approximation unless P = NP, making it a distinct challenge in computational complexity.

771 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

🖼️ Images & Media (4)
File:Couverture de sommets.svg
Couverture de sommets.svg
File:Vertex-cover.svg
Vertex-cover.svg
File:Minimum-vertex-cover.svg
Minimum-vertex-cover.svg
File:Vertex-cover-from-maximal-matching.svg
Vertex-cover-from-maximal-matching.svg
More to explore

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.