Introduction to Oracles in Complexity Theory DeVon
Description: Introduction to Oracles in Complexity Theory DeVon Ingram What is Complexity Theory? Study of the amount of resources needed to solve problems How much time? Space? Randomness? Quantumness? Started in the 1960s when Hartmanis and Stearns
Related Topics
Download Presentation
"Introduction to Oracles in Complexity Theory DeVon" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Presentation Transcript
slide1. Introduction to Oracles in Complexity Theory DeVon Ingram<br>
slide2. What is Complexity Theory? Study of the amount of resources needed to solve problems
How much time? Space? Randomness? Quantumness?
Started in the 1960s when Hartmanis and Stearns had the idea to measure time and space as a function of length of the input to a Turing Machine<br>
slide3. Complexity Classes A complexity class is a set of problems that can all be solved with a specified amount of resources
P is the class of problems that can be solved in polynomial time
NP is the class of problems whose solutions can be verified in polynomial time<br>
slide4. Goal of Complexity Theory Classify problems into natural classes and completely establish the relationships between the aforementioned classes
This goal is quite difficult, so complexity
theorists find easier models to yield insight
on how to solve problems for Turing
machines<br>
slide5. Diagonalization Proof technique useful for proving a set is uncountable
In complexity theory, this amounts to exhibiting a machine in one class that differs from every machine in the other class
i.e. their answers are different on at least one input
Can use to prove that P=/=NP implies there are NP-Intermediate problems<br>
slide6. Time Hierarchy Theorem Definition: A function f is time-constructible if there exists a positive integer n_0 and a Turing Machine M which, given a string 1^n, stops after exactly f(n) steps for all n > n_0
Equivalent to f(|x|) can be computed in O(f(n)) time
Theorem: If f,g are time constructible functions satisfying f(n)log(f(n))=o(g(n)), then DTIME(f(n))\subset DTIME(g(n))<br>
slide7. Proof Sketch of the Time Hierarchy Theorem We will prove that DTIME(n) is strictly contained in DTIME(n^1.5) to showcase the main idea
Let D be a Turing Machine that runs input x for |x|^1.4 steps on a universal Turing Machine. If U outputs a bit b, return 1-b. Otherwise, output 0 (in the case U doesn’t halt in time)
D halts in time n^1.4, so the language decided by D is contained in DTIME(n^1.5)
The language is not contained in DTIME(n) because D(x) obtains the output b from a polynomial-time TM M, and satisfies D(x)=1-b=/=M(x) by definition<br>
slide8. Other Hierarchy Theorems There is a nondeterministic analog of the Time Hierarchy theorem which is proven by a modification of diagonalization called lazy diagonalization
Hierarchy theorems for deterministic/nondeterministic space are true as well<br>
slide9. A Step Towards Complexity Theoretic Goals Complexity Theorists are commonly concerned with understanding the limits of proof techniques
We would like to understand the limits of diagonalization
Later on, we will see that P vs. NP cannot be resolved by diagonalization among many other famous problems in complexity theory<br>
slide10. Understanding Diagonalization Define diagonalization to be any technique that relies solely on the following properties of Turing Machines:
The existence of an effective representation Turing Machine by strings
The ability of one Turing Machine any other without much overhead in running time
Based on definition above, this technique treats Turing Machines as a black box, its internal workings do not matter
We can define a machine, which is called an oracle machine, that satisfies these two properties<br>
slide11. Oracles Definition: An oracle Turing Machine is a Turing Machine M that has a special read-write tape we call M’s oracle tape. To execute M, we specify in addition to the input a subset of {0,1}^*, which is called O and is used as the oracle for M.
Whenever a string is written down an oracle tape, it is replaced with a 0 or 1 in one step, which represents whether a string is contained in O.<br>
slide12. Some Easy Examples UNSAT is in P^SAT
Let O be in P, then P^O=P<br>
slide13. Baker Gill Solovay Theorem Theorem: There exists oracles A,B such that P^A=NP^A and P^B=/=NP^B.
In other words, whichever of P=NP or P=/=NP is true; it cannot relativize
Nonrelativizing techniques are needed to settle P vs. NP<br>
slide14. Construction of A Claim: Let A = {<M,x,1^n>: M outputs 1 on input x within 2^n steps}. Then, P^A=NP^A=EXP.
Proof: EXP is contained in P^A since you can use the oracle to query any exponential time computation in one step. Since P is contained in NP, P^A is contained in NP^A. NP^A is contained in EXP since an EXP machine can simulate the oracle in exponential time and can enumerate all nondeterministic choices of an NP machine in exponential time.<br>
slide15. Construction of B Let U_B = {1^n: some string of length n is contained in B}. For every language B, U_B is contained in NP (why?). We must construct an oracle B such that U_B is not contained in P^B.
Let M_i be the oracle TM represented by the binary expansion of i. We construct B in stages, where stage I ensures that M_i^B does not contain U_B in 2^n/10 times (the 10 isn’t very significant).
Initially, B is empty and we add strings to it.<br>
slide16. Construction of B (cont.) At stage i, we have declared whether a finite number of strings are in B. Choose n large enough so that it exceeds the length of any string and run M_i on input 1^n for 2^n/10 steps.
Whenever M_i queries strings whose status is undetermined, return the correct answer.
When M_i queries strings whose status is undetermined, we declare that the string is not in B.
We now want to ensure that after M_i finishes running on input 1^n, it returns an incorrect answer.<br>
slide17. Construction of B (cont.) Note that at most 2^n/10 strings in {0,1}^n are currently contained in B, and all of them were decided not to be in B
If M_i accepts 1^n, declare that all remaining strings of length n are not contained in B
If M_i rejects 1^n, pick any string x of length n that M_i has not queried and declare it to be contained in B
Since every polynomial p(n) is smaller than 2^n/10 for large enough n, and every Turing Machine M is represented by infinitely many strings, M cannot decide U_B<br>
slide18. The Inspiration of Relativization The idea of relativization came from independence results
Logical statements such as the Axiom of Choice and the Continuum Hypothesis are independent of ZFC, for example
If a statement does not relativize, it’s analogous to a type of independence result in complexity theory
Arora, Impagliazzo, and Vazirani provide an axiomatic characterization of when statements relativize<br>
slide19. Applications of Oracles Used as a measure of how difficult settling a problem will be
Can rewrite the definition of Polynomial Hierarchy in terms of Oracles: PH= NP^NP^….
Used to exhibit evidence of quantum computers performing better than classical computers<br>
slide20. Algebrization IP = PSPACE was one of the first examples of a result settled using nonrelativizing techniques (arithmetization)
Algebrization is a new barrier that captures the power of arithmetization as well by finitely extending an oracle to a finite field, defined by Scott Aaronson and Avi Widgerson
P=NP and P=/=NP both do not“algebrize”, so non-algebrizing techniques are needed to settle P vs. NP
IP=PSPACE algebrizes (as expected)<br>
slide21. Random Oracles A random oracle is an oracle O where each binary string in {0,1}* is contained in O with probability 1/2
If we pick a random oracle, a complexity class relation can hold relative to the random oracle with probability 0 or 1
Have applications to Cryptography: used as an ideal replacement for cryptographic hash functions in schemes where strong randomness assumptions are needed of the hash function’s output<br>
slide22. Random Oracle Results Random Oracles provide another source of evidence that a result holds true, but it still isn’t perfect
IP=/=PSPACE w.p. 1 is the classic counterexample to the Random Oracle Hypothesis
PH doesn’t collapse relative to a random oracle w.p. 1<br>
slide23. BQP vs. PH Longstanding open problem
Ran Raz and Avishay Tal recently exhibited an oracle O such that BQP^O is not contained in PH^O
PH is infinite with respect to this oracle
Heart of proof is due to a new circuit lower bound against a certain class of circuits called AC0, circuits with constant depth and unlimited fan-in
Results can be extended to construct an oracle B such that P^B=NP^B=/=BQP^B<br>
slide24. Sources http://people.cs.uchicago.edu/~fortnow/papers/relative.pdf
https://people.cs.uchicago.edu/~fortnow/papers/history.pdf
http://theory.cs.princeton.edu/complexity/book.pdf
https://en.wikipedia.org/wiki/Constructible_function#Time-constructible_definitions
http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/SCOTT/alg.pdf
https://en.wikipedia.org/wiki/Random_oracle
https://eccc.weizmann.ac.il/report/2018/107/<br>
slide2. What is Complexity Theory? Study of the amount of resources needed to solve problems
How much time? Space? Randomness? Quantumness?
Started in the 1960s when Hartmanis and Stearns had the idea to measure time and space as a function of length of the input to a Turing Machine<br>
slide3. Complexity Classes A complexity class is a set of problems that can all be solved with a specified amount of resources
P is the class of problems that can be solved in polynomial time
NP is the class of problems whose solutions can be verified in polynomial time<br>
slide4. Goal of Complexity Theory Classify problems into natural classes and completely establish the relationships between the aforementioned classes
This goal is quite difficult, so complexity
theorists find easier models to yield insight
on how to solve problems for Turing
machines<br>
slide5. Diagonalization Proof technique useful for proving a set is uncountable
In complexity theory, this amounts to exhibiting a machine in one class that differs from every machine in the other class
i.e. their answers are different on at least one input
Can use to prove that P=/=NP implies there are NP-Intermediate problems<br>
slide6. Time Hierarchy Theorem Definition: A function f is time-constructible if there exists a positive integer n_0 and a Turing Machine M which, given a string 1^n, stops after exactly f(n) steps for all n > n_0
Equivalent to f(|x|) can be computed in O(f(n)) time
Theorem: If f,g are time constructible functions satisfying f(n)log(f(n))=o(g(n)), then DTIME(f(n))\subset DTIME(g(n))<br>
slide7. Proof Sketch of the Time Hierarchy Theorem We will prove that DTIME(n) is strictly contained in DTIME(n^1.5) to showcase the main idea
Let D be a Turing Machine that runs input x for |x|^1.4 steps on a universal Turing Machine. If U outputs a bit b, return 1-b. Otherwise, output 0 (in the case U doesn’t halt in time)
D halts in time n^1.4, so the language decided by D is contained in DTIME(n^1.5)
The language is not contained in DTIME(n) because D(x) obtains the output b from a polynomial-time TM M, and satisfies D(x)=1-b=/=M(x) by definition<br>
slide8. Other Hierarchy Theorems There is a nondeterministic analog of the Time Hierarchy theorem which is proven by a modification of diagonalization called lazy diagonalization
Hierarchy theorems for deterministic/nondeterministic space are true as well<br>
slide9. A Step Towards Complexity Theoretic Goals Complexity Theorists are commonly concerned with understanding the limits of proof techniques
We would like to understand the limits of diagonalization
Later on, we will see that P vs. NP cannot be resolved by diagonalization among many other famous problems in complexity theory<br>
slide10. Understanding Diagonalization Define diagonalization to be any technique that relies solely on the following properties of Turing Machines:
The existence of an effective representation Turing Machine by strings
The ability of one Turing Machine any other without much overhead in running time
Based on definition above, this technique treats Turing Machines as a black box, its internal workings do not matter
We can define a machine, which is called an oracle machine, that satisfies these two properties<br>
slide11. Oracles Definition: An oracle Turing Machine is a Turing Machine M that has a special read-write tape we call M’s oracle tape. To execute M, we specify in addition to the input a subset of {0,1}^*, which is called O and is used as the oracle for M.
Whenever a string is written down an oracle tape, it is replaced with a 0 or 1 in one step, which represents whether a string is contained in O.<br>
slide12. Some Easy Examples UNSAT is in P^SAT
Let O be in P, then P^O=P<br>
slide13. Baker Gill Solovay Theorem Theorem: There exists oracles A,B such that P^A=NP^A and P^B=/=NP^B.
In other words, whichever of P=NP or P=/=NP is true; it cannot relativize
Nonrelativizing techniques are needed to settle P vs. NP<br>
slide14. Construction of A Claim: Let A = {<M,x,1^n>: M outputs 1 on input x within 2^n steps}. Then, P^A=NP^A=EXP.
Proof: EXP is contained in P^A since you can use the oracle to query any exponential time computation in one step. Since P is contained in NP, P^A is contained in NP^A. NP^A is contained in EXP since an EXP machine can simulate the oracle in exponential time and can enumerate all nondeterministic choices of an NP machine in exponential time.<br>
slide15. Construction of B Let U_B = {1^n: some string of length n is contained in B}. For every language B, U_B is contained in NP (why?). We must construct an oracle B such that U_B is not contained in P^B.
Let M_i be the oracle TM represented by the binary expansion of i. We construct B in stages, where stage I ensures that M_i^B does not contain U_B in 2^n/10 times (the 10 isn’t very significant).
Initially, B is empty and we add strings to it.<br>
slide16. Construction of B (cont.) At stage i, we have declared whether a finite number of strings are in B. Choose n large enough so that it exceeds the length of any string and run M_i on input 1^n for 2^n/10 steps.
Whenever M_i queries strings whose status is undetermined, return the correct answer.
When M_i queries strings whose status is undetermined, we declare that the string is not in B.
We now want to ensure that after M_i finishes running on input 1^n, it returns an incorrect answer.<br>
slide17. Construction of B (cont.) Note that at most 2^n/10 strings in {0,1}^n are currently contained in B, and all of them were decided not to be in B
If M_i accepts 1^n, declare that all remaining strings of length n are not contained in B
If M_i rejects 1^n, pick any string x of length n that M_i has not queried and declare it to be contained in B
Since every polynomial p(n) is smaller than 2^n/10 for large enough n, and every Turing Machine M is represented by infinitely many strings, M cannot decide U_B<br>
slide18. The Inspiration of Relativization The idea of relativization came from independence results
Logical statements such as the Axiom of Choice and the Continuum Hypothesis are independent of ZFC, for example
If a statement does not relativize, it’s analogous to a type of independence result in complexity theory
Arora, Impagliazzo, and Vazirani provide an axiomatic characterization of when statements relativize<br>
slide19. Applications of Oracles Used as a measure of how difficult settling a problem will be
Can rewrite the definition of Polynomial Hierarchy in terms of Oracles: PH= NP^NP^….
Used to exhibit evidence of quantum computers performing better than classical computers<br>
slide20. Algebrization IP = PSPACE was one of the first examples of a result settled using nonrelativizing techniques (arithmetization)
Algebrization is a new barrier that captures the power of arithmetization as well by finitely extending an oracle to a finite field, defined by Scott Aaronson and Avi Widgerson
P=NP and P=/=NP both do not“algebrize”, so non-algebrizing techniques are needed to settle P vs. NP
IP=PSPACE algebrizes (as expected)<br>
slide21. Random Oracles A random oracle is an oracle O where each binary string in {0,1}* is contained in O with probability 1/2
If we pick a random oracle, a complexity class relation can hold relative to the random oracle with probability 0 or 1
Have applications to Cryptography: used as an ideal replacement for cryptographic hash functions in schemes where strong randomness assumptions are needed of the hash function’s output<br>
slide22. Random Oracle Results Random Oracles provide another source of evidence that a result holds true, but it still isn’t perfect
IP=/=PSPACE w.p. 1 is the classic counterexample to the Random Oracle Hypothesis
PH doesn’t collapse relative to a random oracle w.p. 1<br>
slide23. BQP vs. PH Longstanding open problem
Ran Raz and Avishay Tal recently exhibited an oracle O such that BQP^O is not contained in PH^O
PH is infinite with respect to this oracle
Heart of proof is due to a new circuit lower bound against a certain class of circuits called AC0, circuits with constant depth and unlimited fan-in
Results can be extended to construct an oracle B such that P^B=NP^B=/=BQP^B<br>
slide24. Sources http://people.cs.uchicago.edu/~fortnow/papers/relative.pdf
https://people.cs.uchicago.edu/~fortnow/papers/history.pdf
http://theory.cs.princeton.edu/complexity/book.pdf
https://en.wikipedia.org/wiki/Constructible_function#Time-constructible_definitions
http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/SCOTT/alg.pdf
https://en.wikipedia.org/wiki/Random_oracle
https://eccc.weizmann.ac.il/report/2018/107/<br>