COMPLEXITY THEORY Review Lecture 13: Space Hierarchy and Gaps

COMPLEXITY THEORY Review Lecture 13: Space Hierarchy and Gaps

COMPLEXITY THEORY Review Lecture 13: Space Hierarchy and Gaps Markus Krotzsch¨ Knowledge-Based Systems TU Dresden, 26th Dec 2018 Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 2 of 19 Review: Time Hierarchy Theorems Time Hierarchy Theorem 12.12 If f , g : N N are such that f is time- → constructible, and g log g o(f ), then · ∈ DTime (g) ( DTime (f ) ∗ ∗ Nondeterministic Time Hierarchy Theorem 12.14 If f , g : N N are such that f → is time-constructible, and g(n + 1) o(f (n)), then A Hierarchy for Space ∈ NTime (g) ( NTime (f ) ∗ ∗ In particular, we find that P , ExpTime and NP , NExpTime: , L NL P NP PSpace ExpTime NExpTime ExpSpace ⊆ ⊆ ⊆ ⊆ ⊆ ⊆ ⊆ , Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 3 of 19 Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 4 of 19 Space Hierarchy Proving the Space Hierarchy Theorem (1) Space Hierarchy Theorem 13.1: If f , g : N N are such that f is space- → constructible, and g o(f ), then For space, we can always assume a single working tape: ∈ Tape reduction leads to a constant-factor increase in space • DSpace(g) ( DSpace(f ) Constant factors can be eliminated by space compression • Proof: Again, we construct a diagonalisation machine . We define a multi-tape TM Therefore, DSpacek(f ) = DSpace1(f ). D D for inputs of the form , w (other cases do not matter), assuming that , w = n hM i |hM i| Compute f (n) in unary to mark the available space on the working tape Space turns out to be easier to separate – we get: • Space Hierarchy Theorem 13.1: If f , g : N N are such that f is space- Initialise a separate countdown tape with the largest binary number that can be → • constructible, and g o(f ), then written in f (n) space ∈ Simulate on , w , making sure that only previously marked tape cells are • M hM i DSpace(g) ( DSpace(f ) used Time-bound the simulation using the content of the countdown tape by • Challenge: TMs can run forever even within bounded space. decrementing the counter in each simulated step If rejects (in this space bound) or if the time bound is reached without • M M halting, then accept; otherwise, if accepts or uses unmarked space, reject M Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 5 of 19 Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 6 of 19 Proving the Space Hierarchy Theorem (1) Space Hierarchies Proof (continued): It remains to show that implements diagonalisation: D Like for time, we get some useful corollaries: L( ) DSpace(f ): D ∈ f is space-constructible, so both the marking of tape symbols and the initialisation Corollary 13.2: PSpace ( ExpSpace • of the counter are possible in DSpace(f ) Proof: As for time, but easier. The simulation is performed so that the marked O(f )-space is not left • There is w such that , w L( ) iff , w < L( ): ( hM i ∈ D hM i M Corollary 13.3: NL PSpace As for time, we argue that some w is long enough to ensure that f is sufficiently • Proof: Savitch tells us that NL DSpace(log2 n). We can apply the Space Hierachy larger than g, so ’s simulation can finish. ⊆ D Theorem since log2 n o(n). The countdown measures 2f (n) steps. The number of possible distinct • ∈ configurations of on w is Q n g(n) Γ g(n) 2O(g(n)+log n), and due to f (n) log n M | | · · · | | ∈ ≥ a and g o(f ), this number is smaller than 2f (n) for large enough n. Corollary 13.4: For all real numbers 0 < a < b, we have DSpace(n ) ( ∈ nb If has d tape symbols, then can encode each in log d space, and due to ’s DSpace( ). • M D M space bound ’s simulation needs at most log d g(n) o(f (n)) cells. D · ∈ In other words: The hierarchy of distinct space classes is very fine-grained. Therefore, there is w for which simulates long enough to obtain (and flip) its D M output, or to detect that it is not terminating (and to accept, flipping again). Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 7 of 19 Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 8 of 19 Why Constructibility? The hierarchy theorems require that resource limits are given by constructible functions Do we really need this? Yes. The following theorem shows why (for time): The Gap Theorem Special Gap Theorem 13.5: There is a computable function f : N N such that → DTime(f (n)) = DTime(2f (n)). This has been shown independently by Boris Trakhtenbrot (1964) and Allan Borodin (1972). Reminder: For this we continue to use the strict definition of DTime(f ) where no constant factors are included (no hiddden O(f )). This simplifes proofs; the factors are easy to add back. Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 9 of 19 Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 10 of 19 Proving the Gap Theorem Gaps in Time Special Gap Theorem 13.5: There is a computable function f : N N such that We consider an (effectively computable) enumeration of all Turing machines: → DTime(f (n)) = DTime(2f (n)). 0, 1, 2, ... Proof idea: We divide time into exponentially long intervals of the form: M M M n , , , , , n , n , 2n , 2n , 22 , Definition 13.6: For arbitrary numbers i a b 0 with a b, we say that [0 n] [n + 1 2 ] [2 + 1 2 ] [2 + 1 2 ] , ≥ ≤ ··· Gapi(a b) is true if: n Given any TM j with 0 j i, (for some appropriate starting value ) • M ≤ ≤ and any input string w for of length w = i, • j We are looking for gaps of time where no TM halts, since: M | | j on input w will halt in less than a steps, in more than b steps, or not at all. for every finte set of TMs, M • and every finite set of inputs to these TMs, • Lemma 13.7: Given i, a, b 0 with a b, it is decidable if Gap (a, b) holds. ≥ ≤ i there is some interval of the above form [m + 1, 2m] • Proof: We just need to ensure that none of the finitely many TMs , ... , will halt such none of the TMs halts in between m + 1 and 2m steps on any of the inputs. M0 Mi after a to b steps on any of the finitely many inputs of length i. This can be checked by The task of f is to find the start m of such a gap for a suitable set of TMs and words simulating TM runs for at most b steps. Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 11 of 19 Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 12 of 19 Find the Gap Properties of f We can now define the value f (n) of f for some n 0: ≥ We first establish some basic properties of our definition of f : Let in(n) denote the number of runs of TMs , ... , on words of length n, i.e., M0 Mn Claim: The function f is well-defined. in(n) = Σ n + + Σ n where Σ is the input alphabet of | 0| ··· | n| i Mi + ki Proof: For finding f (n), we consider in(n) 1 intervals. Since there are only in(n) runs of We recursively define a series of numbers k0, k1, k2, ... by setting k0 = 2n and ki+1 = 2 TMs , ... , at least one interval remains a “gap” where no TM run halts. for i 0, and we consider the following list of intervals: M0 Mn ≥ [k + 1, k ], [k + 1, k ], , [k + 1, k ] Claim: The function f is computable. 0 1 1 2 ··· in(n) in(n)+1 = = = , 2n 2n Proof: We can compute in(n) and ki for any i, and we can decide Gapn(ki + 1 ki+1). 2n · [2n + 1, 22n], [22n + 1, 22 ], , [2 ·· + 1, 22·· ] ··· · Papadimitriou: “notice the fantastically fast growth, as well as the decidedly unnatural definition of this function.” Let f (n) be the least number k with 0 i in(n) such that Gap (k + 1, k ) is true. i ≤ ≤ n i i+1 Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 13 of 19 Markus Krötzsch, 26th Dec 2018 Complexity Theory slide 14 of 19 Finishing the Proof Discussion: The case w < j | | We can now complete the proof of the theorem: Borodin says: It is meaningful to state complexity results if they hold for “almost every” input (i.e., for all but a finite number) Claim: DTime(f (n)) = DTime(2f (n)). Papadimitriou says: These words can be handled since we can check the length and Consider any L DTime(2f (n)). then recognise the word in less than 2j steps ∈ f (n) Then there is an 2 -time bounded TM j with L = L( j). M M Really? For any input w with w j: If we do these < 2j steps before running j, the modified TM runs in DTime(f (n) + 2j) | | ≥ • M The definition of f ( w ) took the run of on w into account This does not show L DTime(f (n)) • | | Mj • ∈ on w halts after less than f ( w ) steps, or not until after 2f ( w ) steps (maybe never) • j | | M f|(n)| A more detailed argument: Since j runs in time DTime(2 ), it must halt in DTime(f (n)) on w • M Make the intervals larger: [k + 1, 2ki+2n + 2n], that is k = 2ki+2n + 2n. • i i+1 For the finitely many inputs w with w < j: Select f (n) to be ki + 2n + 1 if the least gap starts at ki + 1.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us