simple optimal hitting sets for small success rl
play

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


  1. 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)

  2. Randomized log-space complexity classes ◮ Let L be a language

  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 .

  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 .

  5. The power of randomness for small-space algorithms ◮ L ⊆ RL ⊆ BPL

  6. The power of randomness for small-space algorithms ◮ L ⊆ RL ⊆ BPL ◮ Conjecture : L = RL = BPL

  7. The power of randomness for small-space algorithms ◮ L ⊆ RL ⊆ BPL ◮ Conjecture : L = RL = BPL

  8. The power of randomness for small-space algorithms ◮ L ⊆ RL ⊆ BPL ◮ Conjecture : L = RL = BPL

  9. Read-once branching programs n + 1 layers start acc width n

  10. Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1

  11. Read-once branching programs n + 1 layers 0 start acc 1 1 1 0 1 0 width n 1 0 0 0 1 x =

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

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

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

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

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

  17. 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 }

  18. Fooling / Hitting ROBPs s bits Gen n bits

  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] | ≤ ε

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

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

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

  23. Prior generators and main result ◮ Nonconstructive: PRG with seed length O (log n + log(1 /ε ))

  24. 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 /ε )

  25. 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 )

  26. 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 /ε )) �

  27. 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 /ε ))

  28. Comparison with [BCG ’18] ◮ Our construction and analysis are simple

  29. Comparison with [BCG ’18] ◮ Our construction and analysis are simple This work Hitting Set Generator Suitable for RL

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

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

  32. Structural lemma for ROBPs ◮ Let f be a width- n , length- n ROBP

  33. Structural lemma for ROBPs ◮ Let f be a width- n , length- n ROBP ◮ Assume Pr[accept] = ε ≪ 1 / n 3

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

  35. 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 ]

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

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

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

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

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

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

  42. Iterating the structural lemma u 0 = start acc Pr[accept] = ε

  43. Iterating the structural lemma u 0 = start acc u 1 Pr[accept] = ε n ε

  44. Iterating the structural lemma u 0 = start acc u 2 u 1 Pr[accept] = ε n ε n 2 ε

  45. Iterating the structural lemma u 0 = start acc u 2 u 1 u 3 Pr[accept] = ε n ε n 2 ε n 3 ε

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

  47. Idea of our HSG ◮ Use Nisan’s generator for each individual hop u i → u i +1

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

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

  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 − δ

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend