User:Wim van Dam
From Wikipedia, the free encyclopedia
[edit] About this page
This is my personal page, which I will use mostly as a sandbox. To get some proper information about me, go to my home page at UC Santa Barbara. This is very much my sandbox.
[edit] Sandbox on Reductions in Complexity Theory
In complexity theory reductions between problems play an important role, as they allow us talk about the relative hardness of problems. When there is a reduction from A to B such that B is at least as hard as A, we denote this by a no greater than symbol between A and B with a subscript indicating the specific reduction that is used. Here are the three most relevant ones.
- Turing or Cook reduction, if there exists a polytime deterministic algorithm that decides for each possible x whether or not using queries to an oracle for the problem B.
- truth table reduction if there exist a polytime deterministic algorithm that decides membership of A using non-adaptive queries to the oracle for B.
- or Karp or many one reduction, if there exists a polytime computable function F such that for all x it holds that if and only if .
Some examples of the difference between these reductions are:
- Although the traveling salesman problem sits in , finding the exact length has to be done adaptively (most likely), hence random decision problems about the shortest length does not sit in , although it Turing reduces to it, hence such problems sit in in the complexity class .
In general .
- Consider the decision problem "Given two Boolean formulas, determine whether or not exactly one of them is satisfiable." This requires two non-adaptive queries, hence this problem sits in , but it does not sit in or in - as far as we know (the indicates the pararallelness of the queries).
- The fact that SAT is -complete means that for all we have .