Transcript Slides

List decoding and pseudorandom constructions:
lossless expanders and extractors
from Parvaresh-Vardy codes
Venkatesan Guruswami
Carnegie Mellon University
--- CMI Pseudorandomness Workshop, Aug 23, 2011 ---
Connections in Pseudorandomness
Randomness
Extractors
[Tre99,RRV99,
ISW99,SU01,Uma02]
[Tre99,TZ01,
TZS01,SU01]
[GW94,WZ95,
TUZ01,RVW00,
CRVW02]
Pseudorandom
Generators
[STV99,SU01,Uma02]
Error-Correcting
Algebraic list Codes
Expander
decoding
codes
[GLR08,GLW08]
Expander
Graphs
[SS96,Spi96,
GI02,GI03,
GR06,GUV07]
Euclidean Sections,
Compressed sensing
Connections in Pseudorandomness
Randomness
Extractors
[Tre99,RRV99,
ISW99,SU01,U02]
[Tre99,TZ01,
TZS01,SU01]
This talk
[GW94,WZ95,
TUZ01,RVW00,
CRVW02]
This
talk
Expander
Graphs
List-Decodable
[PV05,GR06]
Error-Correcting
Codes
[GI02,GI03]
Pseudorandom
Generators
[STV99,SU01,U02]
List Decodable codes
• Code C  D with N codewords, alphabet size || = Q
• (e,L)-list-decodable: Every Hamming ball of radius e has
at most L codewords of C
– Combinatorial packing condition
– Balls of radius e around codewords cover each point  L times.
– List error correction of e errors with worst-case list size L
List Decoding Centric View of
Pseudorandom Objects
List decoding, in different notation
• Encoding function E : [N]  [Q]D
• View as map (bipartite graph)  : [N] x [D]  [D] x [Q]
– (x, y) = (y , E(x)y)
• List decoding property:
N
DxQ
For all r  [Q]D , if
T = { (y , ry) : y  [D] } then
|LIST(T)|  L where we define
D
LIST(T) =
x
{ x : (x, y)  T for at least
D - e values of y }
Bipartite expanders
N
S, |S| K
M
D
 : [N] x [D]  [M]
“(K,A) expander”
|(S)|  A¢|S|
(vertex expansion
A = expansion factor)
• For all K’ ≤ K, and T  [M] with |T| < AK’, LIST(T) < K’
where
LIST(T) = { x  [N] : for all y  [D], (x, y)  T }
Extractors
unknown source of length n with
k bits of “min-entropy”
N = 2n
“seed”
D = 2d
EXT
d random bits
m almost-uniform bits
M = 2m
Would like m  k
•  : [N] x [D]  [M] is a (k,)-extractor if for all T  [M],
|LIST(T)| < 2k where
LIST(T) = { x  [N] : Pry [ (x,y)  T ] ≥ |T|/M + }
Condensers
(weaker object en route extractors)
k-source of length n
seed
d random bits
COND
~ k’-source of length m
•
Output not close to uniform but is close to source with good min-entropy
– Ideally k’  k (don’t lose entropy), m  k (good entropy “rate”)
•
Can also be captured by list decoding type definition
– LIST(T) small for all small subsets T  [M] , where
LIST(T) = { x : Pry [ (x,y)  T ] ≥  }
The common framework
Definitions of various useful objects
 : [N] x [D]  [M] captured as:
“For all subsets T  [M] that obey certain property, a suitably defined
list decoding of T, LIST(T), has small size”
– List decodable codes: T arising out of received words
– Expanders, condensers: T of small size
• Also case for “list recoverable codes”
– Extractors: arbitrary T
The framework gives not just unified abstractions, but also a proof
method that leads to the best constructions and analysis.
Parameters of interest
• Map  : [N] x [D]  [M]
• What we care about varies for different objects
• Extractors: small seed length D (= poly(log N)); large
output length M
• Codes: want small alphabet size M, small D (= O(log N))
– Small |LIST(T)|, plus efficient algorithm to recover LIST(T)
• Tight analysis of size of LIST(T) :
– exact value not too crucial for codes;
– for lossless expanders it is crucial (factor 2 worse bound implies
factor 2 worse expansion)
The abstraction in action
• Unbalanced expanders
• Expander Construction from Parvaresh-Vardy codes
• View as condensers and application to extractors
• Conclusions
Unbalanced Expander Graphs
N
M
“(K,A) expander”
S, |S| K
D
|(S)|  A¢|S|
(vertex expansion)
Goals:
• Minimize D
• Maximize A (lossless expansion: A close to D)
• Minimize M (not much larger than O(KD))
Expanders have many uses …
•
•
•
•
•
•
•
•
•
Fault-tolerant networks (e.g., [Pin73,Chu78,GG81])
Sorting in parallel [AKS83]
Derandomization [AKS87,IZ89,INW94,IW97,Rei05,…]
PCP theorem [Din06]
Randomness Extractors [CW89,GW94,TUZ01,RVW00,GUV07]
Error-correcting codes [SS96,Spi96,LMSS01,GI01-04]
Distributed routing in networks [PU89,ALM96,BFU99].
Data structures [BMRV00].
Hard tautologies in proof complexity [BW99,ABRW00,AR01].
• Pseudorandom matrices, Almost Euclidean sections of L1N
[GLR’08,GLW’08]
• ….
Need explicit constructions (deterministic, time poly(log N)).
(Bipartite) Expander Graphs
N
M
“(K,A) expander”
S, |S| K
Goals:
• Minimize D
• Maximize A
• Minimize M
D
|(S)|  A¢|S|
Optimal (Non-constructive):
• D = O(log (N/M) / )
• A = (1-)¢D
• M = O(KD/)
Explicit Constructions
degree D
Optimal
O(log (N/M))
expansion A
|right-side| M
(1-)¢D
O(KD)
Ramanujan graphs O(1)
¼ D/2
N
Zig-zag [CRVW02] O(1)
(1-)¢D
.01 N
Ta-Shma, Umans, polylog(N)
(1-)¢D
Zuckerman[TUZ01] exp(poly(log log N)) (1-)¢D
exp(poly(log KD)
G., Umans,
Vadhan
poly(KD)
polylog(N)
 arbitrary positive constant.
(1-)¢D
poly(KD)
Utility of Expansion (1-)¢D
• At least (1-2) D |S| elements of (S) are
unique neighbors: touch exactly one edge from S
N
M
S, |S| K
Useful in Expander
codes [SS’96]
x
|(S)| (1-) D |S|
D
• Set membership in bit-probe model [BMRV’00]
• Fault tolerance: Even if an adversary removes say ¾ edges
from each vertex, lossless expansion maintained (with =4)
The Result
N
M
“(K,A) expander”
S, |S| K
D
|(S)|  A¢|S|
Theorem [GUV]:  N, K, >0, 9 explicit (K,A) expander with
• degree D = poly(log N, 1/)
• expansion A = (1-)¢D
• #right vertices M = D2¢ K1.01
Parvaresh-Vardy codes
• Variant of Reed-Solomon codes
• Parameters of construction: n, Fq , m, h, an irreducible
polynomial E(Y) of degree n over Fq
• Encoding: Given message f  Fqn or polynomial f(Y) 
Fq[Y] of degree (n-1),
– PV(f)y = (f0(y) , f1(y) , … , fm-1(y)) for y  Fq
where
fi(Y) = (f(Y))h^i mod E(Y)
• Define (f, y) = (y , PV(f)y)
– Consider bipartite expander with neighborhood given by 
Expander theorem
Left vertices = polynomials of degree · n-1 over Fq (N = qn)
Degree D = q
Right vertices = Fqm+1 (M = qm+1)
(f,y) = y’th neighbor of f =
2
m-1
(y, f(y), (fh mod E)(y), (fh mod E)(y), …, (fh mod E)(y))
where E(Y) = irreducible* poly of degree n over Fq
h = a parameter
Thm [GUV’07]: This is a (K,A) expander for K = hm, A = q-hnm.
* can be found deterministically in poly(n, log q, char(F )) time
q
Close relation to list decoding
• Proof of expansion based on list decoding of ParvareshVardy codes
– Need a tight analysis of list size
– For “list recovery” version
y1
 K
Possible values
for each position
S1
y2
S2
yq
Sq
Recall list decoding view
N
M
“(=K,A) expander”
S, |S|=K
D
|(S)|  A¢ K
• For Tµ [M], define LIST(T) = {x2 [N] : (x)µT}
• Lemma: G is a (=K,A) expander if and only if
for all Tµ [M] of size AK-1, we have |LIST(T)| · K-1
Expansion analysis
(f,y) = (y, f(y), (fh mod E)(y), …, (fh
m-1
mod E)(y))
f = poly of degree · n-1, y  Fq, E = irreducible of degree n
= hm, we have
Theorem: For A = q - nmh and any K ·
Tµ Fqm+1 of size AK-1) |LIST(T)|· K-1
Proof outline, following [S97,GS99,PV05]:
1. Find a nonzero low-degree multivariate polynomial Q
vanishing on T.
2. Show that every f 2LIST(T) is a root of a related
univariate polynomial Q*.
3. Show that Q* is nonzero and deg(Q*) · K-1
Proof of Expansion: Step 1
Thm: For A=q-nmh, K= hm,
|T|·AK-1) |LIST(T)|· K-1.
Step 1: Find a low-degree poly Q vanishing on T µ Fqm+1
•
Take Q(Y,Z1,…,Zm) to be of degree · A-1 in Y,
degree · h-1 in each Zi.
•
# coefficients = A K > |T| = # homogeneous constraints,
so a nonzero solution exists
•
Wlog E(Y) doesn’t divide Q(Y,Z1,…,Zm).
Proof of Expansion: Step 2
(f,y) = (y, f(y), (fh mod E)(y), …, (fh
m-1
mod E)(y))
Step 1: 9 Q(Y,Z1,…,Zm) vanishing on T, deg · A-1 in Y, h-1
in Zi, E-Q
Degree ≤ A-1+nmh < q ≤ # roots
Step 2: Every f 2LIST(T) is a “root” of a related Q*
Polynomial f 2 LIST(T)
)
)
)
)
m-1
8 y2 Fq Q(y, f(y), (fh mod E)(y), …, (fh mod E)(y)) = 0
m-1
Q(Y, f(Y), (fh mod E)(Y), …, (fh mod E)(Y))  0
m-1
Q(Y, f(Y), f(Y)h, …, f(Y)h )  0 (mod E(Y))
Q*(f) = 0 in extension field U=Fq[Y]/(E(Y)), where Q*
m-1
U[Z] is given by
Q*(Z) = Q(Y,Z,Zh,…,Zh ) mod
E(Y)
Proof of Expansion: Step 3
Step 2: 8 f2LIST(T) Q*(f) = 0 where
m-1
Q*(Z) = Q(Y,Z,Zh,…,Zh ) mod E(Y)
Step 3: Show that Q* is nonzero and
•
deg(Q*) · K-1
Q*(Z) nonzero because
– Q(Y,Z1,….,Zm) mod E(Y) is nonzero
– Q is of deg · h-1 in Zi so distinct monomals get
i
h
mapped to distinct powers of Z when we set Zi = Z
•
deg(Q*) · h-1+(h-1)¢ h++(h-1)¢ hm-1 = hm-1 = K-1
Proof of Expansion: Wrap-Up
(f,y) = (y, f(y), (fh mod E)(y), …, (fh
LIST(T) = { x2 [N] : (x)µT }
Theorem: For A = q - nmh, K= hm,
m-1
mod E)(y))
|T|·AK-1) |LIST(T)|· K-1.
There is a nonzero polynomial Q* over U=Fq[Y]/(E(Y)) with
deg(Q*) · K - 1 such that every f  LIST(T) satisfies Q*(f) = 0.
Hence
|LIST(T)| · deg(Q*) · K - 1.
¥
Parameter Choices
LHS = Fqn , degree D = q, RHS = Fqm+1
We have a (K,A) expander with K = hm, A = q - nmh
To make A  (1-)¢ D, pick q  nmh/.
To make M ¼ KD, need qm+1 ¼ q hm, so take q ¼ h1+
Set h ¼ (nm/)1/, q ¼ h1+ . Then:
• A = q - nmh  (1- ) q = (1-)¢ D
• M = qm+1 ¼ q¢ h(1+)m ¼ D¢ K1+
• D = (nm/)1+1/ ¼ ((log N)(log K)/)1+1/
Our Expander Result
N
M
“(K,A) expander”
S, |S| K
D
|(S)|  A¢|S|
Thm: For every N, K, , >0, 9 explicit (K,A) expander with
• degree D = O((log N)¢ (log K)/)1+1/
• expansion A = (1-)¢D
• #right vertices M = (D¢K)1+
Outline
 Unbalanced expanders
 Expander Construction from Parvaresh-Vardy codes
• View as condensers and application to Extractors
• Conclusions
Extractors [NZ’93]
Uniform sample from unknown
subset X  {0,1}n of size 2k
“seed”
EXT
d random bits
m almost-uniform bits
• Goal: Output -close to uniform on {0,1}m (for large m and small d)
• Optimal (nonconstructive):
d = log n + 2 log(1/) + O(1)
m = (k+d) - 2 log(1/) - O(1)
Extractors: Original Motivation
• Randomization is pervasive in CS
– Algorithm design, cryptography, distributed computing, …
• Typically assume perfect random source.
– Unbiased, independent random bits
– Unrealistic?
• Can we use a “weak” random source?
– Source of biased & correlated bits.
– More realistic model of physical sources.
• (Randomness) Extractors: convert a weak random
source into an almost-perfect random source.
• Dozens of constructions over 15+ years
Extractors: many “extraneous” uses…
• Derandomization of (poly-time/log-space) algorithms
[Sip88,NZ93,INW94, GZ97,RR99, MV99,STV99,GW02]
• Distributed & Network Algorithms
[WZ95,Zuc97,RZ98,Ind02].
• Hardness of Approximation [Zuc93,Uma99,MU01,Zuc06]
• Data Structures [Ta02]
• Cryptography [BBR85,HILL89,CDHKS00,Lu02,DRS04,NV04]
• List decodable codes [TZ01,Gur04]
• Metric Embeddings [Ind06]
• Compressed sensing [Ind07]
[GUV] Result on Extractors
Optimal up to
constant factors
Thm: For every n, k, >0, 9 explicit (k,) extractor with seed
length d=O(log n + log (1/)) and output length m=.99k.
• Previously achieved by [LRVW03]
– Only worked for  ¸ 1/no(1)
– Complicated recursive construction
Expanders & Lossless Condensers
{0,1}n
2k
x
n-bit source with entropy k
2d
y
d-bit
seed
{0,1}m
(x,y)
¸ (1-) 2d¢ 2k
COND
m ¼ 1.01k bit
source with entropy
(k+d)
Lemma [TUZ01]:  : {0,1}n £{0,1}d ! {0,1}m is a
lossless ((n,k) ! (m,k+d)) condenser if
graph is a (2k,(1-)¢2d) expander.
Proof: Expansion ) can make 1-1 by moving  fraction of edges
Extractor
• Using PV code, we have compressed the n bit source to
1.01k bits while retaining all the entropy (using O(log n)
bit seed)
m-1
– Cond(f,y) = (y, f(y), (fh mod E)(y), …, (fh mod E)(y))
• Now extract 0.99k bits from the 1.01k bit source with
entropy k
– Easier, specialized task (due to high entropy percentage)
– Good constructions already known
• For constant error , can use a simple random walk based extractor
– Compose with our condenser to get final extractor
Extractor for high min-entropy
Extractor for min-entropy rate 99% that extracts 99% of the
input min-entropy with constant error:
2c-degree expander on 2(1-)n nodes
Ext(x,y) = y’th vertex on expander walk
specified by x
(n bit source: specify walk of length n/c)
Extraction follows from Chernoff bound for
expander walks [Gil98]
Variation on the Condenser
Cond(f,y) = (y, f(y), (fh mod E)(y), …, (fh
m-1
mod E)(y))
f(Y)q = f(Yq)  f(Y) mod E(Y)
• Use E(Y) = Yq-1 - , for generator  of Fq* [G.-Rudra’06]
i
) (fq mod E)(y) = f (i y)
Cond(f,y) = (y, f(y), f (γy), f(γ2y)…, f(γm-1y))
• Condenser from Folded Reed-Solomon code [GR06]
– Loses small constant fraction of min-entropy
• Okay for the extractor application
– Univariate analogue of Shaltiel-Umans extractor
Conclusions
• List decoding view + an algebraic code construction )
best known constructions of
– Highly unbalanced expanders
– Lossless condensers
– Randomness extractors
• Future directions?
– Constant degree lossless expanders (alternative to zig-zag)
• Non-bipartite expanders?
– Direct construction of a simple, algebraic extractor
– Extractors with better (or even optimal) entropy loss?
• Suffices to achieve this for entropy rate 0.999
– Other pseudorandom objects: multi-source extractors?