Randomness Extractors
Alex Block
Purdue University
April 25, 2016
Alex Block (Purdue University) Randomness Extractors April 25, 2016 1 / 28
Randomness Extractors Alex Block Purdue University April 25, 2016 - - PowerPoint PPT Presentation
Randomness Extractors Alex Block Purdue University April 25, 2016 Alex Block (Purdue University) Randomness Extractors April 25, 2016 1 / 28 Table of Contents Preliminaries 1 What is an Extractor? 2 Seeded Extractors 3 Deterministic
Alex Block (Purdue University) Randomness Extractors April 25, 2016 1 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 2 / 28
◮ H∞(X) ≥ k ⇐
Alex Block (Purdue University) Randomness Extractors April 25, 2016 3 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 4 / 28
◮ We would like constructions of extractors that are smaller than just a
◮ Until recently, explicit constructions were difficult and were still
Alex Block (Purdue University) Randomness Extractors April 25, 2016 5 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 6 / 28
◮ Question: Where do we get the initial amount of randomness? ◮ If we happen to have some randomness, then we can extract a large
Alex Block (Purdue University) Randomness Extractors April 25, 2016 7 / 28
◮ Larger d allows us to extract more randomness. ◮ Potentially much greater than n bits of randomness. ◮ (n − k) term in d is to account for the ”bad bits” of the input source.
◮ With a small amount of randomness, you can potentially generate very
◮ Use output of one seeded extractor as a seed for another seeded
Alex Block (Purdue University) Randomness Extractors April 25, 2016 8 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 9 / 28
◮ This is impossible! Alex Block (Purdue University) Randomness Extractors April 25, 2016 10 / 28
◮ Suppose someone claims that they do have an extractor Ext that
◮ Consider the pre-images of 1 and 0 under this extractor. ◮ One of these pre-images must be at least half the input size:
◮ Consider a uniform distribution X over this pre-image. ◮ Then H∞(X) ≥ (n − 1) but Ext(X) is a constant.
Alex Block (Purdue University) Randomness Extractors April 25, 2016 11 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 12 / 28
◮ There is a known lower bound: k must be at least polylog(n). Alex Block (Purdue University) Randomness Extractors April 25, 2016 13 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 14 / 28
◮ The Hadamard Extractor works fairly well for many sources. ◮ However, there are certain sources that when used for the Hadamard
◮ Bourgain realized that these cases were pathological and could be
◮ Bourgain described an encoding that, when done on any source with
Alex Block (Purdue University) Randomness Extractors April 25, 2016 15 / 28
◮ Suppose we are given two independent sources over {0, 1}n with
◮ Then there is a function that extracts m bits of randomness. ◮ The average difference of the output distribution and Um is
Alex Block (Purdue University) Randomness Extractors April 25, 2016 16 / 28
◮ This leads us to a theorem: Alex Block (Purdue University) Randomness Extractors April 25, 2016 17 / 28
◮ This closeness is exponentially small in n.
Alex Block (Purdue University) Randomness Extractors April 25, 2016 18 / 28
◮ There are weird (pathological as Bourgain described it) cases where
◮ For example, if l is large, take X and Y such that both have
◮ As another example, take l = 1. Then the output must have at least n
Alex Block (Purdue University) Randomness Extractors April 25, 2016 19 / 28
◮ He shows that there are essentially very few counter examples for
◮ He showed that when input sources meet certain requirements, the
◮ He showed also that you can encode any source with sufficient
Alex Block (Purdue University) Randomness Extractors April 25, 2016 20 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 21 / 28
◮ An element in supp(2X) is of the form (x1 + x2, x2
1 + x2 2).
◮ This gives us that there are at most two possible values for (x1, x2). ◮ Each of these elements defines a line in F2. Alex Block (Purdue University) Randomness Extractors April 25, 2016 22 / 28
◮ Every element of 3X is of the form (x1 + x2 + x3, x2
1 + x2 2 + x2 3)
◮ This determines a point in F2:
1 + x2 2 + x2 3), x1 + x2 + x3)
◮ First, we sample a line from 2X, then we independently sample a point
◮ We output the resulting point.
Alex Block (Purdue University) Randomness Extractors April 25, 2016 23 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 24 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 25 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 26 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 27 / 28
Alex Block (Purdue University) Randomness Extractors April 25, 2016 28 / 28