A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Vertex Cover and Clique Problems

Graduate Depth 102 in the knowledge graph ☐ I know this ☆ Set as goal
10topics build on this
525prerequisites beneath it
See this on the map →
Boolean Satisfiability, Cook-Levin, and ReductionsNP-Completeness and Cook-Levin Theorem+3 more→→Approximation Algorithms and Approximation RatiosParameterized Complexity
np-complete graph-problems reduction-chains

Core Idea

Vertex cover asks: given a graph and integer k, does a set of k vertices exist such that every edge touches at least one? Clique asks: does the graph contain a complete subgraph of size k? Both are NP-complete. Clique and independent set are complementary: finding a clique in G equals finding an independent set in the complement graph. These problems exemplify how different-seeming combinatorial problems connect via polynomial reductions, sharing fundamental hardness despite surface dissimilarity.

Explainer

You already know that SAT is NP-complete and that polynomial-time reductions let you prove new problems NP-complete by transforming known hard problems into them. Vertex Cover and Clique are two of the most important problems in the NP-complete ecosystem, and understanding how they relate to each other — and to SAT — illustrates how a single thread of hardness weaves through seemingly unrelated combinatorial questions.

Vertex Cover asks: can you select at most k vertices from a graph such that every edge has at least one of its endpoints in your selected set? Think of it as placing guards in a museum hallway network — you want every hallway (edge) monitored by at least one guard (vertex), using as few guards as possible. Clique asks the opposite kind of question: does the graph contain a group of k vertices that are all mutually connected? Think of it as finding a group of k people at a party where everyone in the group knows everyone else. Despite their different flavors — one is about covering structure, the other about finding dense structure — both are NP-complete.

The connection between these problems runs through a third problem: Independent Set. An independent set is a group of vertices with no edges between them — the exact opposite of a clique. Here is the key insight: a set S is a clique in graph G if and only if S is an independent set in the complement graph Ḡ (which has an edge wherever G does not, and vice versa). Furthermore, a set S is a vertex cover in G if and only if V − S (the remaining vertices) is an independent set in G. This gives you a chain: Clique in G ↔ Independent Set in Ḡ ↔ Vertex Cover in Ḡ. Since complement construction is a polynomial-time operation, NP-completeness transfers freely along this chain. Proving any one of these three problems NP-complete immediately gives you the other two.

The original NP-completeness proof for Vertex Cover typically reduces from 3-SAT. Each clause becomes a small gadget in the graph, and the structure ensures that choosing a vertex cover of size k corresponds to finding a satisfying assignment. The reduction for Clique often goes through Independent Set. What makes these problems especially important beyond theory is that they model real optimization scenarios — network reliability (vertex cover), social network analysis (clique detection), and wireless channel assignment (independent set). The NP-completeness results explain why these practical problems resist efficient exact solutions, motivating the study of approximation algorithms. Notably, Vertex Cover has a simple 2-approximation (greedily pick both endpoints of uncovered edges), while Clique has no known constant-factor approximation — showing that NP-complete problems, despite sharing worst-case hardness, can differ dramatically in how well they can be approximately solved.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Boolean Type and Truth Values → Comparison Operators and Boolean Tests → Logical Operators and Boolean Algebra → Boolean Algebra and Fundamental Laws → Logic Gates Fundamentals → Implementing Boolean Functions with Gates → Karnaugh Map Simplification → Combinational Circuit Design → Flip-Flops and Latches → Finite State Machines (FSMs) → Deterministic Finite Automata (DFA) → Nondeterministic Finite Automata (NFA) → Two-Way Finite Automata → NFA to DFA Conversion (Subset Construction) → DFA Properties and Minimization Algorithms → Regular Languages: Definition and Characterization → Context-Free Grammars (CFGs) → Pushdown Automata (PDA) → Equivalence of CFGs and Pushdown Automata → Closure Properties of Context-Free Languages → Limitations of Context-Free Languages → Pumping Lemma for Context-Free Languages → Turing Machines → Variants of Turing Machines and Equivalence → Nondeterministic Time Complexity and NP → The P vs. NP Problem → Complexity Class P: Polynomial Time → Complexity Class NP: Nondeterministic Polynomial Time → NP-Completeness and Cook-Levin Theorem → The Cook-Levin Theorem → Boolean Satisfiability, Cook-Levin, and Reductions → 3-SAT and k-SAT Variants → Partition and Subset Sum Problems → Vertex Cover and Clique Problems

Longest path: 103 steps · 525 total prerequisite topics

Prerequisites (5)

Leads To (2)