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

Recommend


More recommend