Lecture 02: Time and Space Hierarchies 1 Introduction
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Hierarchy Theorems
Hierarchy Theorems Peter Mayr Computability Theory, April 14, 2021 So far we proved the following inclusions: L ⊆ NL ⊆ P ⊆ NP ⊆ PSPACE ⊆ EXPTIME ⊆ EXPSPACE Question Which are proper? Space constructible functions In simulations we often want to fix s(n) space on the working tape before starting the actual computation without accruing any overhead in space complexity. Definition s(n) ≥ log(n) is space constructible if there exists N 2 N and a DTM with input tape that on any input of length n ≥ N uses and marks off s(n) cells on its working tape and halts. Note Equivalently, s(n) is space constructible iff there exists a DTM with input and output that on input 1n computes s(n) in space O(s(n)). Example log n; nk ; 2n are space constructible. E.g. log2 n space is constructed by counting the length n of the input in binary. Little o-notation Definition + For f ; g : N ! R we say f = o(g) (read f is little-o of g) if f (n) lim = 0: n!1 g(n) Intuitively: g grows much faster than f . Note I f = o(g) ) f = O(g), but not conversely. I f 6= o(f ) Separating space complexity classes Space Hierarchy Theorem Let s(n) be space constructible and r(n) = o(s(n)). Then DSPACE(r(n)) ( DSPACE(s(n)). Proof. Construct L 2 DSPACE(s(n))nDSPACE(r(n)) by diagonalization. Define DTM D such that on input x of length n: 1. D marks s(n) space on working tape. -
Sustained Space Complexity
Sustained Space Complexity Jo¨elAlwen1;3, Jeremiah Blocki2, and Krzysztof Pietrzak1 1 IST Austria 2 Purdue University 3 Wickr Inc. Abstract. Memory-hard functions (MHF) are functions whose eval- uation cost is dominated by memory cost. MHFs are egalitarian, in the sense that evaluating them on dedicated hardware (like FPGAs or ASICs) is not much cheaper than on off-the-shelf hardware (like x86 CPUs). MHFs have interesting cryptographic applications, most notably to password hashing and securing blockchains. Alwen and Serbinenko [STOC'15] define the cumulative memory com- plexity (cmc) of a function as the sum (over all time-steps) of the amount of memory required to compute the function. They advocate that a good MHF must have high cmc. Unlike previous notions, cmc takes into ac- count that dedicated hardware might exploit amortization and paral- lelism. Still, cmc has been critizised as insufficient, as it fails to capture possible time-memory trade-offs; as memory cost doesn't scale linearly, functions with the same cmc could still have very different actual hard- ware cost. In this work we address this problem, and introduce the notion of sustained- memory complexity, which requires that any algorithm evaluating the function must use a large amount of memory for many steps. We con- struct functions (in the parallel random oracle model) whose sustained- memory complexity is almost optimal: our function can be evaluated using n steps and O(n= log(n)) memory, in each step making one query to the (fixed-input length) random oracle, while any algorithm that can make arbitrary many parallel queries to the random oracle, still needs Ω(n= log(n)) memory for Ω(n) steps. -
Complexity Theory
Complexity Theory Course Notes Sebastiaan A. Terwijn Radboud University Nijmegen Department of Mathematics P.O. Box 9010 6500 GL Nijmegen the Netherlands [email protected] Copyright c 2010 by Sebastiaan A. Terwijn Version: December 2017 ii Contents 1 Introduction 1 1.1 Complexity theory . .1 1.2 Preliminaries . .1 1.3 Turing machines . .2 1.4 Big O and small o .........................3 1.5 Logic . .3 1.6 Number theory . .4 1.7 Exercises . .5 2 Basics 6 2.1 Time and space bounds . .6 2.2 Inclusions between classes . .7 2.3 Hierarchy theorems . .8 2.4 Central complexity classes . 10 2.5 Problems from logic, algebra, and graph theory . 11 2.6 The Immerman-Szelepcs´enyi Theorem . 12 2.7 Exercises . 14 3 Reductions and completeness 16 3.1 Many-one reductions . 16 3.2 NP-complete problems . 18 3.3 More decision problems from logic . 19 3.4 Completeness of Hamilton path and TSP . 22 3.5 Exercises . 24 4 Relativized computation and the polynomial hierarchy 27 4.1 Relativized computation . 27 4.2 The Polynomial Hierarchy . 28 4.3 Relativization . 31 4.4 Exercises . 32 iii 5 Diagonalization 34 5.1 The Halting Problem . 34 5.2 Intermediate sets . 34 5.3 Oracle separations . 36 5.4 Many-one versus Turing reductions . 38 5.5 Sparse sets . 38 5.6 The Gap Theorem . 40 5.7 The Speed-Up Theorem . 41 5.8 Exercises . 43 6 Randomized computation 45 6.1 Probabilistic classes . 45 6.2 More about BPP . 48 6.3 The classes RP and ZPP . -
Lecture 10: Space Complexity III
Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Lecture 10: Space Complexity III Arijit Bishnu 27.03.2010 Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Outline 1 Space Complexity Classes: NL and L 2 Reductions 3 NL-completeness 4 The Relation between NL and coNL 5 A Relation Among the Complexity Classes Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Outline 1 Space Complexity Classes: NL and L 2 Reductions 3 NL-completeness 4 The Relation between NL and coNL 5 A Relation Among the Complexity Classes Definition for Recapitulation S c NPSPACE = c>0 NSPACE(n ). The class NPSPACE is an analog of the class NP. Definition L = SPACE(log n). Definition NL = NSPACE(log n). Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Space Complexity Classes Definition for Recapitulation S c PSPACE = c>0 SPACE(n ). The class PSPACE is an analog of the class P. Definition L = SPACE(log n). Definition NL = NSPACE(log n). Space Complexity Classes: NL and L Reductions NL-completeness The Relation between NL and coNL A Relation Among the Complexity Classes Space Complexity Classes Definition for Recapitulation S c PSPACE = c>0 SPACE(n ). The class PSPACE is an analog of the class P. Definition for Recapitulation S c NPSPACE = c>0 NSPACE(n ). -
CSE200 Lecture Notes – Space Complexity
CSE200 Lecture Notes – Space Complexity Lecture by Russell Impagliazzo Notes by Jiawei Gao February 23, 2016 Motivations for space-bounded computation: Memory is an important resource. • Space classes characterize the difficulty of important problems • Cautionary tale – sometimes, things don’t work out like we expected. • We adopt the following conventions: Input tape: read only, doesn’t count. • Output tape: (for functions) write only, doesn’t count. • Work tapes: read, write, counts. • Definition 1. SPACE(S(n)) (or DSPACE(S(n))) is the class of problems solvable by deterministic TM using O(S(n)) memory locations. NSPACE(S(n)) is the class of problems solvable by nondeterministic TM using O(S(n)) memory locations. co-NSPACE(S(n)) = L L NSPACE(S(n)) . f j 2 g Definition 2. S k PSPACE = k SPACE(n ) L = SPACE(log n) NL = NSPACE(log n) Why aren’t we interested in space complexity below logaritimic space? Because on inputs of length n, we need log space to keep track of memory addresses / tape positions. Similar as time complexity, there is a hierarchy theorem is space complexity. Theorem 3 (Space Hierarchy Theorem). If S1(n) and S2(n) are space-computable, and S1(n) = o(S2(n)), then SPACE(S1(n)) SPACE(S2(n)) The Space Hierarchy theorem( is “nicer” than the Time Hierarchy Theorem, because it just needs S1(n) = o(S2(n)), instead of a log factor in the Time Hierarchy Theorem. It’s proved by a straightforward diagonalization method. 1 CSE 200 Winter 2016 1 Space complexity vs. time complexity Definition 4. -
A Short History of Computational Complexity
The Computational Complexity Column by Lance FORTNOW NEC Laboratories America 4 Independence Way, Princeton, NJ 08540, USA [email protected] http://www.neci.nj.nec.com/homepages/fortnow/beatcs Every third year the Conference on Computational Complexity is held in Europe and this summer the University of Aarhus (Denmark) will host the meeting July 7-10. More details at the conference web page http://www.computationalcomplexity.org This month we present a historical view of computational complexity written by Steve Homer and myself. This is a preliminary version of a chapter to be included in an upcoming North-Holland Handbook of the History of Mathematical Logic edited by Dirk van Dalen, John Dawson and Aki Kanamori. A Short History of Computational Complexity Lance Fortnow1 Steve Homer2 NEC Research Institute Computer Science Department 4 Independence Way Boston University Princeton, NJ 08540 111 Cummington Street Boston, MA 02215 1 Introduction It all started with a machine. In 1936, Turing developed his theoretical com- putational model. He based his model on how he perceived mathematicians think. As digital computers were developed in the 40's and 50's, the Turing machine proved itself as the right theoretical model for computation. Quickly though we discovered that the basic Turing machine model fails to account for the amount of time or memory needed by a computer, a critical issue today but even more so in those early days of computing. The key idea to measure time and space as a function of the length of the input came in the early 1960's by Hartmanis and Stearns. -
Lecture 4: Space Complexity II: NL=Conl, Savitch's Theorem
COM S 6810 Theory of Computing January 29, 2009 Lecture 4: Space Complexity II Instructor: Rafael Pass Scribe: Shuang Zhao 1 Recall from last lecture Definition 1 (SPACE, NSPACE) SPACE(S(n)) := Languages decidable by some TM using S(n) space; NSPACE(S(n)) := Languages decidable by some NTM using S(n) space. Definition 2 (PSPACE, NPSPACE) [ [ PSPACE := SPACE(nc), NPSPACE := NSPACE(nc). c>1 c>1 Definition 3 (L, NL) L := SPACE(log n), NL := NSPACE(log n). Theorem 1 SPACE(S(n)) ⊆ NSPACE(S(n)) ⊆ DTIME 2 O(S(n)) . This immediately gives that N L ⊆ P. Theorem 2 STCONN is NL-complete. 2 Today’s lecture Theorem 3 N L ⊆ SPACE(log2 n), namely STCONN can be solved in O(log2 n) space. Proof. Recall the STCONN problem: given digraph (V, E) and s, t ∈ V , determine if there exists a path from s to t. 4-1 Define boolean function Reach(u, v, k) with u, v ∈ V and k ∈ Z+ as follows: if there exists a path from u to v with length smaller than or equal to k, then Reach(u, v, k) = 1; otherwise Reach(u, v, k) = 0. It is easy to verify that there exists a path from s to t iff Reach(s, t, |V |) = 1. Next we show that Reach(s, t, |V |) can be recursively computed in O(log2 n) space. For all u, v ∈ V and k ∈ Z+: • k = 1: Reach(u, v, k) = 1 iff (u, v) ∈ E; • k > 1: Reach(u, v, k) = 1 iff there exists w ∈ V such that Reach(u, w, dk/2e) = 1 and Reach(w, v, bk/2c) = 1. -
26 Space Complexity
CS:4330 Theory of Computation Spring 2018 Computability Theory Space Complexity Haniel Barbosa Readings for this lecture Chapter 8 of [Sipser 1996], 3rd edition. Sections 8.1, 8.2, and 8.3. Space Complexity B We now consider the complexity of computational problems in terms of the amount of space, or memory, they require B Time and space are two of the most important considerations when we seek practical solutions to most problems B Space complexity shares many of the features of time complexity B It serves a further way of classifying problems according to their computational difficulty 1 / 22 Space Complexity Definition Let M be a deterministic Turing machine, DTM, that halts on all inputs. The space complexity of M is the function f : N ! N, where f (n) is the maximum number of tape cells that M scans on any input of length n. Definition If M is a nondeterministic Turing machine, NTM, wherein all branches of its computation halt on all inputs, we define the space complexity of M, f (n), to be the maximum number of tape cells that M scans on any branch of its computation for any input of length n. 2 / 22 Estimation of space complexity Let f : N ! N be a function. The space complexity classes, SPACE(f (n)) and NSPACE(f (n)), are defined by: B SPACE(f (n)) = fL j L is a language decided by an O(f (n)) space DTMg B NSPACE(f (n)) = fL j L is a language decided by an O(f (n)) space NTMg 3 / 22 Example SAT can be solved with the linear space algorithm M1: M1 =“On input h'i, where ' is a Boolean formula: 1. -
Complexity Slides
Basics of Complexity “Complexity” = resources • time • space • ink • gates • energy Complexity is a function • Complexity = f (input size) • Value depends on: – problem encoding • adj. list vs. adj matrix – model of computation • Cray vs TM ~O(n3) difference TM time complexity Model: k-tape deterministic TM (for any k) DEF: M is T(n) time bounded iff for every n, for every input w of size n, M(w) halts within T(n) transitions. – T(n) means max {n+1, T(n)} (so every TM spends at least linear time). – worst case time measure – L recursive à for some function T, L is accepted by a T(n) time bounded TM. TM space complexity Model: “Offline” k-tape TM. read-only input tape k read/write work tapes initially blank DEF: M is S(n) space bounded iff for every n, for every input w of size n, M(w) halts having scanned at most S(n) work tape cells. – Can use less tHan linear space – If S(n) ≥ log n then wlog M halts – worst case measure Complexity Classes Dtime(T(n)) = {L | exists a deterministic T(n) time-bounded TM accepting L} Dspace(S(n)) = {L | exists a deterministic S(n) space-bounded TM accepting L} E.g., Dtime(n), Dtime(n2), Dtime(n3.7), Dtime(2n), Dspace(log n), Dspace(n), ... Linear Speedup THeorems “WHy constants don’t matter”: justifies O( ) If T(n) > linear*, tHen for every constant c > 0, Dtime(T(n)) = Dtime(cT(n)) For every constant c > 0, Dspace(S(n)) = Dspace(cS(n)) (Proof idea: to compress by factor of 100, use symbols tHat jam 100 symbols into 1. -
Space Complexity
ComputabilityandComplexity 18-1 ComputabilityandComplexity 18-2 MeasuringSpace Sofarwehavedefinedcomplexitymeasuresbasedonthetimeused bythealgorithm SpaceComplexity Nowweshalldoasimilaranalysisbasedonthespaceused IntheTuringMachinemodelofcomputationthisiseasytomeasure —justcountthenumberoftapecellsreadduringthecomputation Definition1 ThespacecomplexityofaTuringMachine Tisthe functionsuchthatSpaceT SpaceisthenumberofT (x ) distincttapecellsvisitedduringthecomputation T(x) ComputabilityandComplexity (Notethatif T(x)doesnothalt,thenisundefSpace T (x) ined.) AndreiBulatov ComputabilityandComplexity 18-3 ComputabilityandComplexity 18-4 Palindromes AnotherDefinition Considerthefollowing3-tapemachinedecidingifaninputstringisapalindrome •Thefirsttapecontainstheinputstringandisneveroverwritten ByDef.1,thespacecomplexityofthismachineisn •Themachineworksinstages.Onstage iitdoesthefollowing However,itseemstobefairtodefineitsspacecomplexityas log n -thesecondtapecontainsthebinaryrepresentationof i -themachinefindsandremembersthe i-thsymbolofthestringby (1)initializingthe3 rd string j =1 ;(2)if j< ithenincrement j; Definition2 Let TbeaTuringMachinewith2tapessuchthat (3)if j= ithenrememberthecurrentsymbolbyswitchingto thefirsttapecontainstheinputandneveroverwritten.The correspondentstate spacecomplexityof TisthefunctionsuchthatSpace T -inasimilarwaythemachinefindsthe i-thsymbolfromtheend isthenumberofSpace T (x) distinctcellsonthesecondtape ofthestring visitedduringthecomputation T(x) -ifthesymbolsareunequal,haltwith“no” •Ifthe i-thsymbolistheblanksymbol,haltwith“yes” -
Space Complexity Space Is a Computation Resource
Space Complexity Space is a computation resource. Unlike time it can be reused. Computational Complexity, by Fu Yuxi Space Complexity 1 / 43 Synopsis 1. Space Bounded Computation 2. Logspace Reduction 3. PSPACE Completeness 4. Savitch Theorem 5. NL Completeness 6. Immerman-Szelepcs´enyiTheorem Computational Complexity, by Fu Yuxi Space Complexity 2 / 43 Space Bounded Computation Computational Complexity, by Fu Yuxi Space Complexity 3 / 43 Space Bounded Computation Let S : N ! N and L ⊆ f0; 1g∗. We say that L 2 SPACE(S(n)) if there is some c and some TM deciding L that never uses more than cS(n) nonblank worktape locations on inputs of length n. Computational Complexity, by Fu Yuxi Space Complexity 4 / 43 Space Constructible Function Suppose S : N ! N and S(n) ≥ log(n). 1. S is space constructible if there is a Turing Machine that computes the function n 1 7! xS(n)y in O(S(n)) space. 2. S is space constructible if there is a Turing Machine that upon receiving 1n uses exactly S(n)-space. The second definition is slightly less general than the first. Computational Complexity, by Fu Yuxi Space Complexity 5 / 43 Space Bounded Computation, the Nondeterministic Case L 2 NSPACE(S(n)) if there is some c and some NDTM deciding L that never uses more than cS(n) nonblank worktape locations on inputs of length n, regardless of its nondeterministic choices. For space constructible function S(n) we could allow a machine in NSPACE(S(n)) to diverge and to use more than cS(n) space in unsuccessful computation paths. -
Complexity Theory
COMPLEXITY THEORY Lecture 13: Space Hierarchy and Gaps Markus Krotzsch¨ Knowledge-Based Systems TU Dresden, 5th Dec 2017 Review Markus Krötzsch, 5th Dec 2017 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 2 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) 2 o(f (n)), then 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, 5th Dec 2017 Complexity Theory slide 3 of 19 A Hierarchy for Space Markus Krötzsch, 5th Dec 2017 Complexity Theory slide 4 of 19 Space Hierarchy For space, we can always assume a single working tape: • Tape reduction leads to a constant-factor increase in space • Constant factors can be eliminated by space compression Therefore, DSpacek(f ) = DSpace1(f ). 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- constructible, and g 2 o(f ), then DSpace(g) ( DSpace(f ) Challenge: TMs can run forever even within bounded space. Markus Krötzsch, 5th Dec 2017 Complexity Theory slide 5 of 19 Proof: Again, we construct a diagonalisation machine D. We define a multi-tape TM D for inputs of the form hM, wi (other cases do not matter), assuming that jhM, wij = n • Compute f (n) in unary to mark the available space on the working tape • Initialise