Simulating independence: new constructions of Condensers, Ramsey Graphs, Dispersers and Extractors Boaz Barak Guy Kindler Ronen Shaltiel Benny Sudakov Avi Wigderson
Plan for this talk Background: Bipartite Ramsey Graphs. Randomness extractors. 2-source extractors and their relation to bipartite Ramsey graphs. Constructions: A construction of a 3-source extractor. Component: somewhere random condenser. A sketch of our construction of bipartite Ramsey graphs.
Ramsey Graphs K-Ramsey graphs are graphs which contain no cliques or anti-cliques of size K. [Erdos 1947]: There exist a graph on N vertices with no cliques (anti-cliques) of size (2+o(1))log N. One of the first applications of the probabilistic method! Erdos also asked whether such graphs can be explicitly constructed. Best explicit construction [Frankl and Wilson]:
Bipartite Ramsey Graphs (Viewed as adjacency matrices) Ramsey Graph: No large monochromatic rectangles of form X x X. Bipartite Ramsey Graph: No large monochromatic rectangles of form X x Y. Every matrix of a bipartite Ramsey Graph is a matrix of a Ramsey Graph. Nonexplicit result: O(log N) Known explicit [CG85]: √N Recently [PR04]: o(√N). Our result: N δ for every δ> N X XY NN
A new construction of Ramsey Graphs Convention N=2 n. Identify {1..N}≈{0,1} n. Theorem: For every constant δ>0 and large enough n there is a polynomial time computable function* R:{0,1} n x {0,1} n -> {0,1} Such that for every X,Y in {0,1} n of size N δ =2 δn, R(X,Y)={0,1}. * The polynomial depends on δ.
Randomness Extractors: Refining randomness from nature We have access to distributions in nature: Electric noise Particle reactions Key strokes of user Timing of past events These distributions are “somewhat random” but not “truly random”. Solution: Randomness Extractors random coins Probabilistic procedure input output Somewhat random Randomness Extractor
Notion of entropy Somewhat random distributions must “contain randomness” (entropy). Right notion (min-entropy): the min-entropy of a distribution X is the largest k such that Pr[X=x] ≤2 -k. Unjustified assumption for this talk (with loss of generality): All distributions are uniform over some subset. Entropy=log(set size). (n-bit strings) X x
alg The dream extractor 1-source extractor I=(011…010) (n-bit strings) ext (m-bit strings) X x Problem: No such thing! We want of ext: whenever |X|>2 m ext(x)~U m
alg Seeded extractor I=(011…010) (n-bit strings) ext (m-bit strings) X x
alg Seeded extractor I=(011…010) (m-bit strings) (n-bit strings) ext X x Good for: Simulating BPP using weak sources. Problems: Doesn’t work for cryptography
2-source extractor (m-bit strings) (n-bit strings) ext x2x2 x1x1 X1X1 X2X2 Whenever: |X 1 |, |X 2 | “large” ext(x 1,x 2 )~U m Such things exist!
Definition: 2-source extractor Entropy rate = entropy/length A 2-source extractor for rate δ is a function Ext(x,y) such that for any two independent distributions X,Y with entropy rate > δ the output distribution Ext(X,Y) is close to uniform.
2-source extractors and bipartite Ramsey graphs Consider 2-source extractors for distributions of type X x Y where X and Y have entropy rate δ. Namely a function Ext(x,y) (say into one bit). Requirement: No large unbalanced X x Y rectangles. 2-source extractor => bipartite Ramsey graph N X Y x y 0/1 ext y x
Previous work on two source extractors Emerged from [SV86,V86,V87,VV88,CG88]. Best known result: A 2-source extractor for entropy rate δ=½ based on Hadamard matrix [CG88,V87]. We denote it by Had(x,y) and it is a component in our construction. This is in fact, the Ramsey graph with clique- size N ½ =2 n/2 mentioned earlier. For one output bit Had(x,y)=. Improvements by [DEOR04,Raz05]. Goal: achieve entropy rate δ < ½.
Multiple source extractors Why just 2 sources? Idea: [BIW04] improve rate to δ<½ at the cost of having more sources. Theorem: [BIW04] for every constant δ>0 there is a number t=t(δ) and an explicit t-source extractor for entropy-rate δ. Relies on “additive number theory” and recent results by [BKT,K]. Denote it by BIW(x 1,..,x t ). We use it as a component in our construction. Goal: reduce number of sources.
Our results on multiple source extractors Theorem: For every constant δ>0 there is a polynomial time computable function that is a -source-extractor for entropy- rate δ. 2?3 * The polynomial depends on δ. ** The distance from uniform cannot be very small. That is we can get any constant ε>0 but not much smaller than that.
Summary and plan Main results: for any rate δ>0. Bipartite Ramsey graph. 3-source extractor. Plan: Construction of 3-source extractor Component: Somewhere condenser High level description of the construction of Ramsey graph.
(s= n-bits) A dream 2-source extractor |Y 1 | 2 0.9s con (n-bits) |X 1 | 2 n x1x1
Had (s-bits) (n-bits) con x2x2 |X 2 | 2 n (s= n-bits) A dream 2-source extractor |Y 1 | 2 0.9s con (n-bits) |X 1 | 2 n x1x1 |Y 2 | 2 0.9s (100 bits) Problem: No such thing!
Had (n-bits) con x2x2 |X 2 | 2 n Breaking the ½ barrier: a somewhere condenser con (n-bits) |X 1 | 2 n x1x1 (3 times s) ( 3=3( ) ) ( 3 times s) ( 9 times 100) New! Key component! Constant entropy rate. Constant number of bits!
Had (n-bits) con x2x2 |X 2 | 2 n A 2-source somewhere extractor con (n-bits) |X 1 | 2 n x1x1 ( 3 times s) ( 9 times 100) Somewhere extractor
Somewhere condenser and somewhere 2-source extractor Somewhere condenser: Con(x)=y 1,..,y t. s.t. for every X with rate δ one of the outputs (is close to) having entropy rate > 0.9. Somewhere 2-source extractor: Ext(x 1,x 2 )=y 1,..,y t. s.t. for every independent X,Y with rate δ one of the outputs is close to uniform. Important note: The concatenation of the outputs can have constant size and constant entropy.
0/1 Opt The 4-source extractor (900 bits) Somewhere extractor (900 bits)
0/1 Opt The 3-source extractor (900 bits) Somewhere extractor (900 bits) each extractor is strong: Works for most fixings of one input
Next: How to build a somewhere condenser Reminder: Somewhere condenser: Con(x)=y 1,..,y t. s.t. for every X with rate δ one of the outputs (is close to) having entropy rate larger than δ. (Say δ+δ 2 ). Note: We want rate > 0.9. This can be achieved by repeated condensing.
BIW The BIW lemma |X 1 | 2 m |X 2 | 2 m |X 3 | 2 m x2x2 x3x3 y [BIW] [BIW] X 1,X 2,X 3 independent rate(Y)>min{ + 2, 1 } (3 x m-bits) (m-bits) Y, |Y| 2 (1+ )m x1x1
Somewhere condenser: Construction Given input x of length n Split it into three equal parts: y 1,y 2,y 3 of length n/3. Let y 4 =BIW(y 1,y 2,y 3 ) (may be dependent). Output y 1,y 2,y 3,y 4. x y 4 =BIW(y1,y2,y3) y1y1 y2y2 y3y3 n
BIW (n/3) Y4Y4 Somewhere condenser: Analysis y4y4 Y1Y1 Y2Y2 Y3Y3 y1y1 y2y2 y3y3 ( 3 x (n/3) ) (n-bits) |X| 2 n x [Thm] [Thm] max( r(Y 1 ), r(Y 2 ), r(Y 3 ), r(Y 4 ) ) min{ + 2 /10, 1 }
BIW (n/3) Y4Y4 Somewhere condenser: Analysis y4y4 Y1Y1 Y2Y2 Y3Y3 y1y1 y2y2 y3y3 ( 3 x (n/3) ) (n-bits) |X| 2 n x If equality holds then Y 1, Y 2, Y 3 are independent! X is in Y 1 x Y 2 x Y 3 |Y 1 |. |Y 2 |. |Y 3 | |X| H(Y 1 )+H(Y 2 )+H(Y 3 ) H(X) n Exists i: rate(Y i ) If strong enough inequality here, we’re done! [BIW] And by [BIW], we’re done!
Outline of the construction of bipartite Ramsey graphs We try to construct a 2-source extractor. Settle for a Ramsey graph.
Bipartite Ramsey graph: overview of construction n X n Y A partition P of X and Y is a choice of two vertical lines that split X (and Y) into two blocks. For a fixed partition P we define: Output P (x,y)=4-source-ext (x 1,y 2,x 2,y 1 ). Theorem: For every 2 independent sources X and Y there exists a partition P s.t. Output P (X,Y) is uniform. X1X1 X2X2 Y1Y1 Y2Y2 Intuition: There exist splitting points where the blocks are sufficiently independent 10/ blocks
Bipartite Ramsey graph: overview of construction High level idea: on sources X,Y Find the “correct” partition P and output Output P (x,y)=4-source-ext(x 1,y 2,x 2,y 1 ). Problem: We know nothing about the distributions X,Y. We only get to see one sample (x,y). ?????????????????
Bipartite Ramsey graph: Selecting a partition We design a function Partition(x,y) which outputs a partition P. On input x,y we compute: Ramsey(x,y)=Output Partition(x,y) (x,y) The design of the partition function is fairly complicated and makes complicated use of the building blocks we saw previously.
Bipartite Ramsey graph: High level overview of proof For every sources X,Y there exist (large) subsets X’ in X and Y’ in Y s.t. For every x,y in X’,Y’: Partition(x,y) is some fixed partition P. Output P (X’,Y’) is uniformly distributed. Thus: Output P (X,Y) is not monochromatic N X YX’X’ Y’Y’
Existence of good partition n X n Y Theorem: For every 2 independent sources X and Y there exists a partition P s.t. Output P (X,Y) is uniform. [SSZ95,TS96,TS98, … ]: Consider partitioning one source X. Exists a partition P s.t. (X 1,X 2 ) is a block-wise source. H(X 2 ) is large. H(X 1 |X 2 =x 2 ) is large (for every x 2 ). X1X1 X2X2 Y1Y1 Y2Y2
0/1 Opt Extractor for 2 independent block-wise sources (900 bits) Somewhere extractor (900 bits) X1X1 Y2Y2 X2X2 Y1Y1 H(X 2 ) is large. H(X 1 |X 2 =x 2 ) is large (for every x 2 ). H(Y 2 ) is large. H(Y 1 |Y 2 =y 2 ) is large (for every y 2 ). each extractor is strong: Works for most fixings of one input For every choice of x 2 most choices of y 2 are good for X 1 |X 2 =x 2 For most choices of x 2,y 2 x 2,y 2 are good choices for: X 1 |X 2 =x 2 and Y 1 |Y 2 =y 2
Bipartite Ramsey graph: Selecting the partition. n X Goal: Design partition(x,y) and show that for every X,Y there are X ’ in X and Y ’ in Y s.t. Partition(x,y) is the “ correct ” partition P over X ’ x Y ’. H(X ’ 2 ) is large. H(X ’ 1 |X ’ 2 =x 2 ) is large (for every x 2 ). H(X ’ 3 )=0. X1X1 X2X2 X3X3 Turns out that the correct partition has more structure. This will help finding it! To find the correct partition we will find the leftmost line so that to the right of it there is no entropy.
Bipartite Ramsey graph: Selecting the partition. n X For every choice of vertical line P we conduct a test: test P (x,y)=pass/fail. Intuition: we want the test to pass only on partitions P s.t. H(X 2 ) is large. H(X 3 )=0. We define partition(x,y) to be the leftmost partition on which test P (x,y)=pass. X1X1 X2X2 X3X3 Turns out that the correct partition has more structure. This will help finding it! To find the correct partition we will find the leftmost line so that to the right of it there is no entropy.
Open problems Get a 2-source extractor. Get subconstant δ. We can get δ=1/log log n. Related work by [Raz05]. Improve the error parameter in 3 source extractor. Use technique for other constructions. Simplify technique.
That’s it