introduction to complexity classes
TRANSCRIPT
![Page 1: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/1.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Introduction to Complexity Classes
Marcin Sydow
![Page 2: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/2.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
De�nition
TIME(f(n)) TIME(f(n)) denotes the set of languages decided bydeterministic TM of TIME complexity f(n)
De�nition
SPACE(f(n)) denotes the set of languages decided bydeterministic TM of SPACE complexity f(n)
De�nition
NTIME(f(n)) denotes the set of languages decided bynon-deterministic TM of TIME complexity f(n)
De�nition
NSPACE(f(n)) denotes the set of languages decided bynon-deterministic TM of SPACE complexity f(n)
![Page 3: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/3.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
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.
![Page 4: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/4.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
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)).
![Page 5: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/5.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Basic complexity classes
(the functions are asymptotic)
P =⋃
j>0 TIME(nj), the class of languages decided indeterministic polynomial time
NP =⋃
j>0 NTIME(nj), the class of languages decided innon-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
![Page 6: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/6.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Space complexity classes
L = SPACE(logn), the class of languages decided indeterministic logarithic space
NL = NSPACE(logn), the class of languages decided innon-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 decidedin deterministic exponential space
NEXPSPACE =⋃
j>0 NSPACE(2nj
), the class of languagesdecided in non-deterministic exponential space
![Page 7: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/7.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Basic relations among complexity classes
(Connections between time, space and non-determinism)
TIME(f (n)) ⊆ NTIME(f (n))
, since each deterministicmachine is also a non-deterministic one (by de�nition)
SPACE(f (n)) ⊆ NSPACE(f (n))(as above)
TIME(f (n)) ⊆ SPACE(f (n)) (no machine can write morememory cells than its working time)
NTIME(f (n)) ⊆ NSPACE(f (n)) (as above)
NTIME(f (n)) ⊆ TIME(c f (n)) (by a theorem on simulatinga non-deterministic machine by a deterministic one)
![Page 8: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/8.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Basic relations among complexity classes
(Connections between time, space and non-determinism)
TIME(f (n)) ⊆ NTIME(f (n)), since each deterministicmachine is also a non-deterministic one (by de�nition)
SPACE(f (n)) ⊆ NSPACE(f (n))
(as above)
TIME(f (n)) ⊆ SPACE(f (n)) (no machine can write morememory cells than its working time)
NTIME(f (n)) ⊆ NSPACE(f (n)) (as above)
NTIME(f (n)) ⊆ TIME(c f (n)) (by a theorem on simulatinga non-deterministic machine by a deterministic one)
![Page 9: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/9.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Basic relations among complexity classes
(Connections between time, space and non-determinism)
TIME(f (n)) ⊆ NTIME(f (n)), since each deterministicmachine is also a non-deterministic one (by de�nition)
SPACE(f (n)) ⊆ NSPACE(f (n))(as above)
TIME(f (n)) ⊆ SPACE(f (n))
(no machine can write morememory cells than its working time)
NTIME(f (n)) ⊆ NSPACE(f (n)) (as above)
NTIME(f (n)) ⊆ TIME(c f (n)) (by a theorem on simulatinga non-deterministic machine by a deterministic one)
![Page 10: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/10.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Basic relations among complexity classes
(Connections between time, space and non-determinism)
TIME(f (n)) ⊆ NTIME(f (n)), since each deterministicmachine is also a non-deterministic one (by de�nition)
SPACE(f (n)) ⊆ NSPACE(f (n))(as above)
TIME(f (n)) ⊆ SPACE(f (n)) (no machine can write morememory cells than its working time)
NTIME(f (n)) ⊆ NSPACE(f (n))
(as above)
NTIME(f (n)) ⊆ TIME(c f (n)) (by a theorem on simulatinga non-deterministic machine by a deterministic one)
![Page 11: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/11.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Basic relations among complexity classes
(Connections between time, space and non-determinism)
TIME(f (n)) ⊆ NTIME(f (n)), since each deterministicmachine is also a non-deterministic one (by de�nition)
SPACE(f (n)) ⊆ NSPACE(f (n))(as above)
TIME(f (n)) ⊆ SPACE(f (n)) (no machine can write morememory cells than its working time)
NTIME(f (n)) ⊆ NSPACE(f (n)) (as above)
NTIME(f (n)) ⊆ TIME(c f (n)) (by a theorem on simulatinga non-deterministic machine by a deterministic one)
![Page 12: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/12.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Gap Theorem and space-constructibility
Let assume the following constraint on f(n) (f(n) isspace-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 stopsExample: dlogne, nk , 2n 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(2f (n)).
Comment: constraints like space-constructibility are introducedto avoid situations like this.
![Page 13: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/13.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Gap Theorem and space-constructibility
Let assume the following constraint on f(n) (f(n) isspace-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 stopsExample: dlogne, nk , 2n 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(2f (n)).
Comment: constraints like space-constructibility are introducedto avoid situations like this.
![Page 14: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/14.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Con�gurations of TM
The number of di�erent con�gurations of a TM with spacecomplexity f(n) (that is space-constructible) on a input word oflength n can be bounded by c f (n), for some constant c thatdepends only on the machine and assuming that f (n) > logn(what is implied by space-constructibility)
SPACE(f (n)) ⊆ TIME(c f (n)), due to the bound on the numberof con�gurations (c f (n)), since the machine that does not loopcan be simulated on a machine that works that long (else itloops)
![Page 15: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/15.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
More relations between classes ...
NTIME(f (n)) ⊆ SPACE(f (n)), since deterministic machine cansimulate non-deterministic one It su�ces to generate each off(n) sequences of non-deterministic choices (here we use thespace-constructibility assumption) that are made during thecomputations. Next, we deterministically simulate thecomputations in f(n) steps. All these operations can be done inf(n) space since each sequence of non-deterministic choices canbe simulated in the same space.
NSPACE(f (n)) ⊆ TIME(c f (n)), again, due to simulation
As before, the number of all con�gurations is c f (n), but nowtransitions between the con�gurations form a graph. It su�cesto check whether there exists a path from the startingcon�guration to the terminating one, that can be computed inpolynomial time (with regard to the graph size), that is inasymptotic time c f (n).
![Page 16: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/16.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
L ⊆ NL ⊆ P ⊆ NP ⊆ PSPACE
PSPACE ⊆ NPSPACE ⊆ EXP ⊆ NEXP ⊆ EXPSPACE ⊆NEXPSPACE
Explanations:
NL ⊆ P, due to NSPACE(f (n)) ⊆ TIME(c f (n)), becausec logn = nk
NPSPACE ⊆ EXP, also due to NSPACE(f (n)) ⊆ TIME(c f (n)),
because cnk
= 2nk′
.
The space-hierarchy theorem (later) implies L PSPACE so that the�rst and last elements above are di�erent. Thus, at least one of theinclusions is sharp, however it is not known which one! (the mostfamous is the P vs NP case)
![Page 17: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/17.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
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 extendcomputational power for some high space complexity classes.Nothing comparable concerning the time complexity classes isknown.
![Page 18: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/18.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Space hierarchy theorem
Theorem
If f(n) is space-constructible and g(n) ∈ o(f (n)) (grows
asymptotically slower) then SPACE(g(n)) ( SPACE(f (n)).
![Page 19: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/19.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Time hierarchy theorem
f(n) is time-constructible i� f (n) > nlogn and there exists a TMthat 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)).
![Page 20: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/20.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Conclusions
SPACE(nε1) ( SPACE(nε2), for 0 6 ε1 < ε2, from theproperties of polynomials
TIME(nε1) ( TIME(nε2), for 1 6 ε1 < ε2, as above
L ( PSPACE, since logarithm grows slower thanpolynomial
P ( EXP, since each polynomial grows slower thansub-exponential function nlogn that grows slower than anyexponential function
PSPACE ( EXPSPACE, as above
Thus, the complexity class P that is usually regarded as theclass of �e�ciently solvable� problems has some inner hierarchy.
![Page 21: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/21.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Literature
Complexity Theory:
Papadimitriou �Computational Complexity�, AddisonWesley Longman, 1994Garey, Johnson �Computers and Intractability�(issued in 1979, di�cult to get nowadays)
Introductory Textbooks:
Cormen et al. �Introduction to Algorithms� 3rd edition,MIT Presschapters 34,35Kleinberg, Tardos �Algorithm Design�, Addison Wesley,2006chapters 8,10,11
![Page 22: Introduction to Complexity Classes](https://reader035.vdocuments.us/reader035/viewer/2022071602/613d54ed736caf36b75c1146/html5/thumbnails/22.jpg)
Introduction
to
Complexity
Classes
Marcin
Sydow
Thank you for attention