Notes - Computational Complexity HT25, Turing reductions
Flashcards
Informally, what is an oracle Turing machine and how is oracle access for $L$ used?
- An oracle Turing machine has a write-only oracle tape in addition to its input tape and work tapes
- The TM can write a string $x$ to the oracle tape and then move into a query state $q _ ?$
- Then the TM either enters state $q _ \text{yes}$ or $q _ \text{no}$ depending on whether $x \in L$.
Suppose:
- $L _ 1, L _ 2$ are recursively enumerable languages
- $M$ is a TM with language $L _ 2$
@Define what it means for $L _ 1$ to Turing reduce to $L _ 2$, i.e. $L _ 1 \le _ T L _ 2$.
We can construct an oracle Turing machine $M’$ which solves $L _ 1$ using an oracle for $L _ 2$.
Suppose:
- $L _ 1, L _ 2$ are recursively enumerable languages
- $L _ 1 \le _ T L _ 2$
@State a result about decidability in this context.
If $L _ 2$ is decidable, then $L _ 1$ is decidable.
Give an @example to show that the property of being recursively enumerable is not preserved under Turing reducibility.
- $\overline{\mathsf{Accept _ TM} }$ is not RE (since if both this and $\mathsf{Accept _ TM}$ were then $\mathsf{Accept _ {TM} }$ would be decidable, which it is not).
- But $\overline{\mathsf{Accept _ TM} } \le _ T \mathsf{Accept _ {TM} }$ (since given an oracle to $\mathsf{Accept _ TM}$, just ask for membership and then take the complement).
Suppose:
- $L _ 1, L _ 2$ are recursively enumerable languages
- $M$ is a TM with language $L _ 2$
@Define what it means for $L _ 1$ to Turing reduce to $L _ 2$, i.e. $L _ 1 \le _ T^\text{poly} L _ 2$.
We can construct an oracle Turing machine $M’$ which solves $L _ 1$ in polynomial time using an oracle for $L _ 2$.
@Justify why $\mathsf{UNSAT} \le _ T^\text{poly} \mathsf{SAT}$.
A Turing machine with oracle access to $\mathsf{SAT}$ can ask whether $x \in \mathsf{SAT}$ and output the opposite answer.
@Justify why if $L’ \le _ T^\text{poly} L$ and $L \in \mathsf P$, then $L’ \in \mathsf P$.
If a Turing machine for $L’$ uses an oracle for a language in $\mathsf P$ polynomially many times, it might as well just compute membership itself in polynomial time. Since polynomials are closed under composition, it follows $L’ \in \mathsf P$.