A proof with oracles exploits the following two facts about Turing Machines (TMs): 1) there exist effective representations of TMs as strings, and 2) a TM can simulate other TMs taking their representation as input. Any argument that only relies on these two facts about TMs treats them as black boxes. This post tries to collect some results with interesting oracle proofs that sketches the proof ideas.\newcommand{\P}{{\sf P}} \newcommand{\NP}{{\sf NP}} \newcommand{\PSPACE}{{\sf PSPACE}} \newcommand{\EXPTIME}{{\sf EXPTIME}}
Diagonalization. Any proof exploiting diagonalization proof techniques to prove properties of TMs is a proof with oracles. A well-known application of this proof techniques is to show that the Halting problem is undecidable. That is, generally, no TM can determine whether a TM will halt on a string. The key factors leading to this result are precisely the two facts stated earlier: any TM can be represented as a string, and a TM can simulate another TM based on its string representation. To see that the Halting problem is undecidable, suppose to the contrary that we can decide whether M halts on x for any M and x. (It is a convention to regard M(x) as diverging if M is not a valid TM.) Define a TM N such that N(M) halts if M(M) diverges, and N(M) loops if M(M) halts. After some speculation, one can see that it is impossible to determine whether N(N) halts, contradicting to our assumption.
Fixed-Point Theorem. Two TMs A and B are called semantically equivalent, denoted by A\simeq B, iff A(x)=B(x) for any string x (set M(x):=\nearrow if a TM M diverges on x). We claim that if f is a TM mapping TMs to TMs, then f has a fixed point, i.e., there exists a TM M such that f(M)\simeq M. The key to prove this claim is to consider a special TM G(M):=M(M). More precisely, given string M, G(M) is a TM that loops on any input when M(M) is not a valid TM, and produces M(M)(x) on input x otherwise. Somehow we guess that a fixed point occurs at G(N) for some TM N. Writing down the equation f(G(N))\simeq G(N)\simeq N(N) with unknown N, one finds that N:=f\circ G is a solution and thus G(f\circ G) is a fixed point of f. By using integers as an encoding of TMs and taking the convention that M(x):=\nearrow on all x when M is not a valid TM, we obtain Rogers' Fixed-Point Theorem: Any total computable function has a fixed point.
P vs NP. A canonical example used to show the power of proofs with oracles is to show that the \P vs \NP problem doesn't relativize. That is, there exist oracles A and B such that a) \P^A=\NP^A and b) \P^B\neq \NP^B. First, note that any C oracle such that \NP \subseteq C and C=\texttt{co}C can serve as A. For example, C can be \PSPACE or \EXPTIME. For such C, C\subseteq \P^A\subseteq \NP^A clearly holds. Further, \NP^A\subseteq C holds as any machine in \NP can be simulated in C and any query to A can be answered in C. To prove (b), we will construct an oracle B such that language L_B:=\{1^n: B accepts a string of length n\} locates in \NP^B \setminus \P^B. To force L_B \not\in \P^B, we consider all oracle machines in \P by labelling them as M_1, M_2,.... We hope that by the construction of B, there exists an integer n_i for each M_i such that M_i^B accepts 1^{n_i} iff 1^{n_i} \not\in L_B. This will then imply L_B \not\in \P^B. The fact that L_B \in \NP^B is clear, as \NP^B can guess a string of size n in B by making at most n non-deterministic queries to B.
Let B_0=\emptyset and n_0=0. For each i\ge 1, we shall construct B_i as follows. Let n_i>n_{i-1} be any number larger than the maximal length of strings in B_{i-1}. Now simulate M_i^{B_{i-1}} on 1^{n_i} for at most 2^{n_i}/3 computation steps. If M_i^{B_{i-1}} accepts 1^{n_i}, then we set B_i:=B_{i-1}, which implies 1^{n_i}\not\in L_{B_i}. If M_i^{B_{i-1}} rejects 1^{n_i}, then there exists a string s of length n_i not queried by M_i^{B_{i-1}}. Define B_i:=B_{i-1}\cup\{s\}, which implies 1^{n_i} \in L_{B_i}. Hence, by construction, M_i^{B_{i-1}} cannot decide the membership of 1^{n_i} in L_{B_i} within 2^{n_i}/3 steps. Define B:=\bigcup_i B_i. Observe that B_i\nearrow B and L_{B_i}\nearrow L_B. Also, for any string x, M^B(x)=M^{B_{i}}(x) as long as M^B(x) terminates in 2^{n_i}/3 steps. Note that every TM M has infinitely many TMs that i) are semantically equivalent to M, ii) are of size arbitrarily larger than M, and iii) has the same running time as that of M. Since n_i\nearrow\infty as i\rightarrow\infty, for each oracle machine M in \P, there exists i such that M_i^B\simeq M^B and the running time of M_i^B on 1^{n_i} is less than 2^{n_i}/3. It follows that M^B accepts 1^{n_i} iff 1^{n_i} is not in L_B, i.e., M^B doesn't decide L_B. Hence, L_B is a language in \NP^B but not in \P^B.
No comments:
Post a Comment