1. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Chapter 7: Randomized Computation
Jhoirene Clemente
February 7, 2013
S. Arora, B. Barak
Computational Complexity: A Modern Approach
2. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Outline
1 Introduction
2 Probabilistic Turing Machines (PTM)
3 RP, coRP, ZPP
4 Error Reduction for BPP
5 Relation of BPP with other classes
6 Summary
S. Arora, B. Barak
Computational Complexity: A Modern Approach
3. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
A randomized algorithm is an algorithm that is allowed access to
a source of independent, unbiased, random bits. The algorithm is
then permitted to use these random bits to influence its
computation.
We want to study TMs that has the power to toss random coins.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
4. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
A randomized algorithm is an algorithm that is allowed access to
a source of independent, unbiased, random bits. The algorithm is
then permitted to use these random bits to influence its
computation.
We want to study TMs that has the power to toss random coins.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
5. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Introduction
Recall
Definition (Turing Machine)
A Turing machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q,
Σ, Γ are all finites sets and
1 Q is the set of states,
2 Σ is the input alphabet not containing the blank symbol .
3 Γ is the tape alphabet, where ∈ Γ and Σ ⊆ Γ,
4 δ : Q × Γ → Q × Γ × {L, R} is the transition function,
5 q0 ∈ Q is the start,
6 qaccept ∈ Q is the accept state, and
7 qreject ∈ Q is the reject state, where qreject = qaccept
S. Arora, B. Barak
Computational Complexity: A Modern Approach
6. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Example Deterministic Turing Machine
S. Arora, B. Barak
Computational Complexity: A Modern Approach
7. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Nondeterministic Turing Machine
Definition (Nondeterministic Turing Machine)
A nondeterministic Turing machine is a 7-tuple,
(Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finites sets and
δ : Q × Γ → P(Q × Γ × {L, R})
From each configuration, there may be several possible transitions,
generating a ‘tree’ of computations.
If some computation branch leads to accept, then the machine accepts
its input.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
8. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Outline
1 Introduction
2 Probabilistic Turing Machines (PTM)
3 RP, coRP, ZPP
4 Error Reduction for BPP
5 Relation of BPP with other classes
6 Summary
S. Arora, B. Barak
Computational Complexity: A Modern Approach
9. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Probabilistic Turing Machines (PTMs)
Definition (PTMs)
A Probabilistic Turing Machine (PTM) is a Turing machine with two
transition functions δ0, δ1.
To execute a PTM M on an input x, we choose in each step with
probability 1/2 to apply δ0 and with probability 1/2 to apply δ1.
This choice is made independently of all previous choices.
The machine outputs ACCEPT (1) or REJECT (0). M(x) denotes
the output of M on x and surely this is a random variable.
For a function T : N → N,we say that M runs in T(n) time if for
any input x, M halts on x within T(|x|) steps regardless of the
random choices M makes.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
10. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Probabilistic Turing Machine (PTM)
In a PTM M, each transition is taken with probability 1/2. If M
has chosen the transition function t times, then M would have
chosen any one of the 2t branches with a probability of 1
2t .
We assign a probability to each branch b of M’s computation on
input w as follows. Define the probability of branch b to be
Pr[b] = 2−k, where k is the number of coin flip steps that occur
on branch b.
An NDTM accepts if ∃ one accepting branch. Define the
probability that M accepts w to be
Pr[M accepts w] =
b is an accepting branch
Pr[b].
The probability that M rejects w is
Pr[M rejects w] = 1 − Pr[M accepts w]
S. Arora, B. Barak
Computational Complexity: A Modern Approach
11. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Probabilistic Turing Machine (PTM)
In a PTM M, each transition is taken with probability 1/2. If M
has chosen the transition function t times, then M would have
chosen any one of the 2t branches with a probability of 1
2t .
We assign a probability to each branch b of M’s computation on
input w as follows. Define the probability of branch b to be
Pr[b] = 2−k, where k is the number of coin flip steps that occur
on branch b.
An NDTM accepts if ∃ one accepting branch. Define the
probability that M accepts w to be
Pr[M accepts w] =
b is an accepting branch
Pr[b].
The probability that M rejects w is
Pr[M rejects w] = 1 − Pr[M accepts w]
S. Arora, B. Barak
Computational Complexity: A Modern Approach
12. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Probabilistic Turing Machine (PTM)
In a PTM M, each transition is taken with probability 1/2. If M
has chosen the transition function t times, then M would have
chosen any one of the 2t branches with a probability of 1
2t .
We assign a probability to each branch b of M’s computation on
input w as follows. Define the probability of branch b to be
Pr[b] = 2−k, where k is the number of coin flip steps that occur
on branch b.
An NDTM accepts if ∃ one accepting branch. Define the
probability that M accepts w to be
Pr[M accepts w] =
b is an accepting branch
Pr[b].
The probability that M rejects w is
Pr[M rejects w] = 1 − Pr[M accepts w]
S. Arora, B. Barak
Computational Complexity: A Modern Approach
13. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Probabilistic Turing Machine (PTM)
In a PTM M, each transition is taken with probability 1/2. If M
has chosen the transition function t times, then M would have
chosen any one of the 2t branches with a probability of 1
2t .
We assign a probability to each branch b of M’s computation on
input w as follows. Define the probability of branch b to be
Pr[b] = 2−k, where k is the number of coin flip steps that occur
on branch b.
An NDTM accepts if ∃ one accepting branch. Define the
probability that M accepts w to be
Pr[M accepts w] =
b is an accepting branch
Pr[b].
The probability that M rejects w is
Pr[M rejects w] = 1 − Pr[M accepts w]
S. Arora, B. Barak
Computational Complexity: A Modern Approach
14. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Error Probability
When a PTM recognized a language it must accept all strings in the
language and reject all strings out of the language as usual, except that
now we allow the machine a small probability of error.
For 0 ≤ < 1/2 we say that M recognizes A with error probability
if
1 w ∈ A implies Pr[M accepts w] ≥ (1 − ), and
2 w /∈ A implies Pr[M rejects w] ≥ (1 − ).
Definition (Bounded Error Probabilistic Polynomial (BPP))
BPP is the class of languages that are recognized by probabilistic
polynomial time Turing machines with an error probability of 1/3.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
15. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Error Probability
When a PTM recognized a language it must accept all strings in the
language and reject all strings out of the language as usual, except that
now we allow the machine a small probability of error.
For 0 ≤ < 1/2 we say that M recognizes A with error probability
if
1 w ∈ A implies Pr[M accepts w] ≥ (1 − ), and
2 w /∈ A implies Pr[M rejects w] ≥ (1 − ).
Definition (Bounded Error Probabilistic Polynomial (BPP))
BPP is the class of languages that are recognized by probabilistic
polynomial time Turing machines with an error probability of 1/3.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
16. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Error Probability
When a PTM recognized a language it must accept all strings in the
language and reject all strings out of the language as usual, except that
now we allow the machine a small probability of error.
For 0 ≤ < 1/2 we say that M recognizes A with error probability
if
1 w ∈ A implies Pr[M accepts w] ≥ (1 − ), and
2 w /∈ A implies Pr[M rejects w] ≥ (1 − ).
Definition (Bounded Error Probabilistic Polynomial (BPP))
BPP is the class of languages that are recognized by probabilistic
polynomial time Turing machines with an error probability of 1/3.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
17. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
BPTIME and BPP
Definition (The classes BPTIME and BPP)
For T : N → N and L ⊆ {0, 1}∗, we say that a PTM M decides L in
time T(n), if for every x ∈ {0, 1}∗, M halts in T(|x|) steps regardless
of its random choices, and
Pr[M(x) = L(x)] ≥ 2/3, s
where we denote L(x) = 1 if X /∈ L and L(x) = 0 if x ∈ L.
We let BPTIME(T(n)) denote the class of languages decided by
PTMs in O(T(n)) time and let
BPP = ∪cBPTIME(nc
)
.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
18. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Some Remarks
1 For every input x, M(x) will output the right value L(x) with
probability at least 2/3.
2 The coin need not to be fair. The constant 2/3 is arbitrary in the
sense that it can be replaced with any other constant greater than
1/2 without changing the classes BPTIME(T(n)) and BPP.
3 Instead of requiring the machine to always halt in a polynomial
time, we could allow it to halt in expected polynomial time.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
19. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Expected Running Time
For a PTM M, and input x, we define the random variable TM,x to be
the running time of M on input x. That is, Pr[TM,x = T] = p if with
probability p over the random choices of M on input x, it will halt
within T steps.
We say that M has an expected running time T(n) if the expectation
E[TM,x] is at most T(|x|) for every x ∈ {0, 1}∗.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
20. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Some Remarks
Theorem
P ⊆ BPP ⊆ EXP.
Proof.
Since a deterministic TM is a special case of a PTM (where both
transition functions are equal) BPP clearly contains P.
Given a polynomial-time PTM M and input x ∈ {0, 1}n in time
2poly(n) it is possible to enumerate all possible random choices
and compute precisely the probability that M(x) = 1.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
21. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Example: Primality Testing
In primality testing we are given an integer N and wish to determine
whether or not it is prime.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
22. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Example: Primality Testing
In primality testing we are given an integer N and wish to determine
whether or not it is prime.
PRIME(A, N):
IF (gcd(A, N) > 1) or ((N/A) = A(N−1)/2 mod N)
output COMPOSITE
ELSE
output PRIME
Theorem
PRIMES ∈ BPP
S. Arora, B. Barak
Computational Complexity: A Modern Approach
23. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Example: Primality Testing
In primality testing we are given an integer N and wish to determine
whether or not it is prime.
PRIME(A, N):
IF (gcd(A, N) > 1) or ((N/A) = A(N−1)/2 mod N)
output COMPOSITE
ELSE
output PRIME
Theorem
PRIMES ∈ BPP
S. Arora, B. Barak
Computational Complexity: A Modern Approach
24. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Outline
1 Introduction
2 Probabilistic Turing Machines (PTM)
3 RP, coRP, ZPP
4 Error Reduction for BPP
5 Relation of BPP with other classes
6 Summary
S. Arora, B. Barak
Computational Complexity: A Modern Approach
25. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
One sided zero sided error: RP, coRP, ZPP
The probabilistic primality algorithm has one-sided error. When the
algorithm outputs accept, we know that the input must be prime.
When the output is reject, we know only that the input could be prime
or composite.
Definition (RP)
A language L ⊆ {0, 1}∗ is said to be in RTIME(T (n)) if there exists a
PTM running in time T(n) s.t.
∀ x ∈ L, Pr[M(x) = 1] ≥ 2/3
∀ x ∈ L, Pr[M(x) = 0] = 1
The class RP = c<0 RTIME(T(n)).
Theorem
RP ⊆ BPP
S. Arora, B. Barak
Computational Complexity: A Modern Approach
26. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
One sided zero sided error: RP, coRP, ZPP
The probabilistic primality algorithm has one-sided error. When the
algorithm outputs accept, we know that the input must be prime.
When the output is reject, we know only that the input could be prime
or composite.
Definition (RP)
A language L ⊆ {0, 1}∗ is said to be in RTIME(T (n)) if there exists a
PTM running in time T(n) s.t.
∀ x ∈ L, Pr[M(x) = 1] ≥ 2/3
∀ x ∈ L, Pr[M(x) = 0] = 1
The class RP = c<0 RTIME(T(n)).
Theorem
RP ⊆ BPP
S. Arora, B. Barak
Computational Complexity: A Modern Approach
27. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
coRP
Definition (coRP)
A language L ⊂ {0, 1}∗ is said to be in coRP if there exists a PTM
running in polynomial time s.t.
∀ x ∈ L, Pr[M(x) = 1] = 1
∀ x ∈ L, Pr[M(x) = 0] ≥ 2/3
Theorem
PRIMES ∈ coRP
Theorem
coRP ⊆ BPP
S. Arora, B. Barak
Computational Complexity: A Modern Approach
28. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
ZPP
Definition (ZTIME(T(n)) and ZPP)
The class ZTIME(T(n)) contains all languages L for which there is an
expected time O(T((n)) machine that never errs. That is
x ∈ L ⇒ Pr[M accepts x] =1
x /∈ L ⇒ Pr[M halts without accepting x] =1
We define ZPP = c>0 ZTIME(nc).
Theorem
ZPP = RP ∩ coRP
S. Arora, B. Barak
Computational Complexity: A Modern Approach
29. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Complexity Classes
S. Arora, B. Barak
Computational Complexity: A Modern Approach
30. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Outline
1 Introduction
2 Probabilistic Turing Machines (PTM)
3 RP, coRP, ZPP
4 Error Reduction for BPP
5 Relation of BPP with other classes
6 Summary
S. Arora, B. Barak
Computational Complexity: A Modern Approach
31. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Amplification Lemma
We defined BPP with an error probability of 1/3, but any constant
error probability would yield an equivalent definition as long as it is
strictly between 0 and 1/2 by virtue of amplification lemma.
Lemma (Amplification Lemma)
Let be a fixed constant strictly between 0 and 1/2. Then for any
polynomial poly(n) with a probabilistic polynomial time Turing
machine M1 that operates with error probability has an equivalent
probabilistic polynomial time Turing machine M2 that operates with
an error probability of 2−poly(n).
PROOF IDEA: M2 simulates M1 by running it a polynomial number
of times and taking the majority vote of the outcomes. The probability
of error decreases exponentially with the number of runs of M1 made.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
32. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Outline
1 Introduction
2 Probabilistic Turing Machines (PTM)
3 RP, coRP, ZPP
4 Error Reduction for BPP
5 Relation of BPP with other classes
6 Summary
S. Arora, B. Barak
Computational Complexity: A Modern Approach
33. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Relation of BPP with other classes
1 P ⊆ BPP
2 BPP ⊆ EXP
3 RP ⊆ BPP
4 coRP ⊆ BPP
5 ZPP = RP ∩ coRP
6 ZPP ⊆ BPP
S. Arora, B. Barak
Computational Complexity: A Modern Approach
34. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
BPP is in P/poly
Theorem
BPP ⊆ P/poly
S. Arora, B. Barak
Computational Complexity: A Modern Approach
35. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
PH
S. Arora, B. Barak
Computational Complexity: A Modern Approach
36. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Is BPP in PH?
It is enough to prove that BPP ⊆ Σp
2 because BPP is closed under
complementation, i.e. BPP = coBPP.
S. Arora, B. Barak
Computational Complexity: A Modern Approach
37. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Outline
1 Introduction
2 Probabilistic Turing Machines (PTM)
3 RP, coRP, ZPP
4 Error Reduction for BPP
5 Relation of BPP with other classes
6 Summary
S. Arora, B. Barak
Computational Complexity: A Modern Approach
38. Introduction Probabilistic Turing Machines (PTM) RP, coRP, ZPP Error Reduction for BPP Relation of BPP with other classes Summary
Summary
1 The class BPP consists of languages that can be solved by a
probabilistic polynomial-time algorithm.
2 RP, coRP, and ZPP are subclasses of BPP corresponding to
probabilistic algorithms with one sided and ”zero sided” error.
3 Using repetition, we can considerably amplify the success
probability of probabilistic algorithms.
4 We only know that P ⊆ BPP ⊆ EXP, but we suspect that
BPP = P.
5 BPP is a subset of both P/poly and PH. in particular, the latter
implies that if NP = P then BPP = P.
S. Arora, B. Barak
Computational Complexity: A Modern Approach