🖨️ Printing Instructions: Press Ctrl/Cmd + P and select "Save as PDF".
1

Reductions and NP-Completeness

2

Learning Goals

3

Complexity Classes: P and NP

4

Decision Problems

5

Class P

6

Class NP (Intuitive Definition)

7

NP Example: Clique

8

P vs NP

9

Polynomial-Time Reductions

10

The Core Idea

11

Reduction: Step by Step

12

Why Direction Matters

13

NP-Hardness and NP-Completeness

14

NP-Hard

15

NP-Complete (NPC)

16

The Key Consequence

17

The First NPC Problem: Cook-Levin Theorem

18

The Bootstrapping Problem

19

SAT (Boolean Satisfiability)

20

Cook-Levin Theorem

21

Why Cook-Levin Matters

22

The Recipe for Proving NP-Completeness

23

Two-Step Recipe

24

Choosing Which Problem to Reduce From

25

Classic NP-Complete Problems: Precise Definitions

26

3-SAT

27

Clique

28

3-SAT → Clique Reduction

29

Independent Set

30

Vertex Cover

31

Hamiltonian Cycle

32

Traveling Salesperson Problem (TSP)

33

HamCycle → TSP Reduction

34

Graph Coloring (3-Coloring)

35

Subset Sum

36

0/1 Knapsack (Decision Version)

37

The Reduction Chain

38

How Classic NPC Proofs Connect

39

Interactive Demonstrations

40

Reduction Visualizer

41

Practice Problems

42

Problem 1: Is 2-SAT NP-Complete?

43

Problem 2: HamCycle → TSP Reduction

44

Problem 3: Is the Halting Problem NP-Complete?

45

Problem 4: Reduction Direction Check

46

Common Mistakes

47

Pitfalls to Avoid

48

Summary

49

Key Takeaways

50

Supplementary Resources