Reductions and NP-completeness
도입됨
어휘
| English | 의미 |
|---|---|
| reduction/rɪˈdʌkʃn/ | A transformation relating the solution of one problem to the solution of another. |
| NP-completeness | The property of being in NP and at least as hard as every NP problem under polynomial-time reductions. |
English
One problem in another's clothes
- A reduction $A \le_p B$ is a polynomial translator turning $A$-instances into $B$-instances: a $B$-solver then solves $A$. NP-completeness = in NP + every NP problem reduces to it.

{exercise:uni-cs1006-reduction}
연습
A reduction A to B gives —
난이도 1/5 · 100코인 + 오늘 첫 완료 시 작은 보너스 추가
The translator maps A-instances to B-instances: solving B solves A.
English
The two-step hardness proof
- To prove $B$ NP-hard: pick a known NP-complete $A$, build a polynomial translator $A \to B$. The difficulty flows INTO your problem — you reduce the known hard problem TO yours.
- The course chain: SAT $\to$ 3-SAT (clause splitting), 3-SAT $\to$ CLIQUE (the triangle gadget), CLIQUE $\to$ VERTEX-COVER (complement the graph).
{exercise:uni-cs1006-hardness}
연습
To prove B NP-hard, reduce —
난이도 1/5 · 100코인 + 오늘 첫 완료 시 작은 보너스 추가
The difficulty flows into your problem: known-hard TO yours.
English
The direction is the content
- Clique-to-cover, concretely: $G$ = triangle ABC plus isolated D has a 3-clique; the complement's edges are exactly A–D, B–D, C–D, and {D} — size $n - k = 1$ — covers them all.
- Reducing YOUR problem to SAT proves nothing about hardness — the arrow points the easy way. And NP means verifiable in polynomial time; P sits inside NP.
{exercise:uni-cs1006-direction}
연습
Encoding your problem as SAT proves —
난이도 1/5 · 100코인 + 오늘 첫 완료 시 작은 보너스 추가
The arrow points the easy way: your problem reduces TO SAT.