probabilistic computation
play

Probabilistic Computation Lecture 15 Computing with Less - PowerPoint PPT Presentation

Probabilistic Computation Lecture 15 Computing with Less Randomness, or with Imperfect Randomness 1 Soundness Amplification for BPP 2 Soundness Amplification for BPP Repeat M(x) t times and take majority 2 Soundness Amplification for


  1. Imperfect Randomness Bit-wise guarantee von Neumann source Independent but not fair: Each bit is independent of previous bits, but with a bias. Bias is same for all bits. Santha-Vazirani source 8

  2. Imperfect Randomness Bit-wise guarantee von Neumann source Independent but not fair: Each bit is independent of previous bits, but with a bias. Bias is same for all bits. Santha-Vazirani source Dependent bits of varying bias: Each bit can depend on all previous bits, but Pr[b i =0], Pr[b i =1] ∈ [1/2- δ /2, 1/2+ δ /2], even conditioned on all previous bits (i.e., sufficiently unpredictable) 8

  3. Imperfect Randomness Bit-wise guarantee von Neumann source Independent but not fair: Each bit is independent of previous bits, but with a bias. Bias is same for all bits. Santha-Vazirani source Dependent bits of varying bias: Each bit can depend on all previous bits, but Pr[b i =0], Pr[b i =1] ∈ [1/2- δ /2, 1/2+ δ /2], even conditioned on all previous bits (i.e., sufficiently unpredictable) Weaker guarantees: e.g. Block source 8

  4. BPP using imperfect randomness 9

  5. BPP using imperfect randomness Small bias (1/m, where m coins in all) SV source is harmless: 9

  6. BPP using imperfect randomness Small bias (1/m, where m coins in all) SV source is harmless: Any string has weight at most (1/2+ δ /2) m 9

  7. BPP using imperfect randomness Small bias (1/m, where m coins in all) SV source is n o d u n o b g s i n harmless: U y t i l i a b b r o p a l o n t i d i o n c Any string has weight at most (1/2+ δ /2) m 9

  8. BPP using imperfect randomness Small bias (1/m, where m coins in all) SV source is n o d u n o b g s i n harmless: U y t i l i a b b r o p a l o n t i d i o n c Any string has weight at most (1/2+ δ /2) m t strings can have weight at most t.(1/2+ δ /2) m 9

  9. BPP using imperfect randomness Small bias (1/m, where m coins in all) SV source is n o d u n o b g s i n harmless: U y t i l i a b b r o p a l o n t i d i o n c Any string has weight at most (1/2+ δ /2) m t strings can have weight at most t.(1/2+ δ /2) m t.(1/2+ δ /2) m = (t/2 m ).(1+ δ ) m < (t/2 m ).e if δ < 1/m 9

  10. BPP using imperfect randomness Small bias (1/m, where m coins in all) SV source is n o d u n o b g s i n harmless: U y t i l i a b b r o p a l o n t i d i o n c Any string has weight at most (1/2+ δ /2) m t strings can have weight at most t.(1/2+ δ /2) m ( 1 + x ) 1/x ≤ e t.(1/2+ δ /2) m = (t/2 m ).(1+ δ ) m < (t/2 m ).e if δ < 1/m 9

  11. BPP using imperfect randomness Small bias (1/m, where m coins in all) SV source is n o d u n o b g s i n harmless: U y t i l i a b b r o p a l o n t i d i o n c Any string has weight at most (1/2+ δ /2) m t strings can have weight at most t.(1/2+ δ /2) m ( 1 + x ) 1/x ≤ e t.(1/2+ δ /2) m = (t/2 m ).(1+ δ ) m < (t/2 m ).e if δ < 1/m If on perfect randomness, Pr[error] < 1/(e2 n ), then on imperfect randomness with bias < 1/m, Pr[error] < 1/2 n 9

  12. BPP using imperfect randomness 10

  13. BPP using imperfect randomness Handling more imperfectness 10

  14. BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness 10

  15. BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction 10

  16. BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction Simple Extractor: 10

  17. BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction Simple Extractor: Ext 10

  18. BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction Simple Extractor: Ext Biased input 10

  19. BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction Almost unbiased Simple Extractor: output Ext Biased input 10

  20. Simple extractor for von Neumann Sources 11

  21. Simple extractor for von Neumann Sources Extraction for von Neumann sources 11

  22. Simple extractor for von Neumann Sources Extraction for von Neumann sources 11

  23. Simple extractor for von Neumann Sources Case r 2i r 2i+1 : Extraction for von Neumann sources 01: output 0 10: output 1 *: discard 11

  24. Simple extractor for von Neumann Sources Case r 2i r 2i+1 : Extraction for von Neumann sources 01: output 0 10: output 1 Perfectly random output *: discard 11

  25. Simple extractor for von Neumann Sources Case r 2i r 2i+1 : Extraction for von Neumann sources 01: output 0 10: output 1 Perfectly random output *: discard Fewer output bits 11

  26. Simple extractor for von Neumann Sources Case r 2i r 2i+1 : Extraction for von Neumann sources 01: output 0 10: output 1 Perfectly random output *: discard Fewer output bits Running time (per bit): constant number of tries, expected 11

  27. Simple extractor for von Neumann Sources Case r 2i r 2i+1 : Extraction for von Neumann sources 01: output 0 10: output 1 Perfectly random output *: discard Fewer output bits Running time (per bit): constant number of tries, expected Can be generalized to sources which are (hidden) Markov chains 11

  28. Extractor for SV sources? 12

  29. Extractor for SV sources? No simple extractor, for even one bit output 12

  30. Extractor for SV sources? No simple extractor, for even one bit output For any extractor, can find an SV-source on which the extractor “fails” 12

  31. Extractor for SV sources? No simple extractor, for even one bit output For any extractor, can find an SV-source on which the extractor “fails” Output bias no better than input bias 12

  32. Extractor for SV sources? No simple extractor, for even one bit output For any extractor, can find an SV-source on which the extractor “fails” Output bias no better than input bias Exercise 12

  33. Randomized Extractors 13

  34. Randomized Extractors Randomized extractor 13

  35. Randomized Extractors Randomized extractor Some perfect randomness as a catalyst 13

  36. Randomized Extractors Randomized extractor Some perfect randomness as a catalyst Almost unbiased output Ext Biased input 13

  37. Randomized Extractors Seed randomness Randomized extractor Some perfect randomness as a catalyst Almost unbiased output Ext Biased input 13

  38. Randomized Extractors Seed randomness Randomized extractor Some perfect randomness as a catalyst Almost unbiased Running a BPP algorithm with output Ext only the imperfect source Biased input 13

  39. Randomized Extractors Seed randomness Randomized extractor Some perfect randomness as a catalyst Almost unbiased Running a BPP algorithm with output Ext only the imperfect source Biased input Draw one string from the biased source and generate random tapes, one for each seed. If the algorithm accepts on more than half the random tapes, accept. 13

  40. Randomized Extractors Seed randomness Randomized extractor Some perfect randomness as a catalyst Almost unbiased Running a BPP algorithm with output Ext only the imperfect source Biased input Draw one string from the biased source and generate random tapes, one for each seed. If the algorithm accepts on more than half the random tapes, accept. Polynomial time, if seed logarithmically short 13

  41. Randomized Extractors Seed randomness Randomized extractor Some perfect randomness as a catalyst Almost unbiased Running a BPP algorithm with output Ext only the imperfect source Biased input Draw one string from the biased source and generate random tapes, one for each seed. If the algorithm accepts on more than half the random tapes, accept. Polynomial time, if seed logarithmically short Error probability remains bounded [Exercise] 13

  42. Extractor for SV sources 14

  43. Extractor for SV sources Randomized extractor 14

  44. Extractor for SV sources Randomized extractor Input: SV( δ ) for a constant δ <1 14

  45. Extractor for SV sources Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 14

  46. Extractor for SV sources Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 Plan: to get to a small (conditional) bias (O(1/m)) for each output bit. 14

  47. Extractor for SV sources Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 Plan: to get to a small (conditional) bias (O(1/m)) for each output bit. Weak extraction 14

  48. Extractor for SV sources S Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 Plan: to get to a small (conditional) bias (O(1/m)) for each output bit. Weak extraction 14

  49. Extractor for SV sources S Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 Plan: to get to a small (conditional) bias (O(1/m)) for each output bit. a 1 , a 2 ,... Weak extraction 14

  50. Extractor for SV sources S Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 Plan: to get to a small (conditional) bias a i = <R i ,S> (O(1/m)) for each output bit. a 1 , a 2 ,... Weak extraction 14

  51. Extractor for SV sources S Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 Plan: to get to a small (conditional) bias a i = <R i ,S> (O(1/m)) for each output bit. a 1 , a 2 ,... Weak extraction Using seed-length d = O(log m) 14

  52. Extractor for SV sources S Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 Plan: to get to a small (conditional) bias a i = <R i ,S> (O(1/m)) for each output bit. a 1 , a 2 ,... Weak extraction Using seed-length d = O(log m) Analysis: Need to bound only the collision probability for an input block of length d [Exercise] 14

  53. Extractor for SV sources S Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 Plan: to get to a small (conditional) bias a i = <R i ,S> (O(1/m)) for each output bit. a 1 , a 2 ,... Weak extraction Using seed-length d = O(log m) Analysis: Need to bound only the collision probability for an input block of length d [Exercise] Collision prob ≤ max prob ≤ (1/2 + δ /2) d = 1/poly(m) 14

  54. Extractors 15

Recommend


More recommend