Pseudorandomness Learning Notes

Pseudorandomness learning notes.

The Power of Randomness

Some Kinds of Complexity Classes

Monte Carlo:

Randomized Polynomial Time: RP\text{RP} is a class of languages LL: \exists a probabilistic polynomial time algorithm AA, s.t.:

xLPr[A(x) accepts]1/2xLPr[A(x) accepts]=0x\in L\Rightarrow \Pr[A(x)\text{ accepts}]\ge 1/2\\ x\notin L\Rightarrow \Pr[A(x)\text{ accepts}]=0

Bounded-error Probabilistic Polynomial Time: BPP\text{BPP} is a class of languages LL: \exists a probabilistic polynomial time algorithm AA, s.t.:

xLPr[A(x) accepts]2/3xLPr[A(x) accepts]1/3x\in L\Rightarrow \Pr[A(x)\text{ accepts}]\ge 2/3\\ x\notin L\Rightarrow \Pr[A(x)\text{ accepts}]\le 1/3

Las Vegas:

Zero-error Prbabilistic Polynomial Time: ZPP\text{ZPP} is a class of languages LL: \exists a always correct probabilistic algorithm AA runs in expected polynomial time.

Problem 2.3 (Zero error versus 1-sided error): Prove that ZPP=RPco-RP\text{ZPP} = \text{RP} ∩ \text{co-RP}.

Proof: First we prove that RPco-RPZPP\text{RP} ∩ \text{co-RP}\subset \text{ZPP}.

Let LL be a language in RPco-RP\text{RP} ∩ \text{co-RP}.

LRPL\in \text{RP} tells us that there exists a probabilistic polynomial time algorithm AA, s.t.:

xLPr[A(x) accepts]1/2xLPr[A(x) accepts]0x\in L\Rightarrow \Pr[A(x)\text{ accepts}]\ge 1/2\\ x\notin L\Rightarrow \Pr[A(x)\text{ accepts}]0

Similarly, there exists a probabilistic polynomial time algorithm BB, s.t.:

xLPr[A(x) accepts]=1xLPr[A(x) accepts]1/2x\in L\Rightarrow \Pr[A(x)\text{ accepts}]=1\\ x\notin L\Rightarrow \Pr[A(x)\text{ accepts}]\le 1/2

We design a algorithm CC that x{0,1},C(x) accepts    B(x) accepts,C(x) rejects    A(x) rejects\forall x\in \{0,1\}^*,C(x)\text{ accepts}\iff B(x)\text{ accepts},C(x)\text{ rejects}\iff A(x)\text{ rejects}.

Obviously, CC is always correct. and runs in polynomial time. Therefore LZPPL\in \text{ZPP}. Thus we have RPco-RPZPP\text{RP} ∩ \text{co-RP}\subset \text{ZPP}.

Second we prove that ZPPRPco-RP\text{ZPP} \subset \text{RP} ∩ \text{co-RP}.

Let LL be a language in ZPP\text{ZPP}, thus there exists a always correct probabilistic algorithm AA runs in expected polynomial time.

Let E(t)\mathbb E(t) be the expected running time of AA. We run AA in at most 2E(t)2\mathbb E(t) time. If A(x)A(x) does not stop in 2E(t)2\mathbb E(t) time, we let AA directly reject xx.

Obviously, Pr[A(x) rejects]=0(xL)\Pr[A(x)\text{ rejects}]=0\,(x\notin L). And by using Markov’s inequality, we have:

xL,Pr[A(x) accepts]=1Pr[A(x) rejects]=1Pr[t>2E(t)]11/2=1/2\forall x\in L, \Pr[A(x)\text{ accepts}]=1-\Pr[A(x)\text{ rejects}]=1-\Pr[t>2\mathbb E(t)]\ge 1-1/2=1/2

Therefore LRPL\in \text{RP}. Similarly, Lco-RPL\in \text{co-RP}. Thus we have ZPPRPco-RP\text{ZPP} \subset \text{RP} ∩ \text{co-RP}.

The above then implies ZPP=RPco-RP\text{ZPP}=\text{RP} ∩ \text{co-RP}, as desired.

\Box

Open Problem: Are any of inclusions textPZPPRPBPPtext{P}\subset \text{ZPP}\subset \text{RP} \subset \text{BPP} proper?