targeted pseudorandom generators simulation advice
play

Targeted Pseudorandom Generators, Simulation Advice Generators, and - PowerPoint PPT Presentation

Targeted Pseudorandom Generators, Simulation Advice Generators, and Derandomizing Logspace William M. Hoza 1 Chris Umans 2 October 10, 2016 Dagstuhl Seminar 16411 1 University of Texas at Austin 2 California Institute of Technology ?


  1. Saks-Zhou-Armoni transformation ◮ Theorem (implicit in Armoni ’98, builds on SZ ’98, some details suppressed) : ◮ Given oracle Gen : { 0 , 1 } s → { 0 , 1 } m 0 , a PRG for n -state automata ◮ Can construct m -step simulator for n -state automata with seed length/space complexity � � s + (log n ) · log m O log m 0 ◮ Example 1: Saks-Zhou theorem

  2. Saks-Zhou-Armoni transformation ◮ Theorem (implicit in Armoni ’98, builds on SZ ’98, some details suppressed) : ◮ Given oracle Gen : { 0 , 1 } s → { 0 , 1 } m 0 , a PRG for n -state automata ◮ Can construct m -step simulator for n -state automata with seed length/space complexity � � s + (log n ) · log m O log m 0 ◮ Example 1: Saks-Zhou theorem √ log n , s = O (log n log m 0 ) = O (log 3 / 2 n ) (INW) ◮ m 0 = 2

  3. Saks-Zhou-Armoni transformation ◮ Theorem (implicit in Armoni ’98, builds on SZ ’98, some details suppressed) : ◮ Given oracle Gen : { 0 , 1 } s → { 0 , 1 } m 0 , a PRG for n -state automata ◮ Can construct m -step simulator for n -state automata with seed length/space complexity � � s + (log n ) · log m O log m 0 ◮ Example 1: Saks-Zhou theorem √ log n , s = O (log n log m 0 ) = O (log 3 / 2 n ) (INW) ◮ m 0 = 2 ◮ Pick m = n (max # coins of (log n )-space algorithm)

  4. Saks-Zhou-Armoni transformation ◮ Theorem (implicit in Armoni ’98, builds on SZ ’98, some details suppressed) : ◮ Given oracle Gen : { 0 , 1 } s → { 0 , 1 } m 0 , a PRG for n -state automata ◮ Can construct m -step simulator for n -state automata with seed length/space complexity � � s + (log n ) · log m O log m 0 ◮ Example 1: Saks-Zhou theorem √ log n , s = O (log n log m 0 ) = O (log 3 / 2 n ) (INW) ◮ m 0 = 2 ◮ Pick m = n (max # coins of (log n )-space algorithm) ◮ Obtain simulator with seed length/space complexity O (log 3 / 2 n + log 3 / 2 n ) = O (log 3 / 2 n )

  5. Saks-Zhou-Armoni transformation ◮ Theorem (implicit in Armoni ’98, builds on SZ ’98, some details suppressed) : ◮ Given oracle Gen : { 0 , 1 } s → { 0 , 1 } m 0 , a PRG for n -state automata ◮ Can construct m -step simulator for n -state automata with seed length/space complexity � � s + (log n ) · log m O log m 0 ◮ Example 2: Some wishful thinking

  6. Saks-Zhou-Armoni transformation ◮ Theorem (implicit in Armoni ’98, builds on SZ ’98, some details suppressed) : ◮ Given oracle Gen : { 0 , 1 } s → { 0 , 1 } m 0 , a PRG for n -state automata ◮ Can construct m -step simulator for n -state automata with seed length/space complexity � � s + (log n ) · log m O log m 0 ◮ Example 2: Some wishful thinking ◮ m 0 = 2 log 0 . 7 n , s = O (log 1 . 1 n ) (no such construction known)

  7. Saks-Zhou-Armoni transformation ◮ Theorem (implicit in Armoni ’98, builds on SZ ’98, some details suppressed) : ◮ Given oracle Gen : { 0 , 1 } s → { 0 , 1 } m 0 , a PRG for n -state automata ◮ Can construct m -step simulator for n -state automata with seed length/space complexity � � s + (log n ) · log m O log m 0 ◮ Example 2: Some wishful thinking ◮ m 0 = 2 log 0 . 7 n , s = O (log 1 . 1 n ) (no such construction known) ◮ Pick m = 2 log 0 . 8 n

  8. Saks-Zhou-Armoni transformation ◮ Theorem (implicit in Armoni ’98, builds on SZ ’98, some details suppressed) : ◮ Given oracle Gen : { 0 , 1 } s → { 0 , 1 } m 0 , a PRG for n -state automata ◮ Can construct m -step simulator for n -state automata with seed length/space complexity � � s + (log n ) · log m O log m 0 ◮ Example 2: Some wishful thinking ◮ m 0 = 2 log 0 . 7 n , s = O (log 1 . 1 n ) (no such construction known) ◮ Pick m = 2 log 0 . 8 n ◮ Obtain simulator with seed length/space complexity O (log 1 . 1 n + log 1 . 1 n ) = O (log 1 . 1 n )

  9. Proof of main result shorter seed more simulation steps

  10. Proof of main result shorter seed Dream more simulation steps BPL = L

  11. Proof of main result shorter seed Dream Nisan PRG INW NZ Armoni more simulation steps BPL = L

  12. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW NZ Armoni more simulation steps BPL = L

  13. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW NZ Armoni log O (1) n random more simulation steps BPL = L bits in L

  14. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW NZ Armoni log O (1) n random more simulation steps BPL = L bits in L

  15. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA log O (1) n random more simulation steps BPL = L bits in L

  16. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 log O (1) n random more simulation steps BPL = L bits in L

  17. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 log O (1) n random more simulation steps BPL = L bits in L

  18. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 log O (1) n random more simulation steps BPL = L bits in L

  19. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � log O (1) n random more simulation steps BPL = L bits in L

  20. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � log O (1) n random more simulation steps BPL = L bits in L

  21. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � log O (1) n random more simulation steps BPL = L bits in L

  22. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � log O (1) n random more simulation steps BPL = L bits in L

  23. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � log O (1) n random more simulation steps BPL = L bits in L

  24. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � log O (1) n random more simulation steps BPL = L bits in L

  25. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � log O (1) n random more simulation steps BPL = L bits in L

  26. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � log O (1) n random more simulation steps BPL = L bits in L

  27. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � log O (1) n random more simulation steps BPL = L bits in L

  28. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � log O (1) n random more simulation steps BPL = L bits in L

  29. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � � log O (1) n random more simulation steps BPL = L bits in L

  30. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � � log O (1) n random more simulation steps BPL = L bits in L

  31. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � � � log O (1) n random more simulation steps BPL = L bits in L

  32. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � � � log O (1) n random more simulation steps BPL = L bits in L

  33. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � � � � log O (1) n random more simulation steps BPL = L bits in L

  34. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � � � � log O (1) n random more simulation steps BPL = L bits in L

  35. Proof of main result BPL ⊆ L 2 shorter seed Dream Nisan PRG INW Simulator NZ Armoni SZA BPL ⊆ L 3 / 2 � � � � � � � � BPL ⊆ L 1 . 1 log O (1) n random more simulation steps BPL = L bits in L

  36. Outline � Simplified statement of main result � Proof sketch of main result � Saks-Zhou theorem, revisited ◮ Proof sketch of Saks-Zhou-Armoni theorem ◮ Stronger version of main result ◮ Targeted PRGs ◮ Simulation advice generators

  37. Randomness-efficient approximate powering ◮ Goal: approximate Q m 0

  38. Randomness-efficient approximate powering ◮ Goal: approximate Q m 0 ◮ Easier goal: Use Gen to find automaton Pow( Q 0 ) ≈ Q m 0 0

  39. Randomness-efficient approximate powering ◮ Goal: approximate Q m 0 ◮ Easier goal: Use Gen to find automaton Pow( Q 0 ) ≈ Q m 0 0 ◮ First attempt: Pow( Q 0 )( q ; y ) = Q m 0 0 ( q ; Gen( y ))

  40. Randomness-efficient approximate powering ◮ Goal: approximate Q m 0 ◮ Easier goal: Use Gen to find automaton Pow( Q 0 ) ≈ Q m 0 0 ◮ First attempt: Pow( Q 0 )( q ; y ) = Q m 0 0 ( q ; Gen( y )) ◮ But we want Pow( Q 0 ) to only read O (log n ) bits at a time

  41. Randomness-efficient approximate powering ◮ Goal: approximate Q m 0 ◮ Easier goal: Use Gen to find automaton Pow( Q 0 ) ≈ Q m 0 0 ◮ First attempt: Pow( Q 0 )( q ; y ) = Q m 0 0 ( q ; Gen( y )) ◮ But we want Pow( Q 0 ) to only read O (log n ) bits at a time ◮ Randomized algorithm: Pow( Q 0 , x )( q ; y ) = Q m 0 0 ( q ; Gen(Samp( x , y )))

  42. Randomness-efficient approximate powering ◮ Goal: approximate Q m 0 ◮ Easier goal: Use Gen to find automaton Pow( Q 0 ) ≈ Q m 0 0 ◮ First attempt: Pow( Q 0 )( q ; y ) = Q m 0 0 ( q ; Gen( y )) ◮ But we want Pow( Q 0 ) to only read O (log n ) bits at a time ◮ Randomized algorithm: Pow( Q 0 , x )( q ; y ) = Q m 0 0 ( q ; Gen(Samp( x , y ))) ◮ Can achieve | x | ≤ O ( s ), | y | ≤ O (log n )

  43. Repeated approximate powering ◮ Goal: approximate Q m 0

  44. Repeated approximate powering ◮ Goal: approximate Q m 0 ◮ First attempt: For i = 1 to log m 0 m :

  45. Repeated approximate powering ◮ Goal: approximate Q m 0 ◮ First attempt: For i = 1 to log m 0 m : ◮ Pick fresh randomness x i

  46. Repeated approximate powering ◮ Goal: approximate Q m 0 ◮ First attempt: For i = 1 to log m 0 m : ◮ Pick fresh randomness x i ◮ Let Q i = Pow( Q i − 1 , x i )

  47. Repeated approximate powering ◮ Goal: approximate Q m 0 ◮ First attempt: For i = 1 to log m 0 m : ◮ Pick fresh randomness x i ◮ Let Q i = Pow( Q i − 1 , x i ) ◮ Randomness complexity: O ( s · log m log m 0 ). Too much!

  48. Repeated approximate powering ◮ Goal: approximate Q m 0 ◮ First attempt: For i = 1 to log m 0 m : ◮ Pick fresh randomness x i ◮ Let Q i = Pow( Q i − 1 , x i ) ◮ Randomness complexity: O ( s · log m log m 0 ). Too much! ◮ Second attempt: Pick x once, reuse in each iteration

  49. Repeated approximate powering ◮ Goal: approximate Q m 0 ◮ First attempt: For i = 1 to log m 0 m : ◮ Pick fresh randomness x i ◮ Let Q i = Pow( Q i − 1 , x i ) ◮ Randomness complexity: O ( s · log m log m 0 ). Too much! ◮ Second attempt: Pick x once, reuse in each iteration ◮ Q i is stochastically dependent on x

  50. Repeated approximate powering ◮ Goal: approximate Q m 0 ◮ First attempt: For i = 1 to log m 0 m : ◮ Pick fresh randomness x i ◮ Let Q i = Pow( Q i − 1 , x i ) ◮ Randomness complexity: O ( s · log m log m 0 ). Too much! ◮ Second attempt: Pick x once, reuse in each iteration ◮ Q i is stochastically dependent on x ◮ No guarantee that Pow will be accurate

  51. Snap operation ◮ Solution: Break dependencies by rounding

  52. Snap operation ◮ Solution: Break dependencies by rounding ◮ Snap( Q ):

  53. Snap operation ◮ Solution: Break dependencies by rounding ◮ Snap( Q ): 1. Compute M = transition probability matrix of Q

  54. Snap operation ◮ Solution: Break dependencies by rounding ◮ Snap( Q ): 1. Compute M = transition probability matrix of Q 2. Randomly perturb, round each entry of M

  55. Snap operation ◮ Solution: Break dependencies by rounding ◮ Snap( Q ): 1. Compute M = transition probability matrix of Q 2. Randomly perturb, round each entry of M 3. Return automaton with resulting transition probability matrix

  56. Snap operation ◮ Solution: Break dependencies by rounding ◮ Snap( Q ): 1. Compute M = transition probability matrix of Q 2. Randomly perturb, round each entry of M 3. Return automaton with resulting transition probability matrix ◮ Key feature: Q ≈ Q ′ = ⇒ w.h.p. over r , Snap( Q , r ) = Snap( Q ′ , r )

  57. Snap operation ◮ Solution: Break dependencies by rounding ◮ Snap( Q ): 1. Compute M = transition probability matrix of Q 2. Randomly perturb, round each entry of M 3. Return automaton with resulting transition probability matrix ◮ Key feature: Q ≈ Q ′ = ⇒ w.h.p. over r , Snap( Q , r ) = Snap( Q ′ , r ) Q Q ′

  58. Snap operation ◮ Solution: Break dependencies by rounding ◮ Snap( Q ): 1. Compute M = transition probability matrix of Q 2. Randomly perturb, round each entry of M 3. Return automaton with resulting transition probability matrix ◮ Key feature: Q ≈ Q ′ = ⇒ w.h.p. over r , Snap( Q , r ) = Snap( Q ′ , r ) Q Q ′

  59. Snap operation ◮ Solution: Break dependencies by rounding ◮ Snap( Q ): 1. Compute M = transition probability matrix of Q 2. Randomly perturb, round each entry of M 3. Return automaton with resulting transition probability matrix ◮ Key feature: Q ≈ Q ′ = ⇒ w.h.p. over r , Snap( Q , r ) = Snap( Q ′ , r ) Q Q ′

  60. SZA transformation ◮ To approximate Q m 0 :

  61. SZA transformation ◮ To approximate Q m 0 : 1. Pick x randomly

  62. SZA transformation ◮ To approximate Q m 0 : 1. Pick x randomly 2. For i = 1 to log m 0 m , set Q i = Snap(Pow( Q i − 1 , x ))

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