CS151 Complexity Theory

48
CS151 Complexity Theory Lecture 8 April 26, 2017

description

CS151 Complexity Theory. Lecture 8 April 25, 2013. Randomized complexity classes. model: probabilistic Turing Machine deterministic TM with additional read-only tape containing “coin flips” BPP ( B ounded-error P robabilistic P oly-time) L  BPP if there is a p.p.t. TM M: - PowerPoint PPT Presentation

Transcript of CS151 Complexity Theory

Page 1: CS151 Complexity Theory

CS151Complexity Theory

Lecture 8April 26, 2017

Page 2: CS151 Complexity Theory

April 26, 2017 2

BPP• How powerful is BPP?• We have seen an example of a problem in

BPP that we only know how to solve in EXP.

Is randomness a panacea for intractability?

Page 3: CS151 Complexity Theory

April 26, 2017 3

BPP• It is not known if BPP = EXP (or even

NEXP!) – but there are strong hints that it does not

• Is there a deterministic simulation of BPP that does better than brute-force search?– yes, if allow non-uniformity

Theorem (Adleman): BPP P/poly

Page 4: CS151 Complexity Theory

April 26, 2017 4

BPP and Boolean circuits

• Proof: – language L BPP – error reduction gives TM M such that

• if x L of length n

Pry[M(x, y) accepts] ≥ 1 – (½)n2

• if x L of length n

Pry[M(x, y) rejects] ≥ 1 – (½)n2

Page 5: CS151 Complexity Theory

April 26, 2017 5

BPP and Boolean circuits

– say “y is bad for x” if M(x,y) gives incorrect answer

– for fixed x: Pry[y is bad for x] ≤ (½)n2

– Pry[y is bad for some x] ≤ 2n(½)n2< 1

– Conclude: there exists some y on which M(x, y) is always correct

– build circuit for M, hardwire this y

Page 6: CS151 Complexity Theory

April 26, 2017 6

BPP and Boolean circuits

• Does BPP = EXP ?• Adleman’s Theorem shows:

BPP = EXP implies EXP P/poly

If you believe that randomness is all-powerful, you must also believe

that non-uniformity gives an exponential advantage.

Page 7: CS151 Complexity Theory

April 26, 2017 7

BPP• Next:

further explore the relationship between randomness

and nonuniformity

• Main tool: pseudo-random generators

Page 8: CS151 Complexity Theory

April 26, 2017 8

Derandomization

• Goal: try to simulate BPP in subexponential time (or better)

• use Pseudo-Random Generator (PRG):

• often: PRG “good” if it passes (ad-hoc) statistical tests

seed output stringGt bits m

bits

Page 9: CS151 Complexity Theory

April 26, 2017 9

Derandomization

• ad-hoc tests not good enough to prove BPP has non-trivial simulations

• Our requirements:– G is efficiently computable– “stretches” t bits into m bits– “fools” small circuits: for all circuits C of size at

most s:

|Pry[C(y) = 1] – Prz[C(G(z)) = 1]| ≤ ε

Page 10: CS151 Complexity Theory

April 26, 2017 10

Simulating BPP using PRGs• Recall: L BPP implies exists p.p.t.TM M

x L Pry[M(x,y) accepts] ≥ 2/3x L Pry[M(x,y) rejects] ≥ 2/3

• given an input x:– convert M into circuit C(x, y)– simplification: pad y so that |C| = |y| = m

• hardwire input x to get circuit Cx

Pry[Cx(y) = 1] ≥ 2/3 (“yes”)

Pry[Cx(y) = 1] ≤ 1/3 (“no”)

Page 11: CS151 Complexity Theory

April 26, 2017 11

Simulating BPP using PRGs

• Use a PRG G with– output length m– seed length t « m– error ε < 1/6– fooling size s = m

• Compute Prz[Cx(G(z)) = 1] exactly– evaluate Cx(G(z)) on every seed z {0,1}t

• running time (O(m)+(time for G))2t

Page 12: CS151 Complexity Theory

April 26, 2017 12

Simulating BPP using PRGs

• knowing Prz[Cx(G(z)) = 1], can distinguish between two cases:

0 1/3 1/2 2/3 1“yes”:

ε

0 1/3 1/2 2/3 1“no”:

ε

Page 13: CS151 Complexity Theory

April 26, 2017 13

Blum-Micali-Yao PRG

• Initial goal: for all 1 > δ > 0, we will build a family of PRGs {Gm} with:output length m fooling size s = mseed length t = mδrunning time mc

error ε < 1/6

• implies: BPP δ>0 TIME(2nδ ) ( EXP• Why? simulation runs in time

O(m+mc)(2mδ) = O(2m2δ) = O(2n2kδ)

Page 14: CS151 Complexity Theory

April 26, 2017 14

Blum-Micali-Yao PRG• PRGs of this type imply existence of one-way-

functions– we’ll use widely believed cryptographic assumptions

Definition: One Way Function (OWF): function family f = {fn}, fn:{0,1}n

{0,1}n

– fn computable in poly(n) time

– for every family of poly-size circuits {Cn}

Prx[Cn(fn(x)) fn-1(fn(x))] ≤ ε(n)

– ε(n) = o(n-c) for all c

Page 15: CS151 Complexity Theory

April 26, 2017 15

Blum-Micali-Yao PRG

• believe one-way functions exist– e.g. integer multiplication, discrete log, RSA

(w/ minor modifications)

Definition: One Way Permutation: OWF in which fn is 1-1– can simplify “Prx[Cn(fn(x)) fn

-1(fn(x))] ≤ ε(n)” to

Pry[Cn(y) = fn-1(y)] ≤ ε(n)

Page 16: CS151 Complexity Theory

April 26, 2017 16

First attempt

• attempt at PRG from OWP f:– t = mδ

– y0 {0,1}t

– yi = ft(yi-1)

– G(y0) = yk-1yk-2yk-3…y0

– k = m/t• computable in time at most

ktc < mtc-1 = mc

Page 17: CS151 Complexity Theory

April 26, 2017 17

First attempt

• output is “unpredictable”:– no poly-size circuit C can output yi-1 given

yk-1yk-2yk-3…yi with non-negl. success prob.

– if C could, then given yi can compute yk-1, yk-2, …, yi+2, yi+1 and feed to C

– result is poly-size circuit to compute yi-1 = ft

-1(yi) from yi

– note: we’re using that ft is 1-1

Page 18: CS151 Complexity Theory

April 26, 2017 18

First attempt

attempt:• y0 {0,1}t

• yi = ft(yi-1)

• G(y0) =

yk-1yk-2yk-3…y0

y0y1y2y3y4y5

ftftftftft

G(y0):

y0y1y2y3y4y5

ft-1ftft

G ’(y3):

ft-1ft

-1

same distribution!

Page 19: CS151 Complexity Theory

April 26, 2017 19

First attempt

• one problem:– hard to compute yi-1 from yi

– but might be easy to compute single bit (or several bits) of yi-1 from yi

– could use to build small circuit C that distinguishes G’s output from uniform distribution on {0,1}m

Page 20: CS151 Complexity Theory

April 26, 2017 20

First attempt

• second problem

– we don’t know if “unpredictability” given a prefix is sufficient to meet fooling requirement:

|Pry[C(y) = 1] – Prz[C(G(z)) = 1]| ≤ ε

Page 21: CS151 Complexity Theory

April 26, 2017 21

Hard bits

• If {fn} is one-way permutation we know:– no poly-size circuit can compute fn

-1(y) from y with non-negligible success probability

Pry[Cn(y) = fn-1(y)] ≤ ε’(n)

• We want to identify a single bit position j for which:– no poly-size circuit can compute (fn

-1(x))j from x with non-negligible advantage over a coin flip

Pry[Cn(y) = (fn-1(y))j] ≤ ½ + ε(n)

Page 22: CS151 Complexity Theory

April 26, 2017 22

Hard bits

• For some specific functions f we know of such a bit position j

• More general: function hn:{0,1}n {0,1}

rather than just a bit position j.

Page 23: CS151 Complexity Theory

April 26, 2017 23

Hard bitsDefinition: hard bit for g = {gn} is family h = {hn}, hn:

{0,1}n {0,1} such that if circuit family {Cn} of size s(n) achieves:

Prx[Cn(x) = hn(gn(x))] ≥ ½ + ε(n)

then there is a circuit family {C’n} of size s’(n) that achieves:

Prx[C’n(x) = gn(x)] ≥ ε’(n)

with:– ε’(n) = (ε(n)/n)O(1)

– s’(n) = (s(n)n/ε(n))O(1)

Page 24: CS151 Complexity Theory

April 26, 2017 24

Goldreich-Levin

• To get a generic hard bit, first need to modify our one-way permutation

• Define f’n :{0,1}n x {0,1}n {0,1}2n as:

f’n(x,y) = (fn(x), y)

Page 25: CS151 Complexity Theory

April 26, 2017 25

Goldreich-Levin

• Two observations:– f’ is a permutation if f is

– if circuit Cn achieves

Prx,y[Cn(x,y) = f’n-1(x,y)] ≥ ε(n)

then for some y*

Prx[Cn(x,y*)=f’n-1(x,y*)=(fn-1(x), y*)] ≥ ε(n)

and so f’ is a one-way permutation if f is.

f’n(x,y) = (fn(x), y)

Page 26: CS151 Complexity Theory

April 26, 2017 26

Goldreich-Levin

• The Goldreich-Levin function: GL2n : {0,1}n x {0,1}n {0,1}

is defined by:GL2n (x,y) = i:yi = 1xi

– parity of subset of bits of x selected by 1’s of y– inner-product of n-vectors x and y in GF(2)

Theorem (G-L): for every function f, GL is a hard bit for f’. (proof: problem set)

Page 27: CS151 Complexity Theory

April 26, 2017 27

Distinguishers and predictors

• Distribution D on {0,1}n

• D ε-passes statistical tests of size s if for all circuits of size s:

|PryUn[C(y) = 1] – Pry D[C(y) = 1]| ≤ ε

– circuit violating this is sometimes called an efficient “distinguisher”

Page 28: CS151 Complexity Theory

April 26, 2017 28

Distinguishers and predictors

• D ε-passes prediction tests of size s if for all circuits of size s:

PryD[C(y1,2,…,i-1) = yi] ≤ ½ + ε– circuit violating this is sometimes called an

efficient “predictor”• predictor seems stronger• Yao showed essentially the same!

– important result and proof (“hybrid argument”)

Page 29: CS151 Complexity Theory

April 26, 2017 29

Distinguishers and predictors

Theorem (Yao): if a distribution D on {0,1}n (ε/n)-passes all prediction tests of size s, then it ε-passes all statistical tests of size s’ = s – O(n).

Page 30: CS151 Complexity Theory

April 26, 2017 30

Distinguishers and predictors

• Proof:– idea: proof by contradiction– given a size s’ distinguisher C:

|PryUn[C(y) = 1] – Pry D[C(y) = 1]| > ε

– produce size s predictor P:

PryD[P(y1,2,…,i-1) = yi] > ½ + ε/n

– work with distributions that are “hybrids” of the uniform distribution Un and D

Page 31: CS151 Complexity Theory

April 26, 2017 31

Distinguishers and predictors

– given a size s’ distinguisher C:

|PryUn[C(y) = 1] – Pry D[C(y) = 1]| > ε

– define n+1 hybrid distributions – hybrid distribution Di:

• sample b = b1b2…bn from D

• sample r = r1r2…rn from Un

• output:

b1b2…bi ri+1ri+2…rn

Page 32: CS151 Complexity Theory

April 26, 2017 32

Distinguishers and predictors

• Hybrid distributions:

D0 = Un:

Dn = D:

Di-1:Di:

... ...

... ...

Page 33: CS151 Complexity Theory

April 26, 2017 33

Distinguishers and predictors

– Define: pi = PryDi[C(y) = 1]

– Note: p0=PryUn[C(y)=1]; pn=PryD[C(y)=1]

– by assumption: ε < |pn – p0|

– triangle inequality: |pn – p0| ≤ Σ1 ≤ i ≤ n|pi – pi-1|

– there must be some i for which

|pi – pi-1| > ε/n

– WLOG assume pi – pi-1 > ε/n • can invert output of C if necessary

Page 34: CS151 Complexity Theory

April 26, 2017 34

Distinguishers and predictors– define distribution Di’ to be Di with i-th bit

flipped– pi’ = PryDi’

[C(y) = 1]

– notice:Di-1 = (Di + Di’ )/2 pi-1 = (pi + pi’ )/2

Di-1:Di:

Di’:

Page 35: CS151 Complexity Theory

April 26, 2017 35

Distinguishers and predictors

• randomized predictor P’ for ith bit:– input: u = y1y2…yi-1 (which comes from D)– flip a coin: d {0,1}– w = wi+1wi+2…wn Un-i

– evaluate C(udw) – if 1, output d; if 0, output d

Claim:Pry D,d,w Un-i

[P’(y1…i-1) = yi] > ½ + ε/n.

Page 36: CS151 Complexity Theory

April 26, 2017 36

Distinguishers and predictors

• P’ is randomized procedure• there must be some fixing of its random

bits d, w that preserves the success prob.• final predictor P has d* and w* hardwired:

Cmay need to add gate

d*

w*

circuit for P:

Size is

s’ + O(n) = s

as promised

Page 37: CS151 Complexity Theory

April 26, 2017 37

Distinguishers and predictors

• Proof of claim:Pry D,d,w Un-i

[P’(y1…i-1) = yi] =

Pr[yi = d | C(u,d,w) = 1]Pr[C(u,d,w) = 1]

+ Pr[yi = d | C(u,d,w) = 0]Pr[C(u,d,w) = 0]

= Pr[yi = d | C(u,d,w) = 1](pi-1)

+ Pr[yi = d | C(u,d,w) = 0](1 - pi-1)

u = y1y2…yi-1

Page 38: CS151 Complexity Theory

April 26, 2017 38

Distinguishers and predictors

– Observe:Pr[yi = d | C(u,d,w) = 1]

= Pr[C(u,d,w) = 1 | yi = d]Pr[yi=d] / Pr[C(u,d,w) = 1]

= pi/(2pi-1)

Pr[yi = d | C(u,d,w) = 0]

= Pr[C(u,d,w) = 0 | yi= d]Pr[yi=d] / Pr[C(u,d,w) = 0]

= (1 – pi’) / 2(1 - pi-1)

Di-1

Di

Di’

u = y1y2…yi-1

Page 39: CS151 Complexity Theory

April 26, 2017 39

Distinguishers and predictors• Success probability:

Pr[yi=d|C(u,d,w)=1](pi-1) + Pr[yi=d|C(u,d,w)=0](1-pi-1)• We know:

– Pr[yi = d | C(u,d,w) = 1] = pi/(2pi-1)– Pr[yi = d | C(u,d,w) = 0] = (1 - pi’)/2(1 - pi-1)– pi-1 = (pi + pi’)/2– pi – pi-1 > ε/n

• Conclude:Pr[P’(y1…i-1) = yi] = ½ + (pi - pi’)/2

= ½ + pi/2 – (pi-1 – pi/2) = ½ + pi – pi-1 > ½ + ε/n.

pi’/2 = pi-1 – pi/2

Page 40: CS151 Complexity Theory

April 26, 2017 40

The BMY Generator

• Recall goal: for all 1 > δ > 0, family of PRGs {Gm} withoutput length m fooling size s = mseed length t = mδ running time mc

error ε < 1/6

• If one way permutations exist then WLOG there is OWP f = {fn} with hard bit h = {hn}

Page 41: CS151 Complexity Theory

April 26, 2017 41

The BMY Generator

• Generator Gδ = {Gδm}:

– t = mδ

– y0 {0,1}t

– yi = ft(yi-1)

– bi = ht(yi)

– Gδ(y0) = bm-1bm-2bm-3…b0

Page 42: CS151 Complexity Theory

April 26, 2017 42

The BMY Generator

Theorem (BMY): for every δ > 0, there is a constant c s.t. for all d, e, Gδ is a PRG with

error ε < 1/md

fooling size s = me

running time mc

• Note: stronger than we needed– sufficient to have ε < 1/6; s = m

Page 43: CS151 Complexity Theory

April 26, 2017 43

The BMY Generator

• Proof:– computable in time at most

mtc < mc+1

– assume Gδ does not (1/md)-pass statistical test C = {Cm} of size me:

|PryUm[C(y) = 1] – PrzD[C(z) = 1]| >1/md

Generator Gδ = {Gδm}:

–t = mδ; y0 {0,1}t; yi = ft(yi-1); bi = ht(yi)–Gδ

m(y0) = bm-1bm-2bm-3…b0

Page 44: CS151 Complexity Theory

April 26, 2017 44

The BMY Generator

– transform this distinguisher into a predictor P of size me + O(m):

Pry[P(bm-1…bm-i) = bm-i-1] > ½ + 1/md+1

Generator Gδ = {Gδm}:

–t = mδ; y0 {0,1}t; yi = ft(yi-1); bi = ht(yi)–Gδ

m(y0) = bm-1bm-2bm-3…b0

Page 45: CS151 Complexity Theory

April 26, 2017 45

The BMY Generator

– a procedure to compute ht(ft-1(y))

• set ym-i = y; bm-i = ht(ym-i)• compute yj, bj for j = m-i+1, m-i+2…, m-1 as above• evaluate P(bm-1bm-2…bm-i)• f a permutation implies bm-1bm-2…bm-i distributed as

(prefix of) output of generator:Pry[P(bm-1bm-2…bm-i) = bm-i-1] > ½ + 1/md+1

Generator Gδ = {Gδm}:

–t = mδ; y0 {0,1}t; yi = ft(yi-1); bi = ht(yi)–Gδ

m(y0) = bm-1bm-2bm-3…b0

Page 46: CS151 Complexity Theory

April 26, 2017 46

The BMY Generator

Pry[P(bm-1bm-2…bm-i) = bm-i-1] > ½ + 1/md+1

– What is bm-i-1?

bm-i-1 = ht(ym-i-1) = ht(ft-1(ym-i)) = ht(ft

-1(y)) – We have described a family of polynomial-size circuits that

computes ht(ft-1(y)) from y with success greater than ½ +

1/poly(m)– Contradiction.

Generator Gδ = {Gδm}:

–t = mδ; y0 {0,1}t; yi = ft(yi-1); bi = ht(yi)–Gδ

m(y0) = bm-1bm-2bm-3…b0

Page 47: CS151 Complexity Theory

April 26, 2017 47

The BMY Generator

y0y1y2y3y4y5

ftftftftft

G(y0):

y0y1y2y3y4y5

ft-1ftft

G ’(y3):

ft-1ft

-1

b0b1b2b3b4b5

b0b1b2b3b4b5

same distribution

Page 48: CS151 Complexity Theory

April 26, 2017 48

Hardness vs. randomness

• We have shown:

If one-way permutations exist then

BPP δ>0 TIME(2nδ ) ( EXP• simulation is better than brute force, but

just barely• stronger assumptions on difficulty of

inverting OWF lead to better simulations…