LearnViz CompSci
Home / Learn / Theory & Discrete Math / Reductions

Intermediate Topic 32 of 51 Theory & Discrete Math

Reductions

Transforming one problem into another to compare difficulty.

How it works

A reduction transforms instances of one problem A into instances of another problem B so that solving B solves A. If A reduces to B, then B is at least as hard as A. In computability, mapping reductions prove undecidability: if a known undecidable problem reduces to B, then B is undecidable. In complexity, polynomial-time reductions prove NP-hardness: reducing an NP-complete problem to B shows B is at least as hard. Turing reductions allow multiple calls to a solver for B.

Step-by-step walkthrough

  1. To compare difficulty, convert A to B.
  2. The transformation maps inputs of A to inputs of B.
  3. A solver for B then solves A.
  4. So A is no harder than B.
  5. Reductions prove undecidability and NP-hardness.

Where it is used

Proving the hardness of new problems, such as reducing 3-SAT to clique or independent set, designing algorithms by converting one problem to a known one, and showing equivalence of problems use reductions.

Common pitfall

The direction is the common mistake: to show B is hard you reduce a known hard problem to B, not the other way around. The transformation must be correct in both directions, yes to yes and no to no, and must be efficient for complexity results. Verify with small instances and prove the correctness of both directions.

Where it fits in the course

Reductions is topic 32 of 51 in Theory & Discrete Math, rated Intermediate. It follows Halting Problem. The next topic is Rice's Theorem.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Theory & Discrete Math quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Reductions?
Transforming one problem into another to compare difficulty. It belongs to Theory & Discrete Math and is an intermediate-level topic.
Where do people use Reductions?
Proving the hardness of new problems, such as reducing 3-SAT to clique or independent set, designing algorithms by converting one problem to a known one, and showing equivalence of problems use reductions.
What is the most common mistake with Reductions?
The direction is the common mistake: to show B is hard you reduce a known hard problem to B, not the other way around.
What should I learn before this topic?
Start with Halting Problem, the topic just before it in Theory & Discrete Math.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Theory & Discrete Math quiz.
Is Reductions hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Reductions?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Reductions?
Halting Problem, Rice's Theorem, Decidability are closely connected. The full list is in the related topics section of this page.
What should I study after Reductions?
Continue with Rice's Theorem, the next topic in Theory & Discrete Math.

Related topics