0 likes | 16 Views
Topics covered include BPP complexity class, Amplification Lemma in complexity theory, implications of randomness in computation, P vs. BPP debate, and brute-force derandomization techniques. Discusses the Extended Church-Turing Thesis and the quest to understand efficient computation. The Amplification Lemma showcases how error probabilities can be reduced rapidly, challenging the belief that randomness is not essential in computations.
E N D
CMSC 28100 Introduction to Complexity Theory Complexity Theory Spring 2024 Instructor: William Hoza 1
Which problems Which problems can be solved can be solved through computation? through computation? 2
Randomized Turing machines ♢ Input tape ➡ ⊔ 1 1 ⊔ 0 ♢ Randomness tape ➡ 3
The complexity class BPP • Let ? ⊆ Σ∗be a language • Definition: ? ∈ BPP if there exists a randomized polynomial-time Turing machine ? such that for every ? ∈ Σ∗: • If ? ∈ ?, then Pr ? accepts ? ≥ 2/3 • If ? ∉ ?, then Pr ? accepts ? ≤ 1/3 • “Bounded-error Probabilistic Polynomial-time” 4
Amplification lemma • Let ? ∈ BPP, and let ? ∈ ℕ be any constant Amplification Lemma: There exists a randomized polynomial-time Turing machine ? such that for every ? ∈ ℕ and every ? ∈ Σ?: If ? ∈ ?, then Pr ? accepts ? ≥ 1 − 1/2?? • If ? ∉ ?, then Pr ? accepts ? ≤ 1/2?? • • As ? → ∞, the error probability goes to 0 extremely rapidly! 5
Proof of the amplification lemma • For simplicity, we will only prove the amplification lemma in a special case • We will assume that there is a randomized poly-time Turing machine ?0 such that for every ? ∈ Σ∗: • If ? ∈ ?, then Pr ?0accepts ? ≥ 2/3 ⬅️ No false positives! • If ? ∉ ?, then Pr ?0accepts ? = 0 • See the textbook for a proof of the general case 6
• If ?0uses ?(?) many random bits, then how many random bits does ? use? If ? ∈ ?, then Pr ?0accepts ? ≥ 2/3 • If ? ∉ ?, then Pr ?0accepts ? = 0 Proof of the amplification lemma A: ? ? + ?? B: ?(?) ⋅ ?? C: ? ?? D: Not enough information • Low-error algorithm ?: Given ? ∈ Σ?: Respond at PollEv.com/whoza or text “whoza” to 22333 1) For ? = 1 to ??: Simulate ?0on ? using fresh random bits. a) Polynomial time If ?0accepts, accept. b) 2) Reject. • If ? ∉ ?, then Pr ? accepts ? = 0. Still no false positives • If ? ∈ ?, then Pr ? rejects ? ≤ 1/3??= 1/3??< 1/2?? 7
BPP as a model of tractability • Because of the amplification lemma, languages in BPP should be considered “tractable” • A mistake that occurs with probability 1/2100can be safely ignored • (Even if you use a deterministic algorithm, can you really be 100% certain that the computation was carried out correctly?) 8
Extended Church-Turing Thesis • Let ? be a language Extended Church-Turing Thesis: It is physically possible to build a device that decides ? in polynomial time if and only if ? ∈ P. • Does the BPP model disprove the extended Church-Turing thesis? 9
P vs. BPP BPP • P ⊆ BPP P • Does P = BPP? • Is randomness helpful for computation? • If P ≠ BPP, then the extended Church-Turing thesis is false • This is a profound question about the nature of efficient computation • It’s an open question! Nobody knows how to prove P = BPP or P ≠ BPP 10
P vs. BPP • In communication complexity, randomness is powerful • There are some languages in BPP that are not known to be in P • These considerations might suggest P ≠ BPP • Surprisingly, there is a significant body of evidence favoring the opposite! Conjecture: P = BPP 11
Extended Church-Turing Thesis • Let ? be a language Extended Church-Turing Thesis: It is physically possible to build a device that decides ? in polynomial time if and only if ? ∈ P. • Assuming P = BPP, the extended Church-Turing thesis survives the challenge posed by randomized computation! 12
Derandomization • Suppose ? ∈ BPP • If we want to decide ? without randomness, what can we do? • How can we convert a randomized algorithm into a deterministic algorithm? 13
Brute-force derandomization • Let ? be the randomized polynomial-time Turing machine guaranteed by the assumption ? ∈ BPP. Say ? runs in time ?? • Deterministic algorithm that decides ?: Given ? ∈ Σ?: For every ? ∈ 0,1??: 1. Simulate ?, initialized with ? on tape 1 and ? on tape 2 a) b) Keep a count of how many simulations accept 2. If more than half of the simulations accepted, then accept. Otherwise, reject 14
Brute-force derandomization: Correctness For every ? ∈ 0,1??: 1. Simulate ?, initialized with ? on tape 1 and ? on tape 2 a) b) Keep a count of how many simulations accept 2. If more than half of the simulations accepted, then accept. Otherwise, reject What is the time complexity of the algorithm? • If ? ∈ ?, then at least two thirds of the simulations will accept A: 2poly ? B: poly ? • If ? ∉ ?, then at most two thirds of the simulations will accept C: 22Θ ? D: ∞ Respond at PollEv.com/whoza or text “whoza” to 22333 15
Brute-force derandomization: Time complexity For every ? ∈ 0,1??: 1. Simulate ?, initialized with ? on tape 1 and ? on tape 2 a) b) Keep a count of how many simulations accept 2. If more than half of the simulations accepted, then accept. Otherwise, reject • Time complexity: 2poly ?☹️ • This algorithm does not show that P = BPP, but it does show that even randomized algorithms have limitations. For example, HALT ∉ BPP 16
The complexity class EXP • Definition: EXP is the class of languages that can be decided in time 2poly ?: ∞ TIME 2?? EXP = ?=1 • Brute-force derandomization proves that BPP ⊆ EXP 17
P ⊆ BPP ⊆ EXP HALT Decidable languages EXP BPP DECOMPOSABLE-INTO-SQUARES P PALINDROMES 18
Brute-force derandomization: Space complexity For every ? ∈ 0,1??: 1. Simulate ?, initialized with ? on tape 1 and ? on tape 2 a) b) Keep a count of how many simulations accept 2. If more than half of the simulations accepted, then accept. Otherwise, reject What is the space complexity of the algorithm? A: 2Θ ?? B: poly ? C: 22Θ ? D: ∞ Respond at PollEv.com/whoza or text “whoza” to 22333 19
The complexity class PSPACE • Let ? be a language • Definition: ? ∈ PSPACE if there exists a Turing machine ? that decides ? with space complexity ? ??for some constant ? ∈ ℕ • Brute-force derandomization proves that BPP ⊆ PSPACE 20
PSPACE vs. EXP • We have proven two upper bounds on the power of BPP: • BPP ⊆ EXP • BPP ⊆ PSPACE • Which theorem is stronger? • How does PSPACE compare to EXP? 21
Theorem: PSPACE ⊆ EXP • Proof: Let ? be a Turing machine that decides a language ? • Let ?,? be the amounts of time/space that ? uses on some input ? • Problem set 2: ? ≤ ??+1, where ? depends only on ? • When ? = poly ? , we get ? ≤ ?poly ?= 2log ?poly ? = 2log ? ⋅poly ?= 2poly ? 22
Decidable languages EXP PSPACE BPP P 23