Reductions in Algorithms

44 Views Asked by At

From what I currently understand about reductions,

If an algorithm A <= B, then we know that given an algorithm B, we can solve the algorithm A.

Based on this definition, in my notes, it states that A is therefore "easier" then B, and that A yields a lower bound for B.

Why is it the case that A is "easier" if we are technically using B, and thus A should be a more complex problem or a special case of B where more work can be done? And since we're using B, shouldn't B provide the lower bound for A instead of the other way around?

Thank you!

1

There are 1 best solutions below

5
On BEST ANSWER

Note that $A$ and $B$ are problems, not algorithms. The actual definition says that $A \leq B$ if we can use an algorithm that solves problem $B$ to solve problem $A$. (We also require that the translation that may be necessary to do so be "cheap.")

Suppose you have a program that solves CNF SAT in its more general form. You can certainly use that program to solve an instance of 2-SAT. Suppose you have an algorithm that solves 2-SAT. How would you use it to solve instances of CNF SAT in which clauses have more than 2 literals? Here CNF SAT is $B$ and 2-SAT is $A$. Clearly $A$ is easier than $B$.

Now consider 3-SAT. Once again, you can use your algorithm for CNF SAT to solve any instance of 3-SAT. Since 3-SAT is NP-complete, CNF SAT, which is easily seen to be in NP, is also NP-complete. (If CNF SAT could be solved in deterministic polynomial time, so would 3-SAT.) Therefore $A$ (3-SAT) has provided a lower bound for $B$ (CNF SAT).

Finally, if you have an algorithm for 3-SAT you can solve all instances of CNF SAT, though this time you may need some work to obtain an instance of 3-SAT whose answer will give you the answer to the instance of CNF SAT. The amount of work required is small, though (polynomial, to be precise) and so we conclude that CNF SAT is fundamentally no more difficult than 3-SAT.

Note that it is possible for $A \leq B$ and $B \leq A$ to both hold. Translating $A \leq B$ into "$A$ is easier than $B$" may initially be the cause of some discomfort, because in non-mathematical talk we think of "easier" as a strict inequality. After the initial discomfort, though, we begin to appreciate the conciseness.