Denition TIME(f(n)) TIME(f(n)) denotes the set of languages decided by deterministic TM of TIME complexity f(n) Denition SPACE(f(n)) denotes the set of languages decided by deterministic TM of SPACE complexity f(n) Denition NTIME(f(n)) denotes the set of languages decided by non-deterministic TM of TIME complexity f(n) Denition NSPACE(f(n)) denotes the set of languages decided by non-deterministic TM of SPACE complexity f(n)
Linear Speedup Theorem Theorem If L is recognised by machine M in time complexity f(n) then it can be recognised by a machine M' in time complexity f (n) = ɛf (n) + (1 + ɛ)n, where ɛ > 0.
Blum's theorem There exists a language for which there is no fastest algorithm! (Blum - a Turing Award laureate, 1995) Theorem There exists a language L such that if it is accepted by TM of time complexity f(n) then it is also accepted by some TM in time complexity log(f (n)).
Basic complexity classes (the functions are asymptic) P = j>0 TIME(nj ), the class of languages decided in deterministic polynomial time NP = j>0 NTIME(nj ), the class of languages decided in non-deterministic polynomial time EXP = j>0 TIME(2nj ), the class of languages decided in deterministic exponential time NEXP = j>0 NTIME(2nj ), the class of languages decided in non-deterministic exponential time
Space complexity classes L = SPACE(logn), the class of languages decided in deterministic logarithic space NL = NSPACE(logn), the class of languages decided in non-deterministic logarithic space PSPACE = j>0 SPACE(nj ), the class of languages decided in deterministic polynomial space NPSPACE = j>0 NSPACE(nj ), the class of languages decided in non-deterministic polynomial space EXPSPACE = j>0 SPACE(2nj ), the class of languages decided in deterministic exponential space NEXPSPACE = j>0 NSPACE(2nj ), the class of languages decided in non-deterministic exponential space
Basic relations among complexity classes (Connections between time, space and non-determinism) TIME(f (n)) NTIME(f (n))
Basic relations among complexity classes (Connections between time, space and non-determinism) TIME(f (n)) NTIME(f (n)), since each deterministic machine is also a non-deterministic one (by denition) SPACE(f (n)) NSPACE(f (n))
Basic relations among complexity classes (Connections between time, space and non-determinism) TIME(f (n)) NTIME(f (n)), since each deterministic machine is also a non-deterministic one (by denition) SPACE(f (n)) NSPACE(f (n))(as above) TIME(f (n)) SPACE(f (n))
Basic relations among complexity classes (Connections between time, space and non-determinism) TIME(f (n)) NTIME(f (n)), since each deterministic machine is also a non-deterministic one (by denition) SPACE(f (n)) NSPACE(f (n))(as above) TIME(f (n)) SPACE(f (n)) (no machine can write more memory cells than its working time) NTIME(f (n)) NSPACE(f (n))
Basic relations among complexity classes (Connections between time, space and non-determinism) TIME(f (n)) NTIME(f (n)), since each deterministic machine is also a non-deterministic one (by denition) SPACE(f (n)) NSPACE(f (n))(as above) TIME(f (n)) SPACE(f (n)) (no machine can write more memory cells than its working time) NTIME(f (n)) NSPACE(f (n)) (as above) NTIME(f (n)) TIME(c f (n) ) (by a theorem on simulating a non-deterministic machine by a deterministic one)
Gap Theorem and space-constructibility Let assume the following constraint on f(n) (f(n) is space-constructible): f (n) logn and there exists TM that, when receives n (in unary encoding) in input, uses exactly f(n) cells of space and sps Example: logn, n k, 2 n are space-constructible (and all reasonable functions are).
Gap Theorem and space-constructibility Let assume the following constraint on f(n) (f(n) is space-constructible): f (n) logn and there exists TM that, when receives n (in unary encoding) in input, uses exactly f(n) cells of space and sps Example: logn, n k, 2 n are space-constructible (and all reasonable functions are). (binary counter, multiplication/addition, n times doubling the input) Theorem (Gap theorem) There exists a recursive function f(n) so that TIME(f(n))=TIME(2 f (n) ). Comment: constraints like space-constructibility are introduced avoid situations like this.
Congurations of TM The number of dierent congurations of a TM with space complexity f(n) (that is space-constructible) on a input word of length n can be bounded by c f (n), for some constant c that depends only on the machine and assuming that f (n) logn (what is implied by space-constructibility) SPACE(f (n)) TIME(c f (n) ), due the bound on the number of congurations (c f (n) ), since the machine that does not loop can be simulated on a machine that works that long (else it loops)
More relations between classes... NTIME(f (n)) SPACE(f (n)), since deterministic machine can simulate non-deterministic one It suces generate each of f(n) sequences of non-deterministic choices (here we use the space-constructibility assumption) that are made during the computations. Next, we deterministically simulate the computations in f(n) steps. All these operations can be done in f(n) space since each sequence of non-deterministic choices can be simulated in the same space. NSPACE(f (n)) TIME(c f (n) ), again, due simulation As before, the number of all congurations is c f (n), but now transitions between the congurations form a graph. It suces check whether there exists a path from the starting conguration the terminating one, that can be computed in polynomial time (with regard the graph size), that is in asymptic time c f (n).
L NL P NP PSPACE PSPACE NPSPACE EXP NEXP EXPSPACE NEXPSPACE Explanations: NL P, due NSPACE(f (n)) TIME(c f (n) ), because c logn = n k NPSPACE EXP, also due NSPACE(f (n)) TIME(c f (n) ), because c nk = 2 nk. The space-hierarchy theorem (later) implies L PSPACE so that the rst and last elements above are dierent. Thus, at least one of the inclusions is sharp, however it is not known which one! (the most famous is the P vs NP case)
Theorem (Savitch) If f(n) is space-constructible, then NSPACE(f (n)) SPACE(f 2 (n)). Thus, we can infer that some classes are equal: PSPACE = NPSPACE, EXPSPACE = NEXPSPACE. This means that non-determinism does not extend computational power for some high space complexity classes. Nothing comparable concerning the time complexity classes is known.
Space hierarchy theorem Theorem If f(n) is space-constructible and g(n) o(f (n)) (grows asymptically slower) then SPACE(g(n)) SPACE(f (n)).
Time hierarchy theorem f(n) is time-constructible i f (n) nlogn and there exists a TM that having n (unary encoding) on input can work in exactly f(n) steps and halt. (most of known functions have this property) Theorem If f(n) is time-constructible and g(n) o(f (n)/logf (n)) then TIME(g(n)) TIME(f (n)).
Conclusions SPACE(n ɛ 1 ) SPACE(n ɛ 2 ), for 0 ɛ 1 < ɛ 2, from the properties of polynomials TIME(n ɛ 1 ) TIME(n ɛ 2 ), for 1 ɛ 1 < ɛ 2, as above L PSPACE, since logarithm grows slower than polynomial P EXP, since each polynomial grows slower than sub-exponential function n logn that grows slower than any exponential function PSPACE EXPSPACE, as above Thus, the complexity class P that is usually regarded as the class of eciently solvable problems has some inner hierarchy.
Literature Theory: Papadimitriou Computational, Addison Wesley Longman, 1994 Garey, Johnson Computers and Intractability (issued in 1979, dicult get nowadays) Introducry Textbooks: Cormen et al. Algorithms 3rd edition, MIT Press chapters 34,35 Kleinberg, Tardos Algorithm Design, Addison Wesley, 2006 chapters 8,10,11
Thank you for attention