Skip to content

Chapter 61. Vertex Covers

A vertex cover is a set of vertices that touches every edge of a graph. Vertex covers are fundamental objects in graph theory, combinatorial optimization, and theoretical computer science. They are closely connected to matchings, independent sets, network design, approximation algorithms, and computational complexity. (en.wikipedia.org)

The basic idea is simple. Instead of selecting edges, one selects vertices so that every edge is incident with at least one selected vertex. In many applications, the selected vertices represent monitoring stations, guards, servers, or control points.

Vertex covers form one of the classical covering problems in graph theory.

61.1 Definition

Let

G=(V,E) G=(V,E)

be a graph.

A subset

CV C \subseteq V

is called a vertex cover if every edge of GG has at least one endpoint in CC.

Equivalently,

uvE,uCorvC. \forall uv \in E, \quad u \in C \quad \text{or} \quad v \in C.

Thus every edge is “covered” by at least one selected vertex.

For example, consider the path

v1v2v3v4. v_1-v_2-v_3-v_4.

The set

C={v2,v3} C=\{v_2,v_3\}

is a vertex cover, because every edge touches either v2v_2 or v3v_3.

The set

{v2} \{v_2\}

is not a vertex cover, because the edge

v3v4 v_3v_4

is uncovered.

61.2 Minimum Vertex Covers

A vertex cover is minimum if it has smallest possible size.

The size of a minimum vertex cover is denoted by

τ(G). \tau(G).

Thus,

τ(G)=min{C:C is a vertex cover of G}. \tau(G) = \min\{|C| : C \text{ is a vertex cover of } G\}.

The minimum vertex cover problem asks for a vertex cover of minimum size.

This optimization problem is central in algorithmic graph theory.

61.3 Trivial Vertex Covers

Some vertex covers are immediate.

Entire Vertex Set

The set

V V

itself is always a vertex cover, because every edge has endpoints in VV.

Thus every graph has at least one vertex cover.

Empty Set

The empty set is a vertex cover only when the graph has no edges.

Indeed, if an edge exists, some vertex must cover it.

61.4 Vertex Covers in Standard Graphs

The minimum vertex cover size can often be computed explicitly for common graph families.

Paths

For the path graph PnP_n,

τ(Pn)=n2. \tau(P_n) = \left\lfloor \frac{n}{2} \right\rfloor.

One may select every second vertex.

Cycles

For the cycle graph CnC_n,

τ(Cn)=n2. \tau(C_n) = \left\lceil \frac{n}{2} \right\rceil.

Even cycles allow alternating selections. Odd cycles require one additional vertex.

Complete Graphs

For the complete graph KnK_n,

τ(Kn)=n1. \tau(K_n)=n-1.

Indeed, if two vertices remain outside the cover, the edge joining them is uncovered.

Complete Bipartite Graphs

For

Km,n, K_{m,n}, τ(Km,n)=min(m,n). \tau(K_{m,n}) = \min(m,n).

Choosing all vertices from the smaller side covers every edge.

61.5 Relationship with Independent Sets

A set

IV I \subseteq V

is independent if no two vertices in II are adjacent.

Vertex covers and independent sets are complementary concepts.

Theorem 61.1

A set

CV C \subseteq V

is a vertex cover if and only if

VC V \setminus C

is an independent set.

Proof

Suppose CC is a vertex cover.

If two vertices outside CC were adjacent, then the edge joining them would have neither endpoint in CC, contradicting the cover property.

Thus

VC V \setminus C

is independent.

Conversely, suppose

VC V \setminus C

is independent.

Then no edge has both endpoints outside CC. Therefore every edge has at least one endpoint in CC, so CC is a vertex cover.

This proves the equivalence.

61.6 Independence Number

Let

α(G) \alpha(G)

denote the size of a maximum independent set.

Since complements of vertex covers are independent sets:

α(G)+τ(G)=V. \alpha(G)+\tau(G)=|V|.

\alpha(G)+\tau(G)=|V|

This identity is one of the most important relations in graph theory.

It converts covering problems into independence problems and vice versa.

61.7 Vertex Covers and Matchings

Vertex covers are closely connected to matchings.

Suppose MM is a matching and CC a vertex cover.

Every edge of MM must be covered by at least one vertex of CC.

Since the edges of MM are disjoint, distinct edges require distinct covering vertices.

Therefore,

MC. |M| \le |C|.

Thus:

Every matching gives a lower bound on every vertex cover.

Taking maxima and minima yields:

ν(G)τ(G), \nu(G) \le \tau(G),

where

ν(G) \nu(G)

is the maximum matching size.

61.8 König’s Theorem

For bipartite graphs, the previous inequality becomes equality.

Theorem 61.2. König’s Theorem.
If GG is bipartite, then

ν(G)=τ(G). \nu(G)=\tau(G).

(en.wikipedia.org)

This theorem is one of the central min-max results in combinatorics.

It states:

QuantityMeaning
Maximum matchingLargest packing of disjoint edges
Minimum vertex coverSmallest covering of all edges

In bipartite graphs, these quantities coincide exactly.

61.9 Proof Idea of König’s Theorem

Let

M M

be a maximum matching in a bipartite graph

G=(XY,E). G=(X \cup Y,E).

Build alternating trees from unmatched vertices of XX.

Define:

SetMeaning
ZXZ_XReachable vertices in XX
ZYZ_YReachable vertices in YY

Then define:

C=(XZX)ZY. C=(X \setminus Z_X)\cup Z_Y.

One proves:

  1. CC is a vertex cover.
  2. C=M|C|=|M|.

Since every vertex cover has size at least M|M|, equality follows.

61.10 Minimal and Minimum Vertex Covers

The terms minimal and minimum have different meanings.

TermMeaning
MinimalNo vertex can be removed
MinimumSmallest possible size

Every minimum vertex cover is minimal.

The converse is false.

Example

Consider the path

v1v2v3v4. v_1-v_2-v_3-v_4.

The set

{v2,v3} \{v_2,v_3\}

is minimal.

Removing either vertex leaves an uncovered edge.

However, the set

{v2,v4} \{v_2,v_4\}

is smaller and also covers every edge.

Thus a minimal cover need not be minimum.

61.11 Vertex Cover Algorithms

Brute Force

One may test all subsets of vertices.

This requires:

2V 2^{|V|}

possibilities.

Such exhaustive search becomes infeasible for large graphs.

Greedy Methods

Greedy algorithms repeatedly select vertices covering many uncovered edges.

These algorithms are fast but do not always produce minimum covers.

Exact Algorithms

More advanced algorithms use:

TechniquePurpose
Branch and boundReduce search space
Dynamic programmingStructured graphs
Integer programmingOptimization
KernelizationParameterized complexity

61.12 Complexity

The minimum vertex cover problem is NP-complete. (en.wikipedia.org)

Thus no polynomial-time algorithm is known for arbitrary graphs.

However:

Graph TypeComplexity
Bipartite graphsPolynomial
TreesPolynomial
General graphsNP-complete

The bipartite case becomes tractable because of König’s theorem and flow techniques.

61.13 Approximation Algorithms

Although exact solutions may be difficult, good approximations exist.

A simple 22-approximation algorithm:

  1. Choose any uncovered edge.
  2. Add both endpoints to the cover.
  3. Remove all covered edges.
  4. Repeat.

This algorithm always produces a cover of size at most twice optimal.

Why It Works

The chosen edges form a matching.

Every vertex cover must contain at least one endpoint of each matching edge.

If the algorithm chooses kk edges, the optimal cover has size at least kk, while the algorithm outputs size 2k2k.

Hence:

C2τ(G). |C| \le 2\tau(G).

61.14 Vertex Cover on Trees

For trees, minimum vertex covers can be found efficiently using dynamic programming.

At each vertex, consider two possibilities:

StateMeaning
Vertex includedChildren optional
Vertex excludedChildren required

Combining subtree solutions yields a polynomial-time algorithm.

Trees avoid cycles, which greatly simplifies the optimization structure.

61.15 Edge Cover Duality

An edge cover is a set of edges touching every vertex.

Vertex covers and edge covers solve different covering problems:

Object CoveredChosen Objects
EdgesVertices
VerticesEdges

The two notions are related indirectly through matching theory.

61.16 Hypergraph Vertex Covers

Vertex covers generalize naturally to hypergraphs.

A hypergraph edge may contain many vertices.

A vertex cover becomes a set intersecting every hyperedge.

This generalization appears in database theory, combinatorial optimization, and constraint systems.

61.17 Weighted Vertex Covers

In weighted versions, each vertex has cost:

w(v). w(v).

The objective becomes minimizing:

vCw(v). \sum_{v \in C} w(v).

Weighted vertex cover problems arise in network monitoring, sensor placement, and infrastructure planning.

Approximation algorithms and linear programming relaxations are especially important here.

61.18 Linear Programming Formulation

Introduce variables:

xv={1,vC,0,vC. x_v= \begin{cases} 1, & v \in C, \\ 0, & v \notin C. \end{cases}

The optimization problem becomes:

minvVxv \min \sum_{v \in V} x_v

subject to:

xu+xv1 x_u+x_v \ge 1

for every edge

uvE. uv \in E.

x_u+x_v \ge 1

These inequalities enforce edge coverage.

The linear relaxation is central in approximation theory.

61.19 Applications

Vertex covers appear in many practical settings.

ApplicationInterpretation
Network monitoringMonitor all communication links
Security systemsPlace guards covering all corridors
SchedulingResolve pairwise conflicts
Computational biologyCover interaction networks
Compiler optimizationRegister allocation
Database systemsConstraint management

The abstraction is simple but widely applicable.

61.20 Common Relationships

ParameterRelation
Matching numberν(G)τ(G)\nu(G)\le\tau(G)
Independent number(\alpha(G)+\tau(G)=
Bipartite graphsν(G)=τ(G)\nu(G)=\tau(G)

These identities connect packing, covering, and independence.

61.21 Exercises

  1. Find a minimum vertex cover of P6P_6.

  2. Compute τ(C7)\tau(C_7).

  3. Prove that VCV \setminus C is independent whenever CC is a vertex cover.

  4. Show that every matching gives a lower bound on vertex cover size.

  5. Find a minimum vertex cover of K3,5K_{3,5}.

  6. Prove that every minimum vertex cover is minimal.

  7. Give an example of a minimal vertex cover that is not minimum.

  8. Prove:

α(G)+τ(G)=V. \alpha(G)+\tau(G)=|V|.
  1. Apply the 22-approximation algorithm to a small graph.

  2. Explain why vertex cover is easier on bipartite graphs than on arbitrary graphs.