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

3-SAT and Reduction-Based Hardness Proofs

Graduate Depth 101 in the knowledge graph ☐ I know this ☆ Set as goal
1topic build on this
700prerequisites beneath it
See this on the map →
Satisfiability Problem: The Canonical NP-Complete Problem→→Hardness of Approximation Introduction
3-sat reductions graph-problems hardness-proofs

Core Idea

3-SAT restricts SAT to formulas in conjunctive normal form with exactly 3 literals per clause. Despite this restriction, 3-SAT remains NP-complete and is the most common source for polynomial-time reductions proving other problems NP-complete. It provides a practical template for constructing hardness proofs across scheduling, graph algorithms, and optimization problems.

How It's Best Learned

Work through classic 3-SAT reductions (CLIQUE, VERTEX-COVER, INDEPENDENT-SET). Build a reduction from vertex cover to 3-SAT yourself.

Common Misconceptions

Explainer

You already know SAT is NP-complete. 3-SAT is SAT with a particular syntactic restriction: the formula must be in conjunctive normal form (a conjunction of clauses) and every clause must contain exactly three literals. The first thing to verify is that this restriction does not reduce the difficulty — and it does not. Every SAT instance can be converted to 3-SAT in polynomial time by splitting large clauses (introducing auxiliary variables) and padding short ones. So 3-SAT is also NP-complete. The restriction turns out to be practically useful: the rigid three-literal structure makes it easier to construct reductions to other problems, because you can build small gadgets that exploit the constraint directly.

A polynomial-time reduction from 3-SAT to a problem X is a function f, computable in polynomial time, that maps 3-SAT instances to instances of X such that: the 3-SAT formula is satisfiable if and only if f(φ) is a yes-instance of X. This proves X is NP-hard. The art is in designing f — typically by constructing gadgets, small substructures in X's domain (graph edges, schedule slots, etc.) that mimic the role of variables and clauses in 3-SAT. The reduction direction is crucial: you go *from* 3-SAT *to* X. If you could solve X efficiently, you could solve 3-SAT efficiently (by applying f and then calling your solver for X), which would make 3-SAT tractable — but it is NP-hard, so X must also be hard.

A classic example is the reduction from 3-SAT to INDEPENDENT SET: given a formula with k clauses, construct a graph with 3k nodes (one per literal occurrence) connected by two types of edges — within each clause's triangle (forcing exactly one literal from each clause to be chosen) and between opposite literals x and ¬x (preventing contradictory assignments). An independent set of size k exists if and only if the formula is satisfiable. The independent set "is" a satisfying assignment, encoded spatially. The same structural idea recurs across different reductions: variables become choices, clauses become constraints, and the graph or schedule enforces consistency.

What makes 3-SAT the standard source for hardness proofs — rather than general SAT or some other NP-complete problem — is a combination of rigidity and tractability of the reduction machinery. The three-literal structure is rich enough to simulate arbitrary Boolean constraints but constrained enough that gadgets can be small and explicit. When you encounter a new combinatorial problem and want to show it is NP-hard, the standard approach is: (1) show it is in NP, (2) identify a structural analogy between your problem's constraints and 3-SAT clauses, (3) build gadgets that translate clauses and variables, and (4) verify that the mapping is polynomial and that satisfiability is preserved in both directions. Mastering this template unlocks the ability to prove hardness for scheduling, coloring, packing, and hundreds of other problems.

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 → Dividing Integers → Unit Rates → Proportions → Percent Concept → Converting Between Fractions, Decimals, and Percents → Operations with Rational Numbers → Two-Step Equations → Solving Multi-Step Equations → Equations with Variables on Both Sides → Angle Pairs: Complementary, Supplementary, and Vertical → Parallel Lines and Transversals → Corresponding Angles → Alternate Interior Angles → Triangle Angle Sum Theorem → Exterior Angle Theorem → Triangle Inequality Theorem → Similar Triangles: AA Similarity → Similar Triangles: SSS and SAS Similarity → Proportions in Similar Triangles → Right Triangle Trigonometry Introduction → Sine, Cosine, and Tangent Ratios → Trigonometric Ratios Review → Radian Measure → Converting Between Degrees and Radians → The Unit Circle → Graphing Sine and Cosine → Graphing Tangent and Reciprocal Trigonometric Functions → Derivatives of Trigonometric Functions → Antiderivatives → Indefinite Integrals → Basic Integration Rules → Riemann Sums → Definite Integral Definition → Probability Density Functions and Continuous Distributions → Cumulative Distribution Functions → Continuous Random Variables → Probability Density Functions → Expected Value → Weak Law of Large Numbers → Probability Axioms and Rules → Conditional Probability → Probabilistic Computation and BPP → BPP and Randomized Complexity → Randomized Complexity: RP, co-RP, and ZPP → Complexity Classes and the Complexity Hierarchy → The P Versus NP Problem: Central Open Question → NP-Hardness: Definition and Properties → NP-Completeness and the Cook-Levin Theorem → Satisfiability Problem: The Canonical NP-Complete Problem → 3-SAT and Reduction-Based Hardness Proofs

Longest path: 102 steps · 700 total prerequisite topics

Prerequisites (1)

Leads To (1)