Simple Optimal Hitting Sets for Small-Success RL William M. Hoza 1 - - PowerPoint PPT Presentation

simple optimal hitting sets for small success rl
SMART_READER_LITE
LIVE PREVIEW

Simple Optimal Hitting Sets for Small-Success RL William M. Hoza 1 - - PowerPoint PPT Presentation

Simple Optimal Hitting Sets for Small-Success RL William M. Hoza 1 David Zuckerman 2 The University of Texas at Austin October 7 FOCS 2018 1Supported by the NSF GRFP under Grant DGE-1610403 and by a Harrington Fellowship from UT Austin


slide-1
SLIDE 1

Simple Optimal Hitting Sets for Small-Success RL

William M. Hoza1 David Zuckerman2 The University of Texas at Austin October 7 FOCS 2018

1Supported by the NSF GRFP under Grant DGE-1610403 and by a Harrington Fellowship from UT Austin 2Supported by NSF Grant CCF-1526952, NSF Grant CCF-1705028, and a Simons Investigator Award (#409864)

slide-2
SLIDE 2

Randomized log-space complexity classes

◮ Let L be a language

slide-3
SLIDE 3

Randomized log-space complexity classes

◮ Let L be a language ◮ L ∈ BPL if there is a randomized log-space algorithm A that always halts such that x ∈ L = ⇒ Pr[A(x) accepts] ≥ 2/3 x ∈ L = ⇒ Pr[A(x) accepts] ≤ 1/3.

slide-4
SLIDE 4

Randomized log-space complexity classes

◮ Let L be a language ◮ L ∈ BPL if there is a randomized log-space algorithm A that always halts such that x ∈ L = ⇒ Pr[A(x) accepts] ≥ 2/3 x ∈ L = ⇒ Pr[A(x) accepts] ≤ 1/3. ◮ L ∈ RL if there is a randomized log-space algorithm A that always halts such that x ∈ L = ⇒ Pr[A(x) accepts] ≥ 1/2 x ∈ L = ⇒ Pr[A(x) accepts] = 0.

slide-5
SLIDE 5

The power of randomness for small-space algorithms

◮ L ⊆ RL ⊆ BPL

slide-6
SLIDE 6

The power of randomness for small-space algorithms

◮ L ⊆ RL ⊆ BPL ◮ Conjecture: L = RL = BPL

slide-7
SLIDE 7

The power of randomness for small-space algorithms

◮ L ⊆ RL ⊆ BPL ◮ Conjecture: L = RL = BPL

slide-8
SLIDE 8

The power of randomness for small-space algorithms

◮ L ⊆ RL ⊆ BPL ◮ Conjecture: L = RL = BPL

slide-9
SLIDE 9

Read-once branching programs

start acc n + 1 layers width n

slide-10
SLIDE 10

Read-once branching programs

start acc n + 1 layers width n 1 1 1 1 1 1

slide-11
SLIDE 11

Read-once branching programs

start acc n + 1 layers width n 1 1 1 1 1 1 x =

slide-12
SLIDE 12

Read-once branching programs

start acc n + 1 layers width n 1 1 1 1 1 1 x = 1

slide-13
SLIDE 13

Read-once branching programs

start acc n + 1 layers width n 1 1 1 1 1 1 x = 1

slide-14
SLIDE 14

Read-once branching programs

start acc n + 1 layers width n 1 1 1 1 1 1 x = 1

slide-15
SLIDE 15

Read-once branching programs

start acc n + 1 layers width n 1 1 1 1 1 1 x = 1 1

slide-16
SLIDE 16

Read-once branching programs

start acc n + 1 layers width n 1 1 1 1 1 1 x = 1 1 1

slide-17
SLIDE 17

Read-once branching programs

start acc n + 1 layers width n 1 1 1 1 1 1 x = 1 1 1 ◮ Computes function f : {0, 1}n → {0, 1}

slide-18
SLIDE 18

Fooling / Hitting ROBPs

s bits Gen n bits

slide-19
SLIDE 19

Fooling / Hitting ROBPs

s bits Gen n bits Pseudorandom generator: For every width-n ROBP, | Pr

x [f (x) = 1] − Pr z [f (Gen(z)) = 1]| ≤ ε

slide-20
SLIDE 20

Fooling / Hitting ROBPs

s bits Gen n bits Pseudorandom generator: For every width-n ROBP, | Pr

x [f (x) = 1] − Pr z [f (Gen(z)) = 1]| ≤ ε

Suitable for derandomizing BPL

slide-21
SLIDE 21

Fooling / Hitting ROBPs

s bits Gen n bits Pseudorandom generator: For every width-n ROBP, | Pr

x [f (x) = 1] − Pr z [f (Gen(z)) = 1]| ≤ ε

Suitable for derandomizing BPL Hitting set generator: For every width-n ROBP, Pr

x [f (x) = 1] ≥ ε =

⇒ ∃z, f (Gen(z)) = 1

slide-22
SLIDE 22

Fooling / Hitting ROBPs

s bits Gen n bits Pseudorandom generator: For every width-n ROBP, | Pr

x [f (x) = 1] − Pr z [f (Gen(z)) = 1]| ≤ ε

Suitable for derandomizing BPL Hitting set generator: For every width-n ROBP, Pr

x [f (x) = 1] ≥ ε =

⇒ ∃z, f (Gen(z)) = 1 Suitable for derandomizing RL

slide-23
SLIDE 23

Prior generators and main result

◮ Nonconstructive: PRG with seed length O(log n + log(1/ε))

slide-24
SLIDE 24

Prior generators and main result

◮ Nonconstructive: PRG with seed length O(log n + log(1/ε)) ◮ Babai, Nisan, Szegedy 1989: PRG with seed length 2O(√log n) · log(1/ε)

slide-25
SLIDE 25

Prior generators and main result

◮ Nonconstructive: PRG with seed length O(log n + log(1/ε)) ◮ Babai, Nisan, Szegedy 1989: PRG with seed length 2O(√log n) · log(1/ε) ◮ Nisan 1990: PRG with seed length O(log2 n + log(1/ε) log n)

slide-26
SLIDE 26

Prior generators and main result

◮ Nonconstructive: PRG with seed length O(log n + log(1/ε)) ◮ Babai, Nisan, Szegedy 1989: PRG with seed length 2O(√log n) · log(1/ε) ◮ Nisan 1990: PRG with seed length O(log2 n + log(1/ε) log n) ◮ Braverman, Cohen, Garg 2018: HSG with seed length

  • O(log2 n + log(1/ε))
slide-27
SLIDE 27

Prior generators and main result

◮ Nonconstructive: PRG with seed length O(log n + log(1/ε)) ◮ Babai, Nisan, Szegedy 1989: PRG with seed length 2O(√log n) · log(1/ε) ◮ Nisan 1990: PRG with seed length O(log2 n + log(1/ε) log n) ◮ Braverman, Cohen, Garg 2018: HSG with seed length

  • O(log2 n + log(1/ε))

◮ This work: HSG with seed length O(log2 n + log(1/ε))

slide-28
SLIDE 28

Comparison with [BCG ’18]

◮ Our construction and analysis are simple

slide-29
SLIDE 29

Comparison with [BCG ’18]

◮ Our construction and analysis are simple Hitting Set Generator

This work Suitable for RL

slide-30
SLIDE 30

Comparison with [BCG ’18]

◮ Our construction and analysis are simple Pseudorandom Generator

Nisan ’90 Suitable for BPL

Hitting Set Generator

This work Suitable for RL

= ⇒

slide-31
SLIDE 31

Comparison with [BCG ’18]

◮ Our construction and analysis are simple Pseudorandom Generator

Nisan ’90 Suitable for BPL

“Pseudorandom Pseudodistribution”

BCG ’18 Suitable for BPL

= ⇒ = ⇒ Hitting Set Generator

This work Suitable for RL

slide-32
SLIDE 32

Structural lemma for ROBPs

◮ Let f be a width-n, length-n ROBP

slide-33
SLIDE 33

Structural lemma for ROBPs

◮ Let f be a width-n, length-n ROBP ◮ Assume Pr[accept] = ε ≪ 1/n3

slide-34
SLIDE 34

Structural lemma for ROBPs

◮ Let f be a width-n, length-n ROBP ◮ Assume Pr[accept] = ε ≪ 1/n3 ◮ Lemma: There is a vertex u so that Pr[reach u] ≥ 1 2n3 and Pr[accept | reach u] ≥ εn.

slide-35
SLIDE 35

Proof of lemma (∃u, Pr[u] ≥

1 2n3 ∧ Pr[acc | u] ≥ εn)

◮ Say u is a milestone if Pr[accept | reach u] ∈ [εn, 2εn]

slide-36
SLIDE 36

Proof of lemma (∃u, Pr[u] ≥

1 2n3 ∧ Pr[acc | u] ≥ εn)

◮ Say u is a milestone if Pr[accept | reach u] ∈ [εn, 2εn] ◮ Claim: Every accepting path passes through a milestone

slide-37
SLIDE 37

Proof of lemma (∃u, Pr[u] ≥

1 2n3 ∧ Pr[acc | u] ≥ εn)

◮ Say u is a milestone if Pr[accept | reach u] ∈ [εn, 2εn] ◮ Claim: Every accepting path passes through a milestone

◮ Proof: Probability of acceptance at most doubles in each step

slide-38
SLIDE 38

Proof of lemma (∃u, Pr[u] ≥

1 2n3 ∧ Pr[acc | u] ≥ εn)

◮ Say u is a milestone if Pr[accept | reach u] ∈ [εn, 2εn] ◮ Claim: Every accepting path passes through a milestone

◮ Proof: Probability of acceptance at most doubles in each step

3% chance of accept 0% chance of accept 6% chance of accept 1

slide-39
SLIDE 39

Proof of lemma (∃u, Pr[u] ≥

1 2n3 ∧ Pr[acc | u] ≥ εn)

◮ Say u is a milestone if Pr[accept | reach u] ∈ [εn, 2εn] ◮ Claim: Every accepting path passes through a milestone

◮ Proof: Probability of acceptance at most doubles in each step

3% chance of accept 0% chance of accept 6% chance of accept 1 ◮ ε = Pr[accept] ≤

  • u milestone

Pr[reach u and accept]

slide-40
SLIDE 40

Proof of lemma (∃u, Pr[u] ≥

1 2n3 ∧ Pr[acc | u] ≥ εn)

◮ Say u is a milestone if Pr[accept | reach u] ∈ [εn, 2εn] ◮ Claim: Every accepting path passes through a milestone

◮ Proof: Probability of acceptance at most doubles in each step

3% chance of accept 0% chance of accept 6% chance of accept 1 ◮ ε = Pr[accept] ≤

  • u milestone

Pr[reach u and accept] ≤

  • u milestone

Pr[reach u] · 2εn

slide-41
SLIDE 41

Proof of lemma (∃u, Pr[u] ≥

1 2n3 ∧ Pr[acc | u] ≥ εn)

◮ Say u is a milestone if Pr[accept | reach u] ∈ [εn, 2εn] ◮ Claim: Every accepting path passes through a milestone

◮ Proof: Probability of acceptance at most doubles in each step

3% chance of accept 0% chance of accept 6% chance of accept 1 ◮ ε = Pr[accept] ≤

  • u milestone

Pr[reach u and accept] ≤

  • u milestone

Pr[reach u] · 2εn ◮ # milestones ≤ n2, so for some milestone u, Pr[reach u] ≥

1 2n3

slide-42
SLIDE 42

Iterating the structural lemma

u0 = start Pr[accept] = ε acc

slide-43
SLIDE 43

Iterating the structural lemma

u0 = start Pr[accept] = ε acc u1 nε

slide-44
SLIDE 44

Iterating the structural lemma

u0 = start Pr[accept] = ε acc u1 nε u2 n2ε

slide-45
SLIDE 45

Iterating the structural lemma

u0 = start Pr[accept] = ε acc u1 nε u2 n2ε u3 n3ε

slide-46
SLIDE 46

Iterating the structural lemma

u0 = start Pr[accept] = ε u1 nε u2 n2ε u3 n3ε acc = ut ntε = 1

slide-47
SLIDE 47

Idea of our HSG

◮ Use Nisan’s generator for each individual hop ui → ui+1

slide-48
SLIDE 48

Idea of our HSG

◮ Use Nisan’s generator for each individual hop ui → ui+1 ◮ Use a “hitter” to recycle the seed of Nisan’s generator from one hop to the next

slide-49
SLIDE 49

Hitters (equivalent to dispersers)

◮ Assume query access to unknown E ⊆ {0, 1}m with density(E) ≥ θ

slide-50
SLIDE 50

Hitters (equivalent to dispersers)

◮ Assume query access to unknown E ⊆ {0, 1}m with density(E) ≥ θ ◮ Theorem (BGG ’93): Algorithm that outputs some z ∈ E with probability 1 − δ

slide-51
SLIDE 51

Hitters (equivalent to dispersers)

◮ Assume query access to unknown E ⊆ {0, 1}m with density(E) ≥ θ ◮ Theorem (BGG ’93): Algorithm that outputs some z ∈ E with probability 1 − δ

◮ # queries: O(θ−1 · log(1/δ))

slide-52
SLIDE 52

Hitters (equivalent to dispersers)

◮ Assume query access to unknown E ⊆ {0, 1}m with density(E) ≥ θ ◮ Theorem (BGG ’93): Algorithm that outputs some z ∈ E with probability 1 − δ

◮ # queries: O(θ−1 · log(1/δ)) ◮ # random bits: O(m + log(1/δ))

slide-53
SLIDE 53

Hitters (equivalent to dispersers)

◮ Assume query access to unknown E ⊆ {0, 1}m with density(E) ≥ θ ◮ Theorem (BGG ’93): Algorithm that outputs some z ∈ E with probability 1 − δ

◮ # queries: O(θ−1 · log(1/δ)) ◮ # random bits: O(m + log(1/δ))

Hit O(m) coins query string query #

slide-54
SLIDE 54

Hitters (equivalent to dispersers)

◮ Assume query access to unknown E ⊆ {0, 1}m with density(E) ≥ θ ◮ Theorem (BGG ’93): Algorithm that outputs some z ∈ E with probability 1 − δ

◮ # queries: O(θ−1 · log(1/δ)) ◮ # random bits: O(m + log(1/δ))

Hit O(m) coins query string query # ◮ For any E with density(E) ≥ θ, Pr

x [∃y, Hit(x, y) ∈ E] ≥ 1 − δ

slide-55
SLIDE 55

Our HSG

x

slide-56
SLIDE 56

Our HSG

x y1 y2 y3 yt

slide-57
SLIDE 57

Our HSG

x y1 y2 y3 yt n n1 n2 n3 nt

slide-58
SLIDE 58

Our HSG

x y1 y2 y3 yt n n1 n2 n3 nt Hit Hit Hit Hit

slide-59
SLIDE 59

Our HSG

x y1 y2 y3 yt n n1 n2 n3 nt Hit Hit Hit Hit NisGen NisGen NisGen NisGen

slide-60
SLIDE 60

Our HSG

x y1 y2 y3 yt n n1 n2 n3 nt Hit Hit Hit Hit NisGen NisGen NisGen NisGen

slide-61
SLIDE 61

Our HSG

x y1 y2 y3 yt n Hit Hit Hit Hit NisGen NisGen NisGen NisGen n1 n2 n3 nt

slide-62
SLIDE 62

Our HSG

x y1 y2 y3 yt n Hit Hit Hit Hit NisGen NisGen NisGen NisGen n1 n2 n3 nt

slide-63
SLIDE 63

Our HSG

x y1 y2 y3 yt n Hit Hit Hit Hit NisGen NisGen NisGen NisGen n1 n2 n3 nt Output =

slide-64
SLIDE 64

Our HSG in symbols

◮ For numbers n1, . . . , nt with n1 + · · · + nt = n: Gen(x, y1, . . . , yt, n1, . . . , nt) = NisGen(Hit(x, y1))|n1 ◦ · · · ◦ NisGen(Hit(x, yt))|nt ∈ {0, 1}n

slide-65
SLIDE 65

Our HSG in symbols

◮ For numbers n1, . . . , nt with n1 + · · · + nt = n: Gen(x, y1, . . . , yt, n1, . . . , nt) = NisGen(Hit(x, y1))|n1 ◦ · · · ◦ NisGen(Hit(x, yt))|nt ∈ {0, 1}n ◮ Here ◦ = concatenation, |r = first r bits

slide-66
SLIDE 66

Our HSG in symbols

◮ For numbers n1, . . . , nt with n1 + · · · + nt = n: Gen(x, y1, . . . , yt, n1, . . . , nt) = NisGen(Hit(x, y1))|n1 ◦ · · · ◦ NisGen(Hit(x, yt))|nt ∈ {0, 1}n ◮ Here ◦ = concatenation, |r = first r bits ◮ |x| = O(log2 n), |yi| = O(log n), t = log(1/ε)

log n

slide-67
SLIDE 67

Our HSG in symbols

◮ For numbers n1, . . . , nt with n1 + · · · + nt = n: Gen(x, y1, . . . , yt, n1, . . . , nt) = NisGen(Hit(x, y1))|n1 ◦ · · · ◦ NisGen(Hit(x, yt))|nt ∈ {0, 1}n ◮ Here ◦ = concatenation, |r = first r bits ◮ |x| = O(log2 n), |yi| = O(log n), t = log(1/ε)

log n

◮ So seed length = O(log2 n + log(1/ε))

slide-68
SLIDE 68

Proof of correctness of our HSG

u0 = start Pr[accept] = ε acc

slide-69
SLIDE 69

Proof of correctness of our HSG

u0 = start Pr[accept] = ε acc u1 nε n1

slide-70
SLIDE 70

Proof of correctness of our HSG

u0 = start Pr[accept] = ε acc u1 nε n1 u2 n2ε n2

slide-71
SLIDE 71

Proof of correctness of our HSG

u0 = start Pr[accept] = ε acc u1 nε n1 u2 n2ε n2 u3 n3ε n3

slide-72
SLIDE 72

Proof of correctness of our HSG

u0 = start Pr[accept] = ε u1 nε n1 u2 n2ε n2 u3 n3ε n3 acc = ut ntε = 1 nt

slide-73
SLIDE 73

Proof of correctness of our HSG (continued)

◮ Define Ei ⊆ {0, 1}m by Ei = {z | start at ui−1, read NisGen(z) = ⇒ reach ui}

slide-74
SLIDE 74

Proof of correctness of our HSG (continued)

◮ Define Ei ⊆ {0, 1}m by Ei = {z | start at ui−1, read NisGen(z) = ⇒ reach ui} ◮ Pr[reach ui | reach ui−1] ≥

1 2n3 =

⇒ density(Ei) >

1 4n3

slide-75
SLIDE 75

Proof of correctness of our HSG (continued)

◮ Define Ei ⊆ {0, 1}m by Ei = {z | start at ui−1, read NisGen(z) = ⇒ reach ui} ◮ Pr[reach ui | reach ui−1] ≥

1 2n3 =

⇒ density(Ei) >

1 4n3

◮ Hitter property: Prx[∃y, Hit(x, y) ∈ Ei] > 1 − 1

t

slide-76
SLIDE 76

Proof of correctness of our HSG (continued)

◮ Define Ei ⊆ {0, 1}m by Ei = {z | start at ui−1, read NisGen(z) = ⇒ reach ui} ◮ Pr[reach ui | reach ui−1] ≥

1 2n3 =

⇒ density(Ei) >

1 4n3

◮ Hitter property: Prx[∃y, Hit(x, y) ∈ Ei] > 1 − 1

t

◮ Union bound: There is one x so that for all i, ∃yi, Hit(x, yi) ∈ Ei.

slide-77
SLIDE 77

Proof of correctness of our HSG (continued)

◮ Define Ei ⊆ {0, 1}m by Ei = {z | start at ui−1, read NisGen(z) = ⇒ reach ui} ◮ Pr[reach ui | reach ui−1] ≥

1 2n3 =

⇒ density(Ei) >

1 4n3

◮ Hitter property: Prx[∃y, Hit(x, y) ∈ Ei] > 1 − 1

t

◮ Union bound: There is one x so that for all i, ∃yi, Hit(x, yi) ∈ Ei. ◮ f (Gen(x, y1, . . . , yt, n1, . . . , nt)) = 1

slide-78
SLIDE 78

Additional results

◮ Theorem: (ε-success RL) ⊆ DSPACE(log3/2 n + log n log log(1/ε))

slide-79
SLIDE 79

Additional results

◮ Theorem: (ε-success RL) ⊆ DSPACE(log3/2 n + log n log log(1/ε)) ◮ Theorem: For ROBPs with width n and length polylog n, HSG with seed length O(log(n/ε))

slide-80
SLIDE 80

Additional results

◮ Theorem: (ε-success RL) ⊆ DSPACE(log3/2 n + log n log log(1/ε)) ◮ Theorem: For ROBPs with width n and length polylog n, HSG with seed length O(log(n/ε)) ◮ Theorem: For any r = r(n), for any constant c, (RL with r coins) ⊆

  • NL with

r logc n nondeterministic bits

slide-81
SLIDE 81

Open questions

◮ Conjecture: For any r = r(n), for any constant c, (BPL with r coins) =

  • BPL with

r logc n coins

slide-82
SLIDE 82

Open questions

◮ Conjecture: For any r = r(n), for any constant c, (BPL with r coins) =

  • BPL with

r logc n coins

  • ◮ True for r ≤ 2log0.99 n by Nisan-Zuckerman
slide-83
SLIDE 83

Open questions

◮ Conjecture: For any r = r(n), for any constant c, (BPL with r coins) =

  • BPL with

r logc n coins

  • ◮ True for r ≤ 2log0.99 n by Nisan-Zuckerman

◮ ACR ’96: Explicit HSG for circuits = ⇒ P = BPP. Similar theorem for BPL?

slide-84
SLIDE 84

Open questions

◮ Conjecture: For any r = r(n), for any constant c, (BPL with r coins) =

  • BPL with

r logc n coins

  • ◮ True for r ≤ 2log0.99 n by Nisan-Zuckerman

◮ ACR ’96: Explicit HSG for circuits = ⇒ P = BPP. Similar theorem for BPL? ◮ Thanks! Questions?