inflate each edge to size 3

VC ≤p 3H-VC

VC≤p3H-VC\mathrm{VC}\le_p\mathrm{3H\text{-}VC}, so vertex cover on 3-uniform hypergraphs is NP-hard. A 3-uniform hypergraph is a pair H=(V,E)H=(V,E) in which every hyperedge is a 33-element subset of VV.

The construction

Why from VC\mathrm{VC}. It is the "nearest problem": the definition of a vertex cover in a hypergraph is word for word the VC\mathrm{VC} definition (an ordinary graph is a 2-uniform hypergraph). The first guess is always the most similar problem. The only technical obstacle: the output must be 3-uniform, while graph edges have size 22 — each edge must be "inflated" to size 33 without changing the answer.

Algorithm RR. On input G=(V,E)G=(V,E) and k∈Nk\in\mathbb N:

  1. V^←V\hat V\leftarrow V, E^←∅\hat E\leftarrow\emptyset.
  2. For every e∈Ee\in E:
    • create a new vertex vev_e (new: ve∉Vv_e\notin V and distinct from every previously created vertex);
    • add vev_e to V^\hat V;
    • add e∪{ve}e\cup\{v_e\} to E^\hat E.
  3. Return H=(V^,E^)H=(\hat V,\hat E) and the same kk.

The output is a valid instance. For every e={x,y}∈Ee=\{x,y\}\in E we have x≠yx\ne y (the graph is simple) and ve∉Vv_e\notin V, so ∣e∪{ve}∣=3|e\cup\{v_e\}|=3 exactly; every member of E^\hat E is a 33-element subset of V^\hat V.

Visualization

Guided construction

Vertex Cover → 3-Uniform Hypergraph Cover

Step 1 of 7
⟨G, k = 2⟩ ∈ VC ?
Vertex Cover to 3-uniform hypergraph cover: each edge is inflated by a fresh vertexThe source graph G with vertices a, b, c, d and edges ab, ac, bc, cd is shown on one side. On the other side the hypergraph H keeps those four vertices, adds a square vertex for each edge, and draws every hyperedge as a shaded area covering exactly three vertices. Highlights show the cover U reused unchanged, a hypergraph cover that contains a new vertex, and the repair map trading that new vertex for one of its two real endpoints.G — the source graph (edges of size 2)abacbccdabcd
original vertex of V (circle)

Correctness — both directions

VC ∈ ⟹ 3H-VC ∈

Suppose ⟨G,k⟩∈VC\langle G,k\rangle\in\mathrm{VC}; then some U⊆VU\subseteq V covers GG with ∣U∣≤k|U|\le k.

Take the very same UU. Two things follow at once and must not be skipped: U⊆V⊆V^U\subseteq V\subseteq\hat V, so UU is a legitimate vertex set of HH at all — only that gives meaning to asking whether it covers HH; and ∣U∣≤k|U|\le k is unchanged.

Let e^∈E^\hat e\in\hat E be a hyperedge. By step 2 there exists an edge e∈Ee\in E with e^=e∪{ve}\hat e=e\cup\{v_e\} — that is the link back to the original graph, and without it there is no proof. Since UU covers GG and e∈Ee\in E, we have e∩U≠∅e\cap U\ne\emptyset; and since e⊆e^e\subseteq\hat e, e^∩U  ⊇  e∩U  ≠  ∅.\hat e\cap U\;\supseteq\;e\cap U\;\ne\;\emptyset .

As e^\hat e was arbitrary, UU covers HH with size ≤k\le k, so ⟨H,k⟩∈3H-VC\langle H,k\rangle\in\mathrm{3H\text{-}VC}.

3H-VC ∈ ⟹ VC ∈

Suppose ⟨H,k⟩∈3H-VC\langle H,k\rangle\in\mathrm{3H\text{-}VC}; then some U^⊆V^\hat U\subseteq\hat V covers HH with ∣U^∣≤k|\hat U|\le k.

Here the naive proof collapses. U^\hat U cannot be taken as it stands: it lives in V^\hat V, and V^\hat V holds vertices outside VV; if U^\hat U contains any, it is not a subset of VV and asking "does it cover GG" has no meaning at all. Note the asymmetry against the forward direction: there we received a set inside VV, and a set inside VV is automatically a set inside V^\hat V; here the direction reverses and it breaks.

Build U⊆VU\subseteq V: for each v∈U^v\in\hat U — if v∈Vv\in V, put vv into UU; otherwise, by construction some edge xy∈Exy\in E has v=vxyv=v_{xy}, and we put xx into UU.

(This construction is not part of the reduction — it is part of the proof, so its running time needs no analysis.)

Immediately: U⊆VU\subseteq V by construction, and ∣U∣≤∣U^∣≤k|U|\le|\hat U|\le k. Only ≤\le, not ==, since the map U^→U\hat U\to U need not be injective: if vxy,vxw∈U^v_{xy},v_{xw}\in\hat U both translate to xx. We received U^\hat U "from the sky" and may not assume it minimal — but ≤k\le k suffices, since a cover can always be padded upward.

UU covers GG: let e∈Ee\in E; there are x,y∈Vx,y\in V with e={x,y}e=\{x,y\}, and by construction {x,y,vxy}∈E^\{x,y,v_{xy}\}\in\hat E. Since U^\hat U covers HH, {x,y,vxy}∩U^≠∅\{x,y,v_{xy}\}\cap\hat U\ne\emptyset. Split into two complementary cases:

Case 1: x∈U^x\in\hat U or y∈U^y\in\hat U. Then one of them lies in VV and in U^\hat U, so the first rule put it into UU; hence e∩U≠∅e\cap U\ne\emptyset.

Case 2: x∉U^x\notin\hat U and y∉U^y\notin\hat U. As the intersection is non-empty, necessarily vxy∈U^v_{xy}\in\hat U; and since vxy∉Vv_{xy}\notin V, the second rule put xx into UU. Hence again e∩U≠∅e\cap U\ne\emptyset.

Either way e∩U≠∅e\cap U\ne\emptyset, so UU covers GG with size ≤k\le k, i.e. ⟨G,k⟩∈VC\langle G,k\rangle\in\mathrm{VC}.

Cost of the reduction

TimeO(|G|)
SpaceO(|G|)
Output size|V̂| = |V| + |E|, |Ê| = |E|

The loop runs exactly ∣E∣|E| times, each iteration minting a name and adding a three-element set — constant time (or O(log⁡)O(\log) under a sensible naming scheme). The output size is polynomial too: ∣V^∣=∣V∣+∣E∣|\hat V|=|V|+|E| and ∣E^∣=∣E∣|\hat E|=|E|. That is necessary — otherwise the output could not be written in polynomial time to begin with.

What it buys

3H-VC\mathrm{3H\text{-}VC} is NP-hard. Its minimization version admits a 33-approximation — a direct generalization of the 22-approximation for VC\mathrm{VC}, the 33 coming from the hyperedge size.

Pitfalls

  • Asymmetry between the directions. Forward, "the same UU" works, because V⊆V^V\subseteq\hat V. Backward it fails completely, because V^⊈V\hat V\not\subseteq V. This is the recurring pattern in every reduction that adds vertices — exactly as in VC≤pDS\mathrm{VC}\le_p\mathrm{DS}.

  • "Write" presupposes existence. One cannot say "write ee for the edge e^\hat e came from" without first saying that it exists by construction. That is what links the output back to the input.

  • Prefer two complementary cases. The second case is written as the exact negation of the first rather than as "suppose vxy∈U^v_{xy}\in\hat U" — both are correct here, but a complementary split prevents missing a third case you did not think of.

The chain

Rests on

Where this was read from

  • Lesson 25תרגיל 4(א): 3H-VC\mathrm{3H\text{-}VC} היא NP-קשה
  • Catalog exercisehypergraph-vc-np-hard