Log in Sign up
Back to Discover
🔢

Vertex cover

math Maturity 11-13

Imagine some dots with lines between them.

Vertex-cover.svg
Vertex-cover.svg
We want to pick some dots. We must pick dots to touch every line. This helps us cover the whole shape. We try to use as few dots as we can. Can you find the best dots?
Minimum-vertex-cover.svg
Minimum-vertex-cover.svg

46 words

Imagine dots with lines between them.

Vertex-cover.svg
Vertex-cover.svg

We want to pick some dots. Every line must touch a dot we pick. This is called a vertex cover.

Minimum-vertex-cover.svg
Minimum-vertex-cover.svg

We want to use the fewest dots possible. This is a very hard puzzle. It is hard for computers to solve too.

We can find a good guess, though. A simple way uses twice as many dots. This helps us find a close answer.

Vertex-cover-from-maximal-matching.svg
Vertex-cover-from-maximal-matching.svg

It is fun to hunt for the best dots.

82 words

Imagine a group of dots. Lines connect these dots together.

Vertex-cover.svg
Vertex-cover.svg
In math, we call these dots vertices. The lines are called edges. A vertex cover is a set of dots. This set must touch every single line in the group.
Vertex-cover.svg
Vertex-cover.svg
If you pick a dot, you cover all lines touching it.

Finding the smallest vertex cover is a hard puzzle. This is called the minimum vertex cover problem. It is very difficult for computers to solve perfectly. This is because it is an NP-complete problem. That means there is no fast way to find the best answer for every graph.

Minimum-vertex-cover.svg
Minimum-vertex-cover.svg

We can use a simple way to get a good guess. This is called an approximation. One way is to pick both dots on a line. Then, you remove all lines touching those dots. You keep doing this until no lines are left. This method gives a cover that is at most twice the smallest size.

Vertex-cover-from-maximal-matching.svg
Vertex-cover-from-maximal-matching.svg
Some special graphs, like trees, are easier to solve. For those, we can find the best answer quickly.

178 words

Imagine a network of dots connected by lines. In math, we call these dots vertices and the lines edges.

Vertex-cover.svg
Vertex-cover.svg
A vertex cover is a specific group of these dots. This group must include at least one endpoint for every single line in the network. If you pick a dot, you effectively "cover" every line that touches it.
Minimum-vertex-cover.svg
Minimum-vertex-cover.svg
Finding the smallest possible group of dots is a very famous puzzle. This task is known as the minimum vertex cover problem.

This puzzle is a hard job for computers to solve perfectly. It is known as an NP-complete problem. This means there is no known fast way to find the best answer for every graph.

Vertex-cover.svg
Vertex-cover.svg
Scientists often use this problem to test how hard other problems might be. It is a central part of a field called computational complexity theory. Even in simple shapes like cubic or planar graphs, the problem stays very difficult.
Minimum-vertex-cover.svg
Minimum-vertex-cover.svg

Many people have studied how to solve this puzzle. One famous mathematician named Richard Karp included it in his list of 21 important problems.

Vertex-cover-from-maximal-matching.svg
Vertex-cover-from-maximal-matching.svg
Other researchers like Fanica Gavril and Mihalis Yannakakis found ways to make good guesses. They found a simple way to get a "2-factor approximation." This means their guess is at most twice as large as the smallest possible answer. This method works by picking both ends of a line and then removing all connected lines.

There are some special ways to find the answer more easily. For example, if the dots form a tree shape, we can find the best answer quickly.

Vertex-cover-from-maximal-matching.svg
Vertex-cover-from-maximal-matching.svg
We can also use a method called a linear program to look for solutions. This can help us find a "half-integral" solution where values are 0, 1, or one-half. For certain types of graphs called bipartite graphs, a rule called Kőnig's theorem helps us find the answer in a short amount of time. These rules turn a hard job into a much easier one.

Vertex covers help us understand how different parts of a system connect. The problem is closely linked to finding an "independent set." An independent set is a group of dots where no two dots are connected by a line.

Vertex-cover.svg
Vertex-cover.svg
If you know the size of the smallest vertex cover, you can find the size of the largest independent set. This is because the dots not in the cover form that independent set. Math helps us see these hidden patterns in every network of lines and dots.

415 words

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.svg
Vertex-cover.svg
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.
Minimum-vertex-cover.svg
Minimum-vertex-cover.svg

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.svg
Couverture de sommets.svg

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.svg
Vertex-cover.svg

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.svg
Vertex-cover-from-maximal-matching.svg

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.svg
Vertex-cover-from-maximal-matching.svg
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.

Minimum-vertex-cover.svg
Minimum-vertex-cover.svg

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.

767 words
🖼️ 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
Up Next
🔢
Edge cover
Math
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.