randomized computation

38
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

Upload: jhoirene-clemente

Post on 26-Jun-2015

299 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Randomized Computation

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

Page 2: Randomized Computation

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

Page 3: Randomized Computation

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 toa source of independent, unbiased, random bits. The algorithm isthen permitted to use these random bits to influence itscomputation.

We want to study TMs that has the power to toss random coins.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 4: Randomized Computation

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 toa source of independent, unbiased, random bits. The algorithm isthen permitted to use these random bits to influence itscomputation.

We want to study TMs that has the power to toss random coins.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 5: Randomized Computation

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 t.

3 Γ is the tape alphabet, where t ∈ Γ 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 6= qaccept

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 6: Randomized Computation

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

Page 7: Randomized Computation

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 acceptsits input.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 8: Randomized Computation

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

Page 9: Randomized Computation

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 twotransition functions δ0, δ1.

To execute a PTM M on an input x, we choose in each step withprobability 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) denotesthe 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 forany input x, M halts on x within T(|x|) steps regardless of therandom choices M makes.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 10: Randomized Computation

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 Mhas chosen the transition function t times, then M would havechosen any one of the 2t branches with a probability of 1

2t .We assign a probability to each branch b of M’s computation oninput w as follows. Define the probability of branch b to bePr[b] = 2−k, where k is the number of coin flip steps that occuron branch b.An NDTM accepts if ∃ one accepting branch. Define theprobability 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

Page 11: Randomized Computation

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 Mhas chosen the transition function t times, then M would havechosen any one of the 2t branches with a probability of 1

2t .We assign a probability to each branch b of M’s computation oninput w as follows. Define the probability of branch b to bePr[b] = 2−k, where k is the number of coin flip steps that occuron branch b.An NDTM accepts if ∃ one accepting branch. Define theprobability 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

Page 12: Randomized Computation

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 Mhas chosen the transition function t times, then M would havechosen any one of the 2t branches with a probability of 1

2t .We assign a probability to each branch b of M’s computation oninput w as follows. Define the probability of branch b to bePr[b] = 2−k, where k is the number of coin flip steps that occuron branch b.An NDTM accepts if ∃ one accepting branch. Define theprobability 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

Page 13: Randomized Computation

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 Mhas chosen the transition function t times, then M would havechosen any one of the 2t branches with a probability of 1

2t .We assign a probability to each branch b of M’s computation oninput w as follows. Define the probability of branch b to bePr[b] = 2−k, where k is the number of coin flip steps that occuron branch b.An NDTM accepts if ∃ one accepting branch. Define theprobability 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

Page 14: Randomized Computation

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 thelanguage and reject all strings out of the language as usual, except thatnow 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 probabilisticpolynomial time Turing machines with an error probability of 1/3.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 15: Randomized Computation

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 thelanguage and reject all strings out of the language as usual, except thatnow 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 probabilisticpolynomial time Turing machines with an error probability of 1/3.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 16: Randomized Computation

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 thelanguage and reject all strings out of the language as usual, except thatnow 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 probabilisticpolynomial time Turing machines with an error probability of 1/3.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 17: Randomized Computation

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 intime T(n), if for every x ∈ {0, 1}∗, M halts in T(|x|) steps regardlessof 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 byPTMs in O(T(n)) time and let

BPP = ∪cBPTIME(nc)

.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 18: Randomized Computation

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) withprobability at least 2/3.

2 The coin need not to be fair. The constant 2/3 is arbitrary in thesense that it can be replaced with any other constant greater than1/2 without changing the classes BPTIME(T(n)) and BPP.

3 Instead of requiring the machine to always halt in a polynomialtime, we could allow it to halt in expected polynomial time.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 19: Randomized Computation

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 bethe running time of M on input x. That is, Pr[TM,x = T] = p if withprobability p over the random choices of M on input x, it will haltwithin T steps.We say that M has an expected running time T(n) if the expectationE[TM,x] is at most T(|x|) for every x ∈ {0, 1}∗.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 20: Randomized Computation

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 bothtransition functions are equal) BPP clearly contains P.

Given a polynomial-time PTM M and input x ∈ {0, 1}n in time2poly(n) it is possible to enumerate all possible random choicesand compute precisely the probability that M(x) = 1.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 21: Randomized Computation

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 determinewhether or not it is prime.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 22: Randomized Computation

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 determinewhether or not it is prime.

PRIME(A, N):IF (gcd(A,N) > 1) or ((N/A) 6= A(N−1)/2 mod N)output COMPOSITE

ELSEoutput PRIME

Theorem

PRIMES ∈ BPP

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 23: Randomized Computation

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 determinewhether or not it is prime.

PRIME(A, N):IF (gcd(A,N) > 1) or ((N/A) 6= A(N−1)/2 mod N)output COMPOSITE

ELSEoutput PRIME

Theorem

PRIMES ∈ BPP

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 24: Randomized Computation

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

Page 25: Randomized Computation

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 thealgorithm outputs accept, we know that the input must be prime.When the output is reject, we know only that the input could be primeor composite.

Definition (RP)

A language L ⊆ {0, 1}∗ is said to be in RTIME(T (n)) if there exists aPTM 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

RP ⊆ NP but we do not know whether BPP ⊆ NP.S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 26: Randomized Computation

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 thealgorithm outputs accept, we know that the input must be prime.When the output is reject, we know only that the input could be primeor composite.

Definition (RP)

A language L ⊆ {0, 1}∗ is said to be in RTIME(T (n)) if there exists aPTM 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

RP ⊆ NP but we do not know whether BPP ⊆ NP.S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 27: Randomized Computation

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 PTMrunning 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

Page 28: Randomized Computation

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 anexpected 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

Page 29: Randomized Computation

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

Page 30: Randomized Computation

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

Page 31: Randomized Computation

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 constanterror probability would yield an equivalent definition as long as it isstrictly 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 anypolynomial poly(n) with a probabilistic polynomial time Turingmachine M1 that operates with error probability ε has an equivalentprobabilistic polynomial time Turing machine M2 that operates withan error probability of 2−poly(n).

PROOF IDEA: M2 simulates M1 by running it a polynomial numberof times and taking the majority vote of the outcomes. The probabilityof error decreases exponentially with the number of runs of M1 made.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 32: Randomized Computation

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

Page 33: Randomized Computation

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

Page 34: Randomized Computation

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

Page 35: Randomized Computation

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

Page 36: Randomized Computation

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 ⊆ Σp2 because BPP is closed under

complementation, i.e. BPP = coBPP.

S. Arora, B. Barak

Computational Complexity: A Modern Approach

Page 37: Randomized Computation

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

Page 38: Randomized Computation

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 aprobabilistic polynomial-time algorithm.

2 RP, coRP, and ZPP are subclasses of BPP corresponding toprobabilistic algorithms with one sided and ”zero sided” error.

3 Using repetition, we can considerably amplify the successprobability of probabilistic algorithms.

4 We only know that P ⊆ BPP ⊆ EXP, but we suspect thatBPP = P.

5 BPP is a subset of both P/poly and PH. in particular, the latterimplies that if NP = P then BPP = P.

S. Arora, B. Barak

Computational Complexity: A Modern Approach