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
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
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
BPP using imperfect randomness 9
BPP using imperfect randomness Small bias (1/m, where m coins in all) SV source is harmless: 9
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
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
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
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
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
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
BPP using imperfect randomness 10
BPP using imperfect randomness Handling more imperfectness 10
BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness 10
BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction 10
BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction Simple Extractor: 10
BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction Simple Extractor: Ext 10
BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction Simple Extractor: Ext Biased input 10
BPP using imperfect randomness Handling more imperfectness by pre-processing the randomness Randomness extraction Almost unbiased Simple Extractor: output Ext Biased input 10
Simple extractor for von Neumann Sources 11
Simple extractor for von Neumann Sources Extraction for von Neumann sources 11
Simple extractor for von Neumann Sources Extraction for von Neumann sources 11
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
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
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
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
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
Extractor for SV sources? 12
Extractor for SV sources? No simple extractor, for even one bit output 12
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
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
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
Randomized Extractors 13
Randomized Extractors Randomized extractor 13
Randomized Extractors Randomized extractor Some perfect randomness as a catalyst 13
Randomized Extractors Randomized extractor Some perfect randomness as a catalyst Almost unbiased output Ext Biased input 13
Randomized Extractors Seed randomness Randomized extractor Some perfect randomness as a catalyst Almost unbiased output Ext Biased input 13
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
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
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
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
Extractor for SV sources 14
Extractor for SV sources Randomized extractor 14
Extractor for SV sources Randomized extractor Input: SV( δ ) for a constant δ <1 14
Extractor for SV sources Randomized extractor R 1 , R 2 ,... Input: SV( δ ) for a constant δ <1 14
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
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
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
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
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
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
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
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
Extractors 15
Recommend
More recommend