Resource-Bounded Computation Previously: can something be done? - - PowerPoint PPT Presentation
Resource-Bounded Computation Previously: can something be done? - - PowerPoint PPT Presentation
Resource-Bounded Computation Previously: can something be done? Now: how efficiently can it be done? Goal: conserve computational resources: Time, space, other resources? Def: L is decidable within time O(t(n)) if some TM M that decides L always
Complexity Classes
Def: DTIME(t(n))={L | L is decidable within time O(t(n)) by some deterministic TM} Def: NTIME(t(n))={L | L is decidable within time O(t(n)) by some non-deterministic TM} Def: DSPACE(s(n))={L | L decidable within space O(s(n)) by some deterministic TM} Def: NSPACE(s(n))={L | L decidable within space O(s(n)) by some non-deterministic TM}
Time is Tape Dependent
Theorem: The time depends on the # of TM tapes. Idea: more tapes can enable higher efficiency. Ex: {0n1n | n>0} is in DTIME(n2) for 1-tape TM’s, and is in DTIME(n) for 2-tape TM’s. Note: For multi-tape TM’s, input tape space does not “count” in the total space s(n). This enables analyzing sub-linear space complexities.
Space is Tape Independent
Theorem: The space does not depend on the # tapes. Proof: 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 Note: This does not asymptotically increase the
- verall space (but can increase the total time).
Theorem: A 1-tape TM can simulate a t(n)-time- bounded k-tape TM in time O(kt2(n)). Idea: Tapes can be “interlaced” space-efficiently:
Space-Time Relations
Theorem: If t(n) < t’(n) "n>1 then: DTIME(t(n)) DTIME(t’(n)) NTIME(t(n)) NTIME(t’(n)) Theorem: If s(n) < s’(n) "n>1 then: DSPACE(s(n)) DSPACE(s’(n)) NSPACE(s(n)) NSPACE(s’(n)) Example: NTIME(n) NTIME(n2) Example : DSPACE(log n) DSPACE(n)
Examples of Space & Time Usage
Let L1={0n1n | n>0}: For 1-tape TM’s: L1 DTIME(n2) L1 DSPACE(n) L1 DTIME(n log n) For 2-tape TM’s: L1 DTIME(n) L1 DSPACE(log n)
Examples of Space & Time Usage
Let L2=S* L2 DTIME(n) Theorem: every regular language is in DTIME(n) L2 DSPACE(1) Theorem: every regular language is in DSPACE(1) L2 DTIME(1) Let L3={w$w | w in S*} L3 DTIME(n2) L3 DSPACE(n) L3 DSPACE(log n)
Special Time Classes
Def: P = DTIME(nk)
"k>1
P deterministic polynomial time Note: P is robust / model-independent Def: NP = NTIME(nk)
"k>1
NP non-deterministic polynomial time Theorem: P NP Conjecture: P = NP ? Million $ question!
Other Special Space Classes
Def: PSPACE = DSPACE(nk)
"k>1
PSPACE deterministic polynomial space Def: NPSPACE = NSPACE(nk)
"k>1
NPSPACE non-deterministic polynomial space Theorem: PSPACE NPSPACE (obvious) Theorem: PSPACE = NPSPACE (not obvious)
Other Special Space Classes
Def: EXPTIME = DTIME(2nk)
"k>1
EXPTIME exponential time Def: EXPSPACE = DSPACE(2nk)
"k>1
EXPSPACE exponential space Def: L = LOGSPACE = DSPACE(log n) Def: NL = NLOGSPACE = NSPACE(log n)
Space/Time Relationships
Theorem: DTIME(f(n)) DSPACE(f(n)) Theorem: DTIME(f(n)) DSPACE(f(n) / log(f(n))) Theorem: NTIME(f(n)) DTIME(cf(n) ) for some c depending on the language. Theorem: DSPACE(f(n)) DTIME(cf(n) ) for some c, depending on the language.
Theorem [Savitch]: NSPACE(f(n)) DSPACE(f 2(n))
Corollary: PSPACE = NPSPACE Theorem: NSPACE(nr) DSPACE(nr+e) " r>0, e>0
PSPACE-complete QBF
The Extended Chomsky Hierarchy
Finite {a,b} Regular a*
- Det. CF anbn
Context-free wwR
P
anbncn
NP
PSPACE EXPSPACE
Recognizable Not Recognizable H H
Decidable
Presburger arithmetic NP-complete SAT
Not finitely describable ?
2S*
EXPTIME
EXPTIME-complete Go EXPSPACE-complete =RE
Turing degrees Context sensitive LBA
Time Complexity Hierarchy
Theorem: for any t(n)>0 there exists a decidable language LDTIME(t(n)). No time complexity class contains all the decidable languages, and the time hierarchy is ! There are decidable languages that take arbitrarily long times to decide! Note: t(n) must be computable & everywhere defined Proof: (by diagonalization) Fix lexicographic orders for TM’s: M1, M2, M3, . . . Interpret TM inputs iΣ* as encodings of integers: a=1, b=2, aa=3, ab=4, ba=5, bb=6, aaa=7, …
Juris Hartmanis Richard Stearns
Time Complexity Hierarchy (proof)
Define L={i | Mi does not accept i within t(i) time} Note: L is decidable (by simulation) Q: is LDTIME(t(n)) ? Assume (towards contradiction) LDTIME(t(n)) i.e., $ a fixed KN such that Turing machine MK decides L within time bound t(n) i
MK decides / accepts L
If Mi accepts i within t(i) time then else Reject Accept
Time Complexity Hierarchy (proof)
Consider whether KL: KL MK must accept K within t(K) time MK must reject K KL KL MK must reject K within t(K) time MK must accept K KL So (KL) (KL), a contradiction! Assumption is false LDTIME(t(n)) K
MK decides / accepts L
If MK accepts K within t(K) time then else Reject Accept
i = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … wiΣ* = a b aa ab ba bb aaa aab aba abb baa bab bbabbbaaaa … M1(i) √ √ √ √ √ √ √ … M2(i) √ √ √ √ √ … M3(i) √ √ √ √ √ √ √ √ √ … M4(i) √ √ √ √ √ √ √ … M5(i) √ √ √ √ √ √ √ √ √ … . . .
Time Hierarchy (another proof)
Consider all t(n)-time-bounded TM’s on all inputs:
M’(i)
is t(n) time-bounded.
But M’ computes a different function than any Mj
Contradiction! √ √ √ . . .
“Lexicographic order.”
Juris Hartmanis Richard Stearns
Space Complexity Hierarchy
Theorem: for any s(n)>0 there exists a decidable language LDSPACE(s(n)). No space complexity class contains all the decidable languages, and the space hierarchy is ! There are decidable languages that take arbitrarily much space to decide!
Note: s(n) must be computable & everywhere defined
Proof: (by diagonalization) Fix lexicographic orders for TM’s: M1, M2, M3, . . . Interpret TM inputs iΣ* as encodings of integers: a=1, b=2, aa=3, ab=4, ba=5, bb=6, aaa=7, …
Space Complexity Hierarchy (proof)
Define L={i | Mi does not accept i within t(i) space} Note: L is decidable (by simulation; -loops?) Q: is LDSPACE(s(n)) ? Assume (towards contradiction) LDSPACE(s(n)) i.e., $ a fixed KN such that Turing machine MK decides L within space bound s(n) i
MK decides / accepts L
If Mi accepts i within t(i) space then else Reject Accept
Space Complexity Hierarchy (proof)
Consider whether KL: KL MK must accept K within s(K) space MK must reject K KL KL MK must reject K within s(K) space MK must accept K KL So (KL) (KL), a contradiction! Assumption is false LDSPACE(s(n)) K
MK decides / accepts L
If MK accepts K within s(K) space then else Reject Accept
i = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … wiΣ* = a b aa ab ba bb aaa aab aba abb baa bab bbabbbaaaa … M1(i) √ √ √ √ √ √ √ … M2(i) √ √ √ √ √ … M3(i) √ √ √ √ √ √ √ √ √ … M4(i) √ √ √ √ √ √ √ … M5(i) √ √ √ √ √ √ √ √ √ … . . .
Space Hierarchy (another proof)
Consider all s(n)-space-bounded TM’s on all inputs:
M’(i)
is s(n) space-bounded.
But M’ computes a different function than any Mj
Contradiction! √ √ √ . . .
Savitch’s Theorem
Theorem: NSPACE(f(n)) DSPACE (f2(n)) Proof: Simulation: idea is to aggressively conserve and reuse space while sacrificing (lots of) time. Consider a sequence of TM states in one branch of an NSPACE(f(n))-bounded computation: Computation time / length is bounded by cf(n) (why?) We need to simulate this branch and all others too! Q: How can we space-efficiently simulate these? A: Use divide-and-conquer with heavy space-reuse!
Walter Savitch
Savitch’s Theorem
Pick a midpoint state along target path: Verify it is a valid intermediate state by recursively solving both subproblems. Iterate for all possible midpoint states! The recursion stack depth is at most log(cf(n))=O(f(n)) Each recursion stack frame size is O(f(n)). total space needed is O(f(n)*f(n))=O(f2(n)) Note: total time is exponential (but that’s OK). non-determinism can be eliminated by squaring the space: NSPACE(f(n)) DSPACE (f2(n))
Walter Savitch
Savitch’s Theorem
Corollary: NPSPACE = PSPACE Proof: NPSPACE = NSPACE(nk)
k>1
DSPACE(n2k)
k>1
= DSPACE(nk)
k>1
= PSPACE i.e., polynomial space is invariant with respect to non-determinism! Q: What about polynomial time? A: Still open! (P=NP)
Walter Savitch
Space & Complementation
Theorem: Deterministic space is closed under complementation, i.e., DSPACE(S(n)) = co-DSPACE(S(n)) = {S*-L | L DSPACE(S(n)) } Proof: Simulate & negate. Theorem [Immerman, 1987]: Nondeterministic space is closed under complementation, i.e. NSPACE(S(n)) = co-NSPACE(S(n)) Proof idea: Similar strategy to Savitch’s theorem. No similar result is known for any of the standard time complexity classes! Q: Is NP = co-NP? A: Still open!
Neil Immerman
From:
Neil Immerman
PSPACE-complete QBF
The Extended Chomsky Hierarchy
Finite {a,b} Regular a*
- Det. CF anbn
Context-free wwR
P
anbncn
NP Recognizable Not Recognizable H H
Decidable
Presburger arithmetic NP-complete SAT
Not finitely describable ?
2S*
EXPTIME
EXPTIME-complete Go EXPSPACE-complete =RE
Turing degrees Context sensitive LBA EXPSPACE=co-EXPSPACE
PSPACE=NPSPACE=co-NPSPACE
Q: Can we enumerate TM’s for all languages in P? Q: Can we enumerate TM’s for all languages in NP, PSPACE? EXPTIME? EXPSPACE? Note: not necessarily in a lexicographic order.
Enumeration of Resource-Bounded TMs
Denseness of Space Hierarchy
Q: How much additional space does it take to recognize more languages? A: Very little more! Theorem: Given two space bounds s1 and s2 such that Lim s1(n) / s2(n)=0 as n, i.e., s1(n) = o(s2(n)), $ a decidable language L such that LDSPACE(s2(n)) but LDSPACE(s1(n)). Proof idea: Diagonalize efficiently. Note: s2(n) must be computable within s2(n) space. Space hierarchy is infinite and very dense!
Juris Hartmanis Richard Stearns
Space hierarchy is infinite and very dense! Examples: DSPACE(log n) DSPACE(log2 n) DSPACE(n) DSPACE(n log n) DSPACE(n2) DSPACE(n2.001) DSPACE(nx) DSPACE(ny) " 1<x<y Corollary: LOGSPACE PSPACE Corollary: PSPACE EXPSPACE
Denseness of Space Hierarchy
Juris Hartmanis Richard Stearns
Q: How much additional time does it take to recognize more languages? A: At most a logarithmic factor more! Theorem: Given two time bounds t1 and t2 such that t1(n)log(t1(n)) = o(t2(n)), $ a decidable language L such that LDTIME(t2(n)) but LDTIME(t1(n)). Proof idea: Diagonalize efficiently. Note: t2(n) must be computable within t2(n) time. Time hierarchy is infinite and pretty dense!
Denseness of Time Hierarchy
Juris Hartmanis Richard Stearns
Time hierarchy is infinite and pretty dense! Examples: DTIME(n) DTIME(n log2 n) DTIME(n2) DTIME(n2.001) DTIME(2n) DTIME(n22n) DTIME(nx) DTIME(ny) " 1<x<y Corollary: LOGTIME P Corollary: P EXPTIME
Denseness of Time Hierarchy
Juris Hartmanis Richard Stearns
Complexity Classes Relationships
Theorems: LOGTIME L NL P NP PSPACE EXPTIME NEXPTIME EXPSPACE . . . Theorems: L PSPACE EXPSPACE Theorems: LOGTIME P EXPTIME
Conjectures: LNL, NLP, PNP, NPPSPACE, PSPACEEXPTIME, EXPTIMENEXPTIME, NEXPTIMEEXPSPACE, . . .
Theorem: At least two of the above conjectures are true!
Theorem: At least two
- f the following
conjectures are true:
LL NLP PNP NPPSPACE PSPACEEXPTIME EXPTIMENEXPTIME NEXPTIMEEXPSPACE
Theorem: P SPACE(n) Open: P SPACE(n) ? Open: SPACE(n) P ? Open: NSPACE(n) DSPACE(n) ?
… … … … … … … … … …
PSPACE-complete QBF
The Extended Chomsky Hierarchy Reloaded
Context-free wwR
P
anbncn
NP Recognizable Not Recognizable H H
Decidable
Presburger arithmetic NP-complete SAT
Not finitely describable ?
2S*
EXPTIME
EXPTIME-complete Go EXPSPACE-complete =RE
Context sensitive LBA EXPSPACE=co-EXPSPACE
PSPACE=NPSPACE=co-NPSPACE
Dense infinite time & space complexity hierarchies
… … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … …
Regular a*
… … … … … … … … … … … … … … …
Turing degrees Other infinite complexity & descriptive hierarchies
… … … … …
- Det. CF anbn
… … … … …
Finite {a,b}
Gap Theorems
$ arbitrarily large space & time complexity gaps! Theorem [Borodin]: For any computable function g(n), $ t(n) such that DTIME(t(n)) = DTIME(g(t(n)). Ex: DTIME(t(n)) = DTIME(22t(n)) for some t(n) Theorem [Borodin]: For any computable function g(n), $ s(n) such that DSPACE(s(n)) = DSPACE(g(s(n)). Ex: DSPACE(s(n)) = DSPACE(S(n)s(n)) for some s(n) Proof idea: Diagonalize over TMs & construct a gap that avoids all TM complexities from falling into it. Corollary: $ f(n) such that DTIME(f(n)) = DSPACE(f(n)). Note: does not contradict the space and time hierarchy theorems, since t(n), s(n), f(n) may not be computable.
Allan Borodin
The First Complexity Gap
The first space “gap” is between O(1) and O(log log n)
Theorem: LDSPACE(o(log log n)) LDSPACE(O(1)) L is regular!
All space classes below O(log log n) collapes to O(1).
Allan Borodin
Speedup Theorem
There are languages for which there are no asymptotic space or time lower bounds for deciding them! Theorem [Blum]: For any computable function g(n), $ a language L such that if TM M accepts L within t(n) time, $ another TM M’ that accepts L within g(t(n)) time. Corollary [Blum]: There is a problem such that if any algorithm solves it in time t(n), $ other algorithms that solve it, in times O(log t(n)), O(log(log t(n))), O(log(log(log t(n)))), ...
Some problems don’t have an “inherent” complexity! Note: does not contradict the time hierarchy theorem!
Manuel Blum
From:
Manuel Blum
Abstract Complexity Theory
Complexity theory can be machine-independent! Instead of referring to TM’s, we state simple axioms that any complexity measure F must satisfy. Example: the Blum axioms: 1) F(M,w) is finite iff M(w) halts; and 2) The predicate “F(M,w)=n” is decidable. Theorem [Blum]: Any complexity measure satisfying these axioms gives rise to hierarchy, gap, & speedup theorems. Corollary: Space & time measures satisfy these axioms. AKA “Axiomatic complexity theory [Blum, 1967]
Manuel Blum
Alternation
Alternation: generalizes non-determinism, where each state is either “existential” or “universal” Old: existential states New: universal states
- Existential state is accepting iff any
- f its child states is accepting (OR)
- Universal state is accepting iff all
- f its child states are accepting (AND)
- Alternating computation is a “tree”.
- Final states are accepting
- Non-final states are rejecting
- Computation accepts iff initial state is accepting
Note: in non-determinism, all states are existential
$ "
" " " " " Stockmeyer Chandra
Alternation
Theorem: a k-state alternating finite automaton can be converted into an equivalent 2k-state non-deterministic FA. Proof idea: a generalized powerset construction. Theorem: a k-state alternating finite automaton can be converted into an equivalent 22k-state deterministic FA. Proof: two composed powerset constructions. Def: alternating Turing machine is an alternating FA with an unbounded read/write tape. Theorem: alternation does not increase the language recognition power of Turing machine. Proof: by simulation.
Stockmeyer Chandra
Stockmeyer Chandra
Alternating Complexity Classes
Def: ATIME(t(n))={L | L is decidable in time O(t(n)) by some alternating TM} Def: ASPACE(s(n))={L | L decidable in space O(s(n)) by some alternating TM} Def: AP = ATIME(nk)
"k>1
AP alternating polynomial time Def: APSPACE = ASPACE(nk)
"k>1
APSPACE alternating polynomial space
Alternating Complexity Classes
Def: AEXPTIME = ATIME(2nk)
"k>1
AEXPTIME alternating exponential time Def: AEXPSPACE = ASPACE(2nk)
"k>1
AEXPSPACE alternating exponential space Def: AL = ALOGSPACE = ASPACE(log n) AL alternating logarithmic space Note: AP, ASPACE, AL are model-independent
Stockmeyer Chandra
Stockmeyer Chandra
Alternating Space/Time Relations
Theorem: P NP AP Open: NP = AP ? Open: P = AP ? Corollary: P=AP P=NP Theorem: ATIME(f(n)) DSPACE(f(n)) ATIME(f 2(n)) Theorem: PSPACE = NPSPACE APSPACE Theorem: ASPACE(f(n)) DTIME(cf(n)) Theorem: AL = P Theorem: AP = PSPACE Theorem: APSPACE = EXPTIME Theorem: AEXPTIME = EXPSPACE
$ "
Quantified Boolean Formula Problem
Def: Given a fully quantified Boolean formula, where each variable is quantified existentially or universally, does it evaluate to “true”? Example: Is “" x $ y $ z (x z) y” true?
- Also known as quantified satisfiability (QSAT)
- Satisfiability (one $ only) is a special case of QBF
Theorem: QBF is PSPACE-complete. Proof idea: combination of [Cook] and [Savitch]. Theorem: QBF TIME(2n) Proof: recursively evaluate all possibilities. Theorem: QBF DSPACE(n) Proof: reuse space during exhaustive evaluations. Theorem: QBF ATIME(n) Proof: use alternation to guess and verify formula.
QBF and Two-Player Games
- SAT solutions can be succinctly (polynomially) specified.
- It is not known how to succinctly specify QBF solutions.
- QBF naturally models winning strategies
for two-player games: $ a move for player A " moves for player B $ a move for player A " moves for player B $ a move for player A
. . .
player A has a winning move!
" $ $
QBF and Two-Player Games
Theorem: Generalized Checkers is EXPTIME-complete. Theorem: Generalized Chess is EXPTIME-complete. Theorem: Generalized Go is EXPTIME-complete. Theorem: Generalized Othello is PSPACE-complete.
Meyer
Idea: bound # of “existential” / “universal” states Old: unbounded existential / universal states New: at most i existential / universal alternations Def: a Si-alternating TM has at most i runs of quantified steps, starting with existential Def: a Pi-alternating TM has at most i runs of quantified steps, starting with universal Note: Pi- and Si- alternation-bounded TMs are similar to unbounded alternating TMs
Stockmeyer
$ "
" " " " "
The Polynomial Hierarchy
i=1 i=2 i=3 i=4 i=5
S5-alternating
Def: SiTIME(t(n))={L | L is decidable within time O(t(n)) by some Si-alternating TM} Def: SiSPACE(s(n))={L | L is decidable within space O(s(n)) by some Si-alternating TM} Def: PiTIME(t(n))={L | L is decidable within time O(t(n)) by some Pi-alternating TM} Def: PiSPACE(s(n))={L | L is decidable within space O(s(n)) by some Pi-alternating TM}
Def: SiP = SiTIME(nk)
"k>1
Def: PiP = PiTIME(nk)
"k>1
Stockmeyer
The Polynomial Hierarchy
Meyer " " " " "
Def: SPH = SiP
"i>1
Def: PPH = PiP
"i>1
Theorem: SPH = PPH Def: The Polynomial Hierarchy PH = SPH
Languages accepted by polynomial time, unbounded-alternations TMs
Theorem: S0P= P0P= P Theorem: S1P=NP, P1P= co-NP Theorem: SiP Si+1P, PiP Pi+1P Theorem: SiP Pi+1P, PiP Si+1P
Stockmeyer
The Polynomial Hierarchy
Meyer " " " " "
Theorem: SiP PSPACE Theorem: PiP PSPACE Theorem: PH PSPACE Open: PH = PSPACE ? Open: S0P=S1P ? P=NP ? Open: P0P=P1P ? P=co-NP ? Open: S1P=P1P ? NP=co-NP ? Open: SkP = Sk+1P for any k ? Open: PkP = Pk+1P for any k ? Open: SkP = PkP for any k ? Theorem: PH = languages expressible by 2nd-order logic
Infinite number
- f “P=NP”–type
- pen problems!
Stockmeyer Meyer " " " " "
The Polynomial Hierarchy
Open: Is the polynomial hierarchy infinite ? Theorem: If any two successive levels conicide (SkP = Sk+1P
- r SkP = PkP for some k) then the entire polynomial
hierarchy collapses to that level (i.e., PH = SkP = PkP). Corollary: If P = NP then the entire polynomial hierarchy collapses completely (i.e., PH = P = NP). Theorem: P=NP P=PH Corollary: To show P≠NP, it suffices to show P≠PH. Theorem: There exist oracles that separate SkP ≠ Sk+1P. Theorem: PH contains almost all well-known complexity classes in PSPACE, including P, NP, co-NP, BPP, RP, etc.
Stockmeyer Meyer
The Polynomial Hierarchy
… … … … … … … … … …
PSPACE-complete QBF
The Extended Chomsky Hierarchy Reloaded
Context-free wwR
P
anbncn
NP Recognizable Not Recognizable H H
Decidable
Presburger arithmetic NP-complete SAT
Not finitely describable ?
2S*
EXPTIME
EXPTIME-complete Go EXPSPACE-complete =RE
Context sensitive LBA EXPSPACE PSPACE Dense infinite time & space complexity hierarchies
… … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … …
Regular a*
… … … … … … … … … … … … … … …
Turing degrees Other infinite complexity & descriptive hierarchies
… … … … …
- Det. CF anbn
… … … … …
Finite {a,b}
… … … … …
PH
Probabilistic Turing Machines
Idea: allow randomness / coin-flips during computation Old: nondeterministic states New: random states changes via coin-flips
- Each coin-flip state has two successor states
Def: Probability of branch B is Pr[B] = 2-k where k is the # of coin-flips along B. Def: Probability that M accepts w is sum of the probabilities of all accepting branches. Def: Probability that M rejects w is 1 – (probability that M accepts w). Def: Probability that M accepts L with probability e if: wL probability(M accepts w) 1-e wL probability(M rejects w) 1-e
Probabilistic Turing Machines
Def: BPP is the class of languages accepted by probabilistic polynomial time TMs with error e =1/3. Note: BPP Bounded-error Probabilistic Polynomial time Theorem: any error threshold 0<e<1/2 can be substituted. Proof idea: run the probabilistic TM multiple times and take the majority of the outputs. Theorem [Rabin, 1980]: Primality testing is in BPP. Theorem [Agrawal et al., 2002]: Primality testing is in P. Note: BPP is one of the largest practical classes
- f problems that can be solved effectively.
Theorem: BPP is closed under complement (BPP=co-BPP). Open: BPP NP ? Open: NP BPP ?
Probabilistic Turing Machines
Theorem: BPP PH Theorem: P=NP BPP=P Theorem: NP BPP PH BPP Note: the former is unlikely, since this would imply efficient randomized algorithms for many NP-hard problems. Def: A pseudorandom number generator (PRNG) is an algorithm for generating number sequences that approximates the properties of random numbers. Theorem: The existance of strong PRNGs implies that P=BPP.
“Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin.” John von Neumann
… … … … … … … … … …
PSPACE-complete QBF
The Extended Chomsky Hierarchy Reloaded
Context-free wwR
P
anbncn
NP Recognizable Not Recognizable H H
Decidable
Presburger arithmetic NP-complete SAT
Not finitely describable ?
2S*
EXPTIME
EXPTIME-complete Go EXPSPACE-complete =RE
Context sensitive LBA EXPSPACE PSPACE Dense infinite time & space complexity hierarchies
… … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … …
Regular a*
… … … … … … … … … … … … … … …
Turing degrees Other infinite complexity & descriptive hierarchies
… … … … …
- Det. CF anbn
… … … … …
Finite {a,b}
… … … … …
PH BPP
The “Complexity Zoo” Class inclusion diagram
- Currently 493 named classes!
- Interactive, clickable map
- Shows class subset relations
Legend: http://www.math.ucdavis.edu/~greg/zoology/diagram.xml Scott Aaronson
2S*
Recognizable Decidable Polynomial space Exponential space Deterministic exponential time Non-deterministic exponential time
Polynomial space
Deterministic polynomial time Non-deterministic polynomial time Non-deterministic linear time Non-deterministic linear space Polynomial time hierarchy Interactive proofs Bounded-error probabilistic polynomial time
Deterministic polynomial time Deterministic linear time Poly-logarithmic time Context-sensitive Deterministic context-free Regular Deterministic logarithmic space Non-deterministic logarithmic space Empty set Context free
… … … … … … … … … …
PSPACE-complete QBF
The Extended Chomsky Hierarchy Reloaded
Context-free wwR
P
anbncn
NP Recognizable Not Recognizable H H
Decidable
Presburger arithmetic NP-complete SAT
Not finitely describable ?
2S*
EXPTIME
EXPTIME-complete Go EXPSPACE-complete =RE
Context sensitive LBA EXPSPACE PSPACE Dense infinite time & space complexity hierarchies
… … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … … …
Regular a*
… … … … … … … … … … … … … … …
Turing degrees Other infinite complexity & descriptive hierarchies
… … … … …
- Det. CF anbn
… … … … …
Finite {a,b}
… … … … …