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 2Supported by NSF Grant CCF-1526952, NSF Grant CCF-1705028, and a Simons Investigator Award (#409864)
Randomized log-space complexity classes ◮ Let L be a language
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 .
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 .
The power of randomness for small-space algorithms ◮ L ⊆ RL ⊆ BPL
The power of randomness for small-space algorithms ◮ L ⊆ RL ⊆ BPL ◮ Conjecture : L = RL = BPL
The power of randomness for small-space algorithms ◮ L ⊆ RL ⊆ BPL ◮ Conjecture : L = RL = BPL
The power of randomness for small-space algorithms ◮ L ⊆ RL ⊆ BPL ◮ Conjecture : L = RL = BPL
Read-once branching programs n + 1 layers start acc width n
Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1
Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1 x =
Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1 x = 1
Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1 x = 1 0
Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1 x = 1 0 0
Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1 x = 1 0 0 1
Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1 x = 1 0 0 1 1
Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1 x = 1 0 0 1 1 ◮ Computes function f : { 0 , 1 } n → { 0 , 1 }
Fooling / Hitting ROBPs s bits Gen n bits
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] | ≤ ε
Fooling / Hitting ROBPs s bits Gen n bits Pseudorandom generator: For every width- n ROBP, Suitable for derandomizing | Pr x [ f ( x ) = 1] − Pr z [ f (Gen( z )) = 1] | ≤ ε BPL
Fooling / Hitting ROBPs s bits Gen n bits Pseudorandom generator: For every width- n ROBP, Suitable for derandomizing | Pr x [ f ( x ) = 1] − Pr z [ f (Gen( z )) = 1] | ≤ ε BPL Hitting set generator: For every width- n ROBP, Pr x [ f ( x ) = 1] ≥ ε = ⇒ ∃ z , f (Gen( z )) = 1
Fooling / Hitting ROBPs s bits Gen n bits Pseudorandom generator: For every width- n ROBP, Suitable for derandomizing | Pr x [ f ( x ) = 1] − Pr z [ f (Gen( z )) = 1] | ≤ ε BPL Hitting set generator: For every width- n ROBP, Suitable for derandomizing Pr x [ f ( x ) = 1] ≥ ε = ⇒ ∃ z , f (Gen( z )) = 1 RL
Prior generators and main result ◮ Nonconstructive: PRG with seed length O (log n + log(1 /ε ))
Prior generators and main result ◮ Nonconstructive: PRG with seed length O (log n + log(1 /ε )) ◮ Babai, Nisan, Szegedy 1989: PRG with seed length 2 O ( √ log n ) · log(1 /ε )
Prior generators and main result ◮ Nonconstructive: PRG with seed length O (log n + log(1 /ε )) ◮ Babai, Nisan, Szegedy 1989: PRG with seed length 2 O ( √ log n ) · log(1 /ε ) ◮ Nisan 1990: PRG with seed length O (log 2 n + log(1 /ε ) log n )
Prior generators and main result ◮ Nonconstructive: PRG with seed length O (log n + log(1 /ε )) ◮ Babai, Nisan, Szegedy 1989: PRG with seed length 2 O ( √ log n ) · log(1 /ε ) ◮ Nisan 1990: PRG with seed length O (log 2 n + log(1 /ε ) log n ) ◮ Braverman, Cohen, Garg 2018: HSG with seed length O (log 2 n + log(1 /ε )) �
Prior generators and main result ◮ Nonconstructive: PRG with seed length O (log n + log(1 /ε )) ◮ Babai, Nisan, Szegedy 1989: PRG with seed length 2 O ( √ log n ) · log(1 /ε ) ◮ Nisan 1990: PRG with seed length O (log 2 n + log(1 /ε ) log n ) ◮ Braverman, Cohen, Garg 2018: HSG with seed length O (log 2 n + log(1 /ε )) � ◮ This work : HSG with seed length O (log 2 n + log(1 /ε ))
Comparison with [BCG ’18] ◮ Our construction and analysis are simple
Comparison with [BCG ’18] ◮ Our construction and analysis are simple This work Hitting Set Generator Suitable for RL
Comparison with [BCG ’18] ◮ Our construction and analysis are simple Nisan ’90 This work Pseudorandom Hitting Set = ⇒ Generator Generator Suitable for BPL Suitable for RL
Comparison with [BCG ’18] ◮ Our construction and analysis are simple Nisan ’90 BCG ’18 This work Pseudorandom “Pseudorandom Hitting Set = ⇒ = ⇒ Generator Pseudodistribution” Generator Suitable for BPL Suitable for BPL Suitable for RL
Structural lemma for ROBPs ◮ Let f be a width- n , length- n ROBP
Structural lemma for ROBPs ◮ Let f be a width- n , length- n ROBP ◮ Assume Pr[accept] = ε ≪ 1 / n 3
Structural lemma for ROBPs ◮ Let f be a width- n , length- n ROBP ◮ Assume Pr[accept] = ε ≪ 1 / n 3 ◮ Lemma : There is a vertex u so that 1 Pr[reach u ] ≥ and Pr[accept | reach u ] ≥ ε n . 2 n 3
1 Proof of lemma ( ∃ u , Pr[ u ] ≥ 2 n 3 ∧ Pr[acc | u ] ≥ ε n ) ◮ Say u is a milestone if Pr[accept | reach u ] ∈ [ ε n , 2 ε n ]
1 Proof of lemma ( ∃ u , Pr[ u ] ≥ 2 n 3 ∧ 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
1 Proof of lemma ( ∃ u , Pr[ u ] ≥ 2 n 3 ∧ 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
1 Proof of lemma ( ∃ u , Pr[ u ] ≥ 2 n 3 ∧ 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 1 6% chance of accept 3% chance of accept 0% chance of accept 0
1 Proof of lemma ( ∃ u , Pr[ u ] ≥ 2 n 3 ∧ 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 1 6% chance of accept 3% chance of accept 0% chance of accept 0 � ◮ ε = Pr[accept] ≤ Pr[reach u and accept] u milestone
1 Proof of lemma ( ∃ u , Pr[ u ] ≥ 2 n 3 ∧ 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 1 6% chance of accept 3% chance of accept 0% chance of accept 0 � ◮ ε = Pr[accept] ≤ Pr[reach u and accept] u milestone � ≤ Pr[reach u ] · 2 ε n u milestone
1 Proof of lemma ( ∃ u , Pr[ u ] ≥ 2 n 3 ∧ 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 1 6% chance of accept 3% chance of accept 0% chance of accept 0 � ◮ ε = Pr[accept] ≤ Pr[reach u and accept] u milestone � ≤ Pr[reach u ] · 2 ε n u milestone ◮ # milestones ≤ n 2 , so for some milestone u , Pr [ reach u ] ≥ 1 2 n 3
Iterating the structural lemma u 0 = start acc Pr[accept] = ε
Iterating the structural lemma u 0 = start acc u 1 Pr[accept] = ε n ε
Iterating the structural lemma u 0 = start acc u 2 u 1 Pr[accept] = ε n ε n 2 ε
Iterating the structural lemma u 0 = start acc u 2 u 1 u 3 Pr[accept] = ε n ε n 2 ε n 3 ε
Iterating the structural lemma u 0 = start acc = u t u 2 u 1 u 3 Pr[accept] = ε n ε n 2 ε n 3 ε n t ε = 1
Idea of our HSG ◮ Use Nisan’s generator for each individual hop u i → u i +1
Idea of our HSG ◮ Use Nisan’s generator for each individual hop u i → u i +1 ◮ Use a “hitter” to recycle the seed of Nisan’s generator from one hop to the next
Hitters (equivalent to dispersers) ◮ Assume query access to unknown E ⊆ { 0 , 1 } m with density ( E ) ≥ θ
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 − δ
Recommend
More recommend