34
Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Embed Size (px)

Citation preview

Page 1: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Approximate List-Decoding and

Hardness Amplification

Valentine Kabanets (SFU)joint work with

Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Page 2: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Error-Correcting Codes, Randomness and

Complexity

“Classical” complexity (pre-Randomness): P vs NP, P vs NL, …

“Modern” complexity (Randomness):cryptography, NP = PCP(log n, 1), BPP vs P, expanders/extractors/…

Use of classical error-correcting codes (Hadamard, Reed-Solomon, …)

Invention of new kinds of codes (locally testable, locally decodable, locally list-decodable, …)

Page 3: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Example: Derandomization

Idea: Replace truly random string with

computationally random (pseudorandom) string

Goal: Save on the number of random bits used

Page 4: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Example: Derandomization

Computational Randomness =

Computational Hardness

Hard-to-compute functions ) Pseudorandom Generators (PRG) ) derandomization (BPP = P)

PRG ) Hard-to-compute functions

Page 5: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Hardness of Boolean functions

worst-case hardness of f : every (resource-bounded) algorithm A computes f(x) incorrectly for at least one input x

average-case hardness of f : every (resource-bounded) algorithm A computes f(x) incorrectly for at least fraction of inputs x

PRG requires average-case hard functions

Page 6: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Worst-Case to Average-Case

f(x1) f(x2) f(x3) … f(xN)

Error-Correcting Encoding

g(x1) g(x2) g(x3) … g(xM)

N = 2n

M = 2O(n)

Page 7: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Correcting Errors

f(x1) f(x2) f(x3) … f(xN)

Error-Correcting Decoding

g(x1) g(x2) g(x3) … g(xM)

If can compute g on “many” inputs, then can compute f on all inputs.

Page 8: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

A Closer Look

ImplicitError-Correcting

Decoding

If h(x) = g(x) for “many” x , and h is computable by a “small” circuit,then f is computable by a “small” circuit.

h

f

h ¼ g

Use Locally Decodableerror-correcting codes !

Page 9: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

List-Decodable Codes

ImplicitError-Correcting

List-Decoding

If h(x) = g(x) for ½ + of inputs, and h is computable by a “small” circuit,then f is computable by a “small” circuit.

hh ¼ g

Use Locally List-Decodableerror-correcting codes !

[Sudan, Trevisan, Vadhan ’01](algebraic polynomial-based codes)

f

Page 10: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Hardness Amplification

Yao’s XOR Lemma: If f:{0,1}n ! {0,1} is -hard for size s (i.e.,

any size s circuit errs on ¸ fraction of inputs), then

f©k(x1,…,xk) = f(x1) © … © f(xk) is (1/2-) –hard for size s’=s* poly(,), for ¼ 2-( k)

Proof: By contradiction. Suppose have a smallcircuit computing f©k on more than ½+ fraction, show how to build a new circuit computing f on > 1- fraction.

Page 11: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

XOR-based Code

Think of a binary message msg on N=2n bits as a truth-table of a Boolean function f.

The code of msg is of length Nk where code(x1,…,xk) = f(x1) © … © f(xk).

This is very similar to a version of Hadamard code …

Page 12: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Hadamard CodeGiven a binary msg on N bits, the

Hadamard code of msg is a string of 2N bits, where for an N-bit string r, the code at r is

Had(msg)r = < msg, r > mod 2

(the inner product of msg and r)Our XOR-code is essentially truncated Hadamard code where we only consider N-bit strings r of Hamming weight k :f(x1) © … © f(xk) = < msg, r >where ri=1 for i=x1, …, xk and ri=0 elsewhere

Page 13: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

List-Decoding Hadamard Code

Given a 2N-bit string w, how many N-bit strings m1, …, mt are there such that Had(mi) agrees with w in ¸ ½ + fraction of positions ?

Answer: O(1/2) (easy to show using discrete Fourier analysis, or

elementary probability theory)

The famous Goldreich-Levin algorithm provides an efficient way of list-decoding Hadamard code with optimal list size O(1/2)

Page 14: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

List-Decoding k-XOR-Code

Given a string w, how many strings m1, …, mt are there such that each k-XOR codeword code(mi) agrees with w in ¸ ½ + fraction of positions ?

Answer: Too many ! (any two messages that differ in < 1/k fraction of bits have almost identical codewords)

Page 15: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

List-Decoding k-XOR-Code

Correct question:Given a string m, how many k-XOR codewords

code(msg1), …, code(msgt) are there such that

(1) each code(msgi) agrees with m in ¸ ½ + fraction of positions, and

(2) every pair msgi and msgj differ in at least fraction of positions ?

Answer: 1/(42 – e-2 k), which is O(1/2) for > log (1/)/k (as is the case for Yao’s XOR Lemma ! )

Page 16: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

The List Size

The proof of Yao’s XOR Lemma yields an approximate list-decoding algorithm for the XOR-code defined above.

But the list size is 2poly(1/) rather than the optimal poly(1/)

Page 17: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Our Result for k-XOR Code

There is a randomized algorithm such that, for ¸ poly(1/k):

Given a circuit C that computes code(msg) in ½+ fraction of positions, the algorithm outputs with high probability a list of poly(1/) circuits that contains a circuit agreeing with msg in ¸ 1- k-0.1 fraction positions. The running time is poly(|C|,1/).

Page 18: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Direct Product Lemma

If f:{0,1}n ! {0,1} is -hard for size s (i.e., any size s circuit errs on ¸ fraction of inputs), then

fk(x1,…,xk) = f(x1)…f(xk) is ¼ 2-( k) -hard for size s’=s* poly(,).

XOR Lemma and Direct Product Lemma are essentially equivalent, thanks to the Goldreich-Levin list-decoding algorithm for Hadamard codes. Hence, enough to list-decode the Direct Product Lemma.

Page 19: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

The proof of the DP Lemma

[Impagliazzo & Wigderson]: Give efficient randomized algorithm LEARN that, given as input a circuit C -computing fk (where f:{0,1}n ! {0,1}) and poly(n,1/) pairs (x,f(x)) for independent uniform x’s, with high probability outputs a circuit C’ (1-)-computing f.

Need to know f(x) for poly(n,1/) random x’s. Let’s choose x’s at random, and then try all possibilities for the values of f on these x’s. This gives a list of 2poly(n,1/) circuits.

Page 20: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Reducing the List Size

Magic: We will use the circuit C -computing fk

to generate poly(n,1/) pairs (x,f(x)) for independent uniform x’s, and then run LEARN on C and the generated pairs (x,f(x)).

Well… Cannot do exactly that, but …

Page 21: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Imperfect samples

We will use the circuit C -computing fk to generate poly(n,1/) pairs (x,bx) for a distribution on x’s that is statistically close to uniform and such that for most x’s we have bx= f(x).

Then run a generalization of LEARN on C and the generated pairs (x,bx), where the generalized LEARN is tolerant of imperfect samples (x,bx).

Page 22: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

How to generate imperfect samples

Page 23: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Warm-up

Given a circuit C -computing fk, want to generate (x,f(x)) where x is almost uniformly distributed.

First attempt: Pick a k-tuple (x1,…, xk) uniformly at random from the -fraction of k-tuples where C is correct. Evaluate C(x1,…, xk) = b1… bk. Pick a random i, 1· i· k, and output (xi,bi).

Page 24: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

A Sampling Lemma

Let Sµ {0,1}nk be any set of density . Define a distribution D as follows: Pick an k-tuple of n-bit strings (x1,…,xk)

uniformly at random from S, pick uniformly an index 1· i· k, and output xi.

Then the statistical distance between D and the uniform distribution is at most (log(k/)/k)1/2 ¼ 1/k

Page 25: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Using the Sampling Lemma

If we could sample k-tuples on which C is correct, then we would have a pair (x,f(x)) for x ¼1/k- close to uniform.

But we can’t ! Instead, run the previous sampling procedure with a random k-tuple (x1,…, xk) some poly(1/) number of times.

With high probability, at least one pair will

be of the form (x,f(x)) for x close to uniform.

Page 26: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Getting more pairs

Given a circuit C -computing fk, we can get k1/2 pairs (x,f(x)),

for x’s statistically close to uniform, by viewing the input k-tuple as a k1/2-

tuple of k1/2-tuples, and applying the Sampling Lemma to

that “meta-tuple”.

Page 27: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

What does it give us ?

Given a circuit C -computing fk, we can generate about k1/2 samples (x,f(x)). (Roughly speaking.)

Need about n/2 samples (to run LEARN).

If n/2 < k1/2, then done. What if n/2 > k1/2 ???

Page 28: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Direct Product Amplification

Idea:Given a circuit C -computing fk,

construct a new circuit C’ that ’-computes fk’ for k’ = k3/2, and ’ > 2.

Iterate a constant number of times, and get a circuit poly()-computingfpoly(k) for any poly(k). If = poly(1/k), we are done. [ since n/2 · poly(k) ]

Page 29: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Direct Product Amplification

Cannot achieve perfect DP amplification !Instead, can create a circuit C’ such that,

for at least ’ fraction of tuples (x1,…, xk’), C’(x1,…, xk’) agrees with f(x1),…, f(xk’) in “most” positions.

Because of this imperfection, we can onlyget pairs of the form (x,bx) where x’s are almost uniform and “most” bx=f(x).

Page 30: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Putting Everything Together

Page 31: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

C for fk C’ for fkc

DP amplification

Sampling

LEARN

pairs (x,bx)

circuit (1-)-computing f

with probability > poly()

Repeat poly(1/) times to get a list containing a good circuit for f, w.h.p.

Page 32: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

An application to uniform hardness

amplification

Page 33: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Hardness amplification in PH

Theorem: Suppose there is a language L in PNPk that is 1/nc-hard for BPP. Then there is a language L’ in PNPk that is (1/2-n-d)-hard for BPP, for any constant d.

Trevisan gives a weaker reduction (from 1/nc to (1/2 – log- n) hardness) but within NP. Since we use the nonmonotone function XOR as an amplifier, we get outside NP.

Page 34: Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)

Open Questions

Achieving optimal list-size decoding for arbitrary .

What monotone functions f yield efficiently list-decodable f-based error-correcting codes ? Getting an analogue of the Goldreich-Levin algorithm for monotone f-based codes would yield better uniform hardness amplification in NP.