Pseudorandom Objects and Generators
David Xiao
LIAFA CNRS, Université Paris 7
Journées ALEA 2012 Lecture 2: Pseudorandomness in Algorithms and Complexity
Pseudorandom Objects and Generators Journes ALEA 2012 Lecture 2: - - PowerPoint PPT Presentation
Pseudorandom Objects and Generators Journes ALEA 2012 Lecture 2: Pseudorandomness in Algorithms and Complexity David Xiao LIAFA CNRS, Universit Paris 7 Example: Polynomial Identity Testing Given multi-variate polynomial p Z[x 1
David Xiao
LIAFA CNRS, Université Paris 7
Journées ALEA 2012 Lecture 2: Pseudorandomness in Algorithms and Complexity
if p ≠ 0 then Prz[ p(z1 ... zm) = 0 ] ≤ d/100d = 1/100
t know how to derandomize!
computation?
but behaves indistinguishable from random
ask the physicists (or the philosophers)
1/2n
uniform over Fq, Gauss(0, 1), etc.
x A 0 or 1 r random
randomness
repetitions of A has error 2-Ω(k)
executions cost km random bits
| |E(S, T)| - |S| |T| D/N| ≤ λD √(|S| |T|)
random D-regular graph
S T
Spectral expander: G is (N, D, λ)- expander if:
absolute value
reduce error of A to 1/nc without any additional randomness
{0, 1}m
Proof...
visited vertices
Pr[ Maj(A(x; r1) ... A(x; rk)) errs ] ≤ 2-(1-λ) k (Good expander => w.h.p. fraction of bad steps in walk ≤ |B|/n = 1/3)
{0, 1}m B
H∞(X) = minx log (1/Pr[X = x])
f : {0,1}n -> {0,1}, s.t. for all X over {0,1}n with H∞(X) ≥ n-1, f(X) = uniform bit
For X uniform over larger preimage, f(X) constant
X
|X| ≥ 2k
fUd(X) {0,1}n {0,1}m
{0,1}d
come from?
can eliminate by enumeration
additive factors) [Radhakrishnan- TaShma’97]
[Zuc’06]:
expander
fi(w) = i’ th vertex visited in walk w
factors) [Lu-Reingold-Vadhan-Wigderson’03, Guruswami- Umans-Vadhan’06]
are indistinguishable for efficient algorithms
G : {0, 1}O(log m) -> {0, 1}m computable in time poly(m) For all efficient algorithms D, Pr[D(G(UO(log m))) = 1] ≈ Pr[D(Um) = 1]
s ∈ {0,1}O(log m), output majority
G : {0, 1}O(log m) -> {0, 1}m computable in time poly(m) For all non-zero linear functions f : {0,1}m -> {0,1}, | Pr[f(G(UO(log m))) = 1] - 1/2 | ≤ ε
conditional constructions
For all efficient algorithms C, Prs<-Ut[f(s) = C(s)] ≈ 1/2
algorithm from Ut+1
Proof...
sufficiently hard but computable in exponential time, can build PRG G : {0,1}K log m -> {0,1}m
G(x)i = f(x|Si)
{0,1}K log m {0,1}m
in 2t = poly(m) time
similar to analysis of g, use almost- independence of bits
Combinatorial design:
|Si ∩ Sj| ≤ log m
s useful in cryptography [Blum-Micali’82]
s against weaker classes of algorithms: