Complexity Theory Lecture 6

Slides:



Advertisements
Similar presentations
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Advertisements

INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
COMPLEXITY THEORY CSci 5403 LECTURE XVI: COUNTING PROBLEMS AND RANDOMIZED REDUCTIONS.
Complexity Theory Lecture 8
Isolation Technique April 16, 2001 Jason Ku Tao Li.
Lecture 24 MAS 714 Hartmut Klauck
Complexity Theory Lecture 7
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
1 Nondeterministic Space is Closed Under Complement Presented by Jing Zhang and Yingbo Wang Theory of Computation II Professor: Geoffrey Smith.
Complexity Theory Lecture 3 Lecturer: Moni Naor. Recap Last week: Non deterministic communication complexity Probabilistic communication complexity Their.
Complexity Theory Lecture 1 Lecturer: Moni Naor. Computational Complexity Theory Study the resources needed to solve computational problems –Computer.
COMP 553: Algorithmic Game Theory Fall 2014 Yang Cai Lecture 21.
The class NP Section 7.3 Giorgi Japaridze Theory of Computability.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Complexity 13-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
March 2, 2015CS21 Lecture 231 CS21 Decidability and Tractability Lecture 23 March 2, 2015.
CS151 Complexity Theory Lecture 7 April 20, 2004.
Randomized Computation Roni Parshani Orly Margalit Eran Mantzur Avi Mintz
CS151 Complexity Theory Lecture 12 May 6, CS151 Lecture 122 Outline The Polynomial-Time Hierarachy (PH) Complete problems for classes in PH, PSPACE.
1 Slides by Golan Weisz, Omer Ben Shalom Nir Ailon & Tal Moran Adapted from Oded Goldreich’s course lecture notes by Moshe Lewenstien, Yehuda Lindell.
Submitted by : Estrella Eisenberg Yair Kaufman Ohad Lipsky Riva Gonen Shalom.
Chapter 11: Limitations of Algorithmic Power
Complexity ©D. Moshkovitz 1 And Randomized Computations The Polynomial Hierarchy.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
February 20, 2015CS21 Lecture 191 CS21 Decidability and Tractability Lecture 19 February 20, 2015.
The Polynomial Hierarchy By Moti Meir And Yitzhak Sapir Based on notes from lectures by Oded Goldreich taken by Ronen Mizrahi, and lectures by Ely Porat.
Theory of Computing Lecture 19 MAS 714 Hartmut Klauck.
Complexity Theory Lecture 5 Lecturer: Moni Naor. Recap Last week: Probabilistic Space and Time Complexity Undirected Connectivity is in randomized logspace.
Definition: Let M be a deterministic Turing Machine that halts on all inputs. Space Complexity of M is the function f:N  N, where f(n) is the maximum.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 ≤ L 2 means: For some polynomial time computable map r : x: x L 1 iff r(x)
Complexity Classes Kang Yu 1. NP NP : nondeterministic polynomial time NP-complete : 1.In NP (can be verified in polynomial time) 2.Every problem in NP.
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
חישוביות וסיבוכיות Computability and Complexity Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A AAAA.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
1 2 Probabilistic Computations  Extend the notion of “efficient computation” beyond polynomial-time- Turing machines.  We will still consider only.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Fall 2013 CMU CS Computational Complexity Lecture 7 Alternating Quantifiers, PH, PSPACE. These slides are mostly a resequencing of Chris Umans’
1. 2 Lecture outline Basic definitions: Basic definitions: P, NP complexity classes P, NP complexity classes the notion of a certificate. the notion of.
NP-completeness Class of hard problems. Jaruloj ChongstitvatanaNP-complete Problems2 Outline  Introduction  Problems and Languages Turing machines and.
Alternation Section 10.3 Giorgi Japaridze Theory of Computability.
Theory of Computational Complexity Yuji Ishikawa Avis lab. M1.
Graphs 4/13/2018 5:25 AM Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 NP-Completeness.
Umans Complexity Theory Lectures
NP-Completeness NP-Completeness Graphs 5/7/ :49 PM x x x x x x x
Probabilistic Algorithms
Busch Complexity Lectures: Reductions
Umans Complexity Theory Lectures
Umans Complexity Theory Lectures
Intro to Theory of Computation
Intro to Theory of Computation
NP-Completeness NP-Completeness Graphs 11/16/2018 2:32 AM x x x x x x
NP-Completeness NP-Completeness Graphs 12/3/2018 2:46 AM x x x x x x x
CLASSES P AND NP.
Chapter 11 Limitations of Algorithm Power
CS21 Decidability and Tractability
Umans Complexity Theory Lectures
The Polynomial Hierarchy
CS151 Complexity Theory Lecture 12 May 10, 2019.
Instructor: Aaron Roth
Theory of Computability
Intro to Theory of Computation
Presentation transcript:

Complexity Theory Lecture 6 Give the handouts (course web page) Lecturer: Moni Naor

Recap Last week: Probabilistic Complexity Plus Alternation This Week: Schwatz-Zippel Approximating Counting Problems Plus Alternation This Week: Non-Uniform Complexity Classes Polynomial Time Hierarchy

Machines that Take Advice Turing Machine with advice: extra read only tape Advice string Machine M decides language L with advice A(n) if: X 2 L implies M(x,A(|x|) = `yes’ X  L implies M(x,A(|x|) = `no’ Advice A(n) is specific to the length Complexity Class with advice: C is a complexity class and f:N  N. Language L 2 C/f(n) if there is a TM M and advice A(n) that decides language L and |A(n)| · f(n) Example: P/Poly(n) = [k P/nK

P/Poly Every unary language is in P/poly {1index(x) | xL} where L is undecidable Every unary language is in P/poly There are undecidable languages in P/poly Observation: a language is in P/poly iff it has a polynomial sized circuit There exists a sequence of circuits C1, C2, … and a polynomial p(n) such that: circuit Cn computes f on inputs of size n circuit Cn is of size at most p(n) What is the power of P/poly is NP 2 P/poly? Homework: show that if NP 2 P/log then P=NP

Circuits Let B be a collection of Booleans functions A Circuit for on n Boolean variables x1, x2, … xn over Basis B is a DAG with Each source is labeled with a literal Unique sink Each internal node is labeled with a function from B and has the appropriate indegree A circuit compute a function in the natural way Which (families of) functions have circuits whose size is bounded by polynomial in the input size? B ={:, Ç, Æ} Claim: all f 2 P have polynomial size circuits Proof: via the `usual’ tableau. Size of circuit T(n)S(n). Using Oblivious Turing Machines T(n) log T(n) Claim: most Boolean function f on n variables do not have polynomial sized circuits For any polynomial p(n) most functions need more p(n) gates Need (2n/n) gates to compute all functions on n variables, which is tight Can determine the inputs to a given gate by a log space machine

Polynomial Sized Circuits for BPP Theorem: any f 2 BPP has a polynomial size circuit There exists a sequence of circuits C1, C2, … and a polynomial p(n) such that: circuit Cn computes f on inputs of size n circuit Cn is of size at most p(n) Several proofs (various derandomization methods): Construction of hitting set (for f 2 RP) Claim that a sequence r1, r2, … rn exists where for each x 2 L at least one ri says `yes’ Simulating large sample spaces by small ones Amplification Reduce the error so that a single assignment will be good for all x

Pr[[x Ax] · x Pr[Ax] < 2n 2-2n=1 Derandomization I Theorem: any f 2 BPP has a polynomial size circuit Simulating large sample spaces Want to find a small collection of strings on which the PTM behaves as on the large collection If the PTM errs with probability at most , then should err on at most + of the small collection Choose m random strings For input x event Ax is more than (+) of the m strings fail the PTM Pr[Ax] · e-22m < 2-2n Pr[[x Ax] · x Pr[Ax] < 2n 2-2n=1 Collection that should resemble probability of success on ALL inputs Bad  Good 1- Chernoff

Derandomization A major research question: How to make the construction of Small Sample space `resembling’ large one Hitting sets Efficient. Successful approach: randomness from hardness (Cryptographic) pseudo-random generators Complexity oriented pseudo-random generators

Alternation Non-determinism: a configuration leads to acceptance if there is an accepting leaf in the computation Similar to Or Can also consider leads to acceptance if all leaves are accepting Similar to And What if we alternate between the modes

Alternating Turing Machines An Alternating Turing Machines (ATM) is a non-deterministic TM whose state S ={SAND [ SOR} are partitioned into two sets For input x consider the tree of computations where each node is a configuration The ATM is accepting if the root leads to an accepting configuration: A leaf is accepting or not A node in state s 2 SAND leads to acceptance if both its children leads to acceptance A node in state s 2 SOR leads to acceptance if one of its children leads to acceptance

Alternating Time Classes ATIME(f(n))= class of language decided by an ATM where: All computations halt after at most f(|x|) steps ASPACE(f(n))= class of language decided by an ATM where: All computation halt Never use more than f(|x|) cells AL = ASPACE(log n) Theorem: AL = P Theorem: by simulating circuit Important point: if f 2 P then the circuit is constructable in log space Simulate the circuit from the output towards the inputs

Oracle Machines Recall: Oracle Turing Machine (OTM) have a special query tape where can ask membership queries and obtain answers Oracle for A – can ask whether x 2 A Oracle Machine with oracle for A: MA Can consider time classes with oracle CA PA ={L|there is an OTM MA that decides L in polynomial time} NPA ={L|there is an OTM MA that decides L in non deterministic polynomial time} Is PSAT = NPSAT ? Is PPSPACE = NPPSPACE ? Can consider Time Classes with oracle from another time class PNP ={L|there is an OTM M AND a language A2 L where MA decides L in polynomial time} Homework

Motivation: minimizing circuits Central problem in logic synthesis: What is the complexity of this problem? NP-hard? Is it in NP, coNP, PSPACE? Complete for any of these classes?  Given a Boolean circuit C Is there a circuit C’ of size smaller than C computing the same function that C does?      x1 x2 x3 … xn

The Polynomial-Time Hierarchy Can define many complexity classes using oracles Concentrate on classes that have natural complete problems have a natural interpretation in terms of alternating quantifiers help state consequences and containments

The Polynomial Time Hierarchy Version I: Oracles 0P = 0P = 0P =P i+1P = PiP Si+1P = NPiP Pi+1P = coNPiP PH = [i ¸ 0 SiP Notation sometimes iP

Polynomial time hierarchy First level of the hierarchy: 1P = P 0P = P S1P = NP 0P = NP P1P = CoNP 0P = CoNP If we believe the first level classes to be different from each other (and from the zero-level class(es)), are other levels also different? Does equality at one level imply one at the other levels? Are there interesting problems higher than the first level?

Polynomial time hierarchy Proposition: iPiP  i+1P  i+1Pi+1P Proof: iP iP  i+1P=PiP Example NPcoNP  PNP=2P We have an oracle for L  iP Ask the oracle and return answer for iP Ask the oracle and return the opposite for iP (which is co-iP).

Polynomially Balanced Relations A binary relation R µ {0,1}n £ {0,1}n is polynomially balanced if (x,y) 2 R, then |y|· |x|k for some k Characterization of NP in terms of witnesses: Claim: L 2 NP iff there is a polynomially balanced relation such that R2 P L={x| 9 y such that (x,y) 2 R} Claim: L 2 CoNP iff there is a polynomially balanced relation R2 P such that L={x| 8 y such that |y| · |x|k, (x,y) 2 R}

The Polynomial Time Hierarchy Version II: Quantifiers Theorem: Let L be a language and i ¸ 1. L 2 SiP iff there is a polynomially balanced relation R such that R 2 Pi-1P and L={x| 9 y such that (x,y) 2 R} Proof: by induction on i Interesting direction: show how to build a certificate checkable in Pi-1P from computation of NP machine with Si-1P oracle

Proof of Equivalence Proof of Theorem: induction on i Have seen base case Oracle definition implies quantifier definition: By definition ΣiP = NPΣi-1P = NPPi-1P Given L={x| 9 y such that (x,y)2R} and R2Pi-1P to see why it is in ΣiP: Guess y, ask oracle if (x, y)  R Can do since ΣiP = NPPi-1P

Proof of Equivalence Quantifier definition implies oracle definition: Given L  Σi = NPΣi-1 decided by an Oracle NTM M running in time nk First try: R = {(x, y) | y describes a valid path of M’s computation} Valid path = leading to qaccept Problem: how to recognize valid computation path when it depends on results of oracle queries?

Proof of Equivalence R = { (x, y) | y describes valid path of M’s computation} Try valid path = step-by-step description including correct yes/no answer for each A-oracle query zj (A  Σi-1P) e.g: z1 A, z2 2 A, z3 A, … zm A verify “no” queries in Pi-1P: e.g: z1 A  z3 A  …  zm A for each “yes” query zj , by induction. 9 wj, |wj| ≤ |zj|k with (zj, wj)  R’ for some R’  Pi-2P For each “yes” query zj put wj in description of path y

Proof of Equivalence Single relation R in Pi-1P : (x, y)  R IFF all “no” zj A and all “yes” zj have (zj, wj)  R’ and y is a path leading to qaccept. Key Point: the AND of Pi-1 predicates is in Pi-1.

The Polynomial Time Hierarchy Version II Corollary: Let L be a language and i ¸ 1. L 2 PiP iff there is a polynomially balanced relation R such that {(x,y)|(x,y) 2 R} 2 Si-1P and L={x| 8y with |y| · |x|k we have (x,y) 2 R} Proof: recall that Pi P is CoSiP Corollary: Let L be a language and i ¸ 1. L 2 SiP iff there is a polynomially balanced and polynomially decidable (i+1)-ary relation R such that L={x| 9 y1 8 y2 9 y3 …Q yi such that (x,y1, y2, … yi) 2 R} Quantifier Q is 9 if i is odd and Q is 8 if i is even Complete problem for iP

Collapse of the Hierarchy Theorem: If for some i ¸ 1 SiP=PiP, then for all j ¸ i SjP=PjP Proof: suffices to show SiP=PiP implies SiP=Si+1P Corollary : If NP=CoNP then the polynomial hierarchy collapses to the first level Similarly if P=NP

Interesting Languages in the hierarchy Minimum equivalent problems Minimum circuit: given a circuit C is it true that there is no circuit C’ with fewer gates that computes the same function as C Claim: Minimum circuit is in P2P: 8 C’, |C’| < |C| 9 x such that C(x)  C’(x) Minimum circuit is not known to be lower in the hierarchy or complete for P2P

Complete Problems for S2P Minimum DNF: given DNF f, integer k; is there a DNF f‘ of size at most k computing same function f does? Example: x1x2x3  x1x3  x4  x1x2  x1x3  x4 Theorem: (Umans 98): Minimum DNF is Σ2P-complete

Complete Problems for D2P Odd TSP: given a weighted graph G, is the length of the shortest TSP tour in G odd? Theorem: Odd TSP is Δ2P-complete Homework: Show Odd TSP is in Δ2P

Oracles vs. Algorithms Given a polynomial time algorithm for SAT Can you solve Minimum Circuit efficiently? What other consequences? Given an oracle for SAT same input/output behavior as algorithm! Key issue: is access to a program as a black box give you more power then given the code itself Recent developments in cryptography show a difference (Barak 2001)

BPP in the Hierarchy Do not know whether BPP µ NP Do not know whether BPP≠EXP Theorem: BPP µ P2P S2P Sufficient to show BPP µ S2P and then by symmetry BPP µ P2P L 2 BPP: Poly time PTM M: x  L  Pry[M(x,y) accepts] ≥ 2/3 x  L  Pry[M(x,y) rejects] ≥ 2/3 Consider a game between  and  players  player wants to prove x  L and  player wants to prove x  L Need to choose y cooperatively First attempt:  player chooses ρ 2 {0,1}n  player chooses t 2 {0,1}n Set y = ρ  t run M(x,y) There is a winning strategy for  player as long as Pry[M(x,y) accepts] <1

[i=1,2,3 { t | M(x,y) accepts for y = ρi  t} = {0,1}n BPP in the Hierarchy Since game was unfair to  player give him several chances Several (parallel) instances of the game Force the  player to use the same choice in all instances Second attempt:  player chooses ρ1, ρ1,… ρm where each ρi 2 {0,1}n  player chooses t 2 {0,1}n Set yi = ρi  t run M(x,y1), M(x,y2),…, M(x,ym) accept if any of the runs accepts Each ρi invalidates 2/3rds of possible t 2 {0,1}n Invalidates = not a useful response for  player Due to randomization by Xor By a hitting set argument there is a set of ρ1, ρ2,… ρm that invalidates all t 2 {0,1}n for m= n log3 2 But what happens when x  L? There might be {ρ1, ρ2, ρ3 } such that [i=1,2,3 { t | M(x,y) accepts for y = ρi  t} = {0,1}n Happens when bad witnesses are a coset of an ECC Each of size at most 1/3

1/ 2n’ |[i=1m { t | M(x,y) accepts for y = ρi  t}| BPP in the Hierarchy Can apply error reduction: Poly time PTM M’ use n’ random bits (|y’| = n’) fraction of strings y’ for which M’(x, y’) is incorrect is at most 1/n’ Now by the hitting set argument there is a set of ρ1, ρ2,… ρm that invalidates all t 2 {0,1}n for m= n’ /log n’ But when x  L for any choice of {ρ1, ρ2,…, ρm } 1/ 2n’ |[i=1m { t | M(x,y) accepts for y = ρi  t}| < n’ /log n’ ¢ 1/n’ Final form  player chooses ρ1, ρ1,… ρm where each ρi 2 {0,1}n’  player chooses t 2 {0,1}n’ Set yi = ρi  t run M’(x,y1), M’(x,y2),…, M’(x,ym) accept if any of the runs accepts clearly a S2P process Each of size at most 1/n’

More on BPP in the Hierarchy Simultaneous Provers To prove BPP ½ S2P we considered a game between  and  players  player wants to prove x  L and  player wants to prove x  L In S2P setting first  makes a move and then  player (based on ’s move) What if both players have to move simultaneously? Want strategy where  player wins whenever x  L even if  player makes move after  player  player wins whenever x  L even if  player makes move after  player Homework: Phrase the above requirements in terms of a polynomial time relation R(x,y,z) Show that for all L  BPP such a strategy exists Canetti’s class S_2^P

Polynomial sized circuits for SAT We know that P = NP implies SAT has poly-sized circuits (SAT  P/poly ). Showing SAT does not have poly-size circuits is a research direction for proving P ≠ NP Suppose SAT has poly-size circuits Can we show implies P = NP ? Instead show: SAT  P/poly  PH collapses (to second level) similar implication as if SAT  P

L={x| |x|=n implies (x,Cn(x)) 2 R} Self Reducibility Lemma: If SAT  P/poly then there exists a polynomial p(n) and family of circuits C1, C2 … such that Cn gets an n sized formula  and outputs A satisfying assignment if  is satisfiable Null if  is not satisfiable Corollary: If SAT  P/poly and R is polynomial time balanced relation, then for L = { x | z (x,z) 2 R} there is a family of circuits C1, C2 … such that L={x| |x|=n implies (x,Cn(x)) 2 R} Can define new polynomial relation R’ such that (x,C) 2 R’ iff (x,C(x))2R and C is of the right size. Proof in Papadimitriou seems to be wrong

Collapse of The Hierarchy Theorem: if SAT  P/poly then PH collapses to the second level. Proof: Show that P2P µ Σ2P If L  P2P then we know: L = { x | y z (x, y, z) 2 R } for R  P. “z (x, y, z)  R?” is in NP Let Cn be the SAT solver – produces certificate z z (x, y, z)  R iff (x, y, Cn(x,y))  R L = { x | Cn y (x, y, Cn(x,y)) 2 R } = { x | Cn y (x, y, Cn) 2 R’ }  S2P

Approximate Counting is in the Hierarchy Theorem: For any f 2 #P there is a g 2 Δ3P such that on input x and  g(x, ) outputs a (1+ ) approximation to f(x) (1-)g(x, ) · f(x) · (1+)g(x, ) Proof: key point – method for proving that sets are of certain size The set in question: A = Accept(M(x)) µ {0,1}m A function f is in #P if there exists a NTM M running in polynomial time where M(x) has f(x) accepting paths for all x 2 {0,1}n

Pair-wise Independent Hash Functions A family of hash functions H={h|h:{0,1}m  {0,1}ℓ } is pair-wise independent if: for all x ≠ y, for random h 2RH the random variables h(x), h(y) are uniformly distributed and independent In particular: Pr[h(x)=h(y)]= 1/2ℓ Already saw the approximate version for distributed equality testing Pr[h(x)=h(y)]·  Constructing H: Construction based on matrix multiplication. Treat x as a m £ 1 vector. The function is defined by a random m£ ℓ matrix over GF[2]. H={hA|A 2 GF[2]m£ ℓ and hA(x)=Ax }

Methods for proving sizes of sets Let H be family of hash functions where for h 2 H h:{0,1}m  {0,1}ℓ if h 2 H is 1-1 on A then clearly |A| · 2ℓ a bit difficult to expect full uniqueness Relaxed property: if there are h1, h2, … hℓ 2 H are such that for all x 2 A there is an 1 · i · l where for all x’ 2 A\{x} we have hi(x)  hi(x’) then we know |A| < ℓ 2ℓ Claim: for a pair-wise independent family H, if |A|· 2ℓ-1 , then there exist h1, h2, … hℓ 2 H with the no collisions property. Denote with UH(A,ℓ). Claim: for A=Accept(M) we have UH(A,ℓ) 2 Σ2P Can eliminate the quantifier on i by explicitly going over all possibilities! Conclusion: with oracles calls to UH(A,ℓ) can find smallest ℓ for which UH(A,ℓ) holds Yields a 2ℓ approximation for f(x) Can use amplification of f(x) by running M k times (from accepting positions). New machine M will have fk(x) by accepting paths No collisions property

Proof of No Collisions Claim For any x 2 A and any x’ 2 A\{x} if h is chosen at random from H Pr[h(x)=h(x’)]= 1/2ℓ By the Union bound Pr[h(x) is unique] ¸ |A| ¢ 1/2ℓ ¸ 1/2 Hitting set: Construct h1, h2, … hℓ one by one, each time covering at least ½ of elements in A that have not been unique so far Let A’ be the set not covered so far For any x 2 A’ and any x’ 2 A\{x} for random h 2R H Pr[h(x) is unique] ¸ |A| ¢ 1/2ℓ ¸ 1/2 Note: this is thefull A

Approximate Counting and Uniform Generation For self reducible problems: exact counting implies exact uniform generation of witnesses/solutions Approximate counting: almost uniform generation of solutions Theorem: if P=NP then given Boolean circuit C possible to sample almost uniformly at random satisfying assignment to C

The classes we discussed EXP The classes we discussed PSPACE #P PSPACE: Complete problems: TQBF, 2-person games, generalized geography, … 3rd level: Complete problems: VC dimension for succinct sets Containment: Approximate #P… 2nd level: Complete problems: Min DNF, Succinct Set Cover Containment: Min Circuit, BPP… 1st level: Complete problems: SAT, UNSAT,…lots… Containment: factoring, graph isomorphism… PH Σ3P Π3P Δ3P Σ2P Π2P Δ2P NP coNP BPP P

Some History Polynomial Time Hierarchy: Meyer-Stockmeyer BPP in the Hierarchy: Lautmann, Sipser Approximate Counting in the Hierarchy: Stockmeyer SAT  P/poly implies collapse: Karp-Lipton, Sipser Stockmeyer’s papers available: http://www.geocities.com/stockmeyer@sbcglobal.net/ Survey on problems high in the hierarchy: Schaefer and Umans http://www.cs.caltech.edu/umans