From worst-case to average-case hardness by local list decoding #
Let f be a Boolean function on n = m * b bits. Its encoding
(Cslib.Circuits.Boolean.hardnessEncode) [STV01] is the concatenation of the
Reed–Muller code with the Hadamard code: read f as a function on (BitString b) ^ m, take its
low-degree extension p to F ^ m for a field F of q = 2 ^ w elements containing
BitString b (Cslib.Code.lowDegreeExtension), a polynomial of total degree at most
d = m * (2 ^ b - 1), and output the parity enc (p x) ⬝ r of the w bits of p x selected by
r. The encoding is a Boolean function on m * w + w bits (Cslib.Code.concat of the extension
with the Hadamard code, Cslib.Circuits.Boolean.hardnessEncode_append_eq_concat). Informally,
given the truth table of f and the field arithmetic, it is evaluated with 2 ^ n terms of the
extension, in time 2 ^ O(n); this module formalizes no running time.
The reconstruction theorem (Cslib.Circuits.Boolean.complexity_le_of_agree_hardnessEncode):
if a circuit of size s agrees with the encoding of f on a 1 / 2 + ε fraction of its inputs,
then f has a circuit of size at most reconstructionCost, an explicit polynomial in s, q,
2 ^ K, 3 ^ L, 2 ^ b and the number of monomials M ≤ (D + 1) ^ 2 used by Sudan decoding,
for parameters K, L, D satisfying explicit inequalities. The circuit for f is built in
four stages, each querying the previous one:
- Goldreich–Levin decoding of the inner code, with fixed masks and guess, gives a function
G : F ^ m → Fthat agrees withpon at least anε / 2 ^ (K + 2)fraction ofF ^ m(Cslib.Circuits.Boolean.exists_glPredictor_agree). - Local list decoding along lines with advice (
Cslib.Code.lineListDecode) gives a function that computespat all but a small fraction of the points (Cslib.Code.exists_card_lineListDecode_ne_le). - Self-correction by interpolation along lines and majority trees computes
pat every point of the gridh (BitString b) ^ m(Cslib.Code.exists_forall_majTree_eq). - Reading off
ffrom the value ofpon the grid.
The stages are bit-blasted De Morgan circuits whose costs are bounded by
Cslib.Circuits.Boolean.bitSynthesis_glPredictor,
Cslib.Circuits.Boolean.BitSynthesis.lineListDecode and
Cslib.Circuits.Boolean.BitSynthesis.selfCorrect. In the ranges forced by the hypotheses the
reconstruction cost is at most 2 ^ 11 * 3 ^ L * m * w ^ 2 * q ^ 9 * 4 ^ K * (s + 1)
(Cslib.Circuits.Boolean.reconstructionCost_le,
Cslib.Circuits.Boolean.complexity_le_pow_of_agree_hardnessEncode). Informally (none of the
following asymptotics is formalized here), the smallest admissible parameters have
2 ^ K = O(w / ε ^ 2), 3 ^ L = O((m * b) ^ (log₂ 3)), D = O(√(d * q)) and
q = poly(d, w, 1 / ε), so for a block length b = Θ(log (n / ε)) the reconstructed circuit has
size polynomial in s, n and 1 / ε, and the encoding has O(n + log (1 / ε)) input bits when
m = n / b.
The theorem is nonuniform: the masks and guess of the Goldreich–Levin stage, the advice point of
the line stage and the directions of the self-correction stage are fixed by counting arguments, and
the circuits are obtained from synthesis bounds rather than constructed by an algorithm. Membership
of the encoding in E for f in E, and the derandomization of BPP from worst-case hardness,
are separate steps.
Main definitions #
Cslib.Circuits.Boolean.truthTableExtension: the low-degree extension of a truth table.Cslib.Circuits.Boolean.hardnessEncode: the encoding.Cslib.Circuits.Boolean.reconstructionCost: the size of the reconstructed circuit.
Main results #
Cslib.Circuits.Boolean.exists_glPredictor_agree: the Goldreich–Levin stage.Cslib.Circuits.Boolean.complexity_le_of_agree_hardnessEncode: the reconstruction theorem.Cslib.Circuits.Boolean.reconstructionCost_le: the reconstruction cost is at most2 ^ 11 * 3 ^ L * m * w ^ 2 * q ^ 9 * 4 ^ K * (s + 1).Cslib.Circuits.Boolean.complexity_le_pow_of_agree_hardnessEncode: the reconstruction theorem with this polynomial bound.
References #
- [M. Sudan, L. Trevisan, S. Vadhan, Pseudorandom generators without the XOR lemma] [STV01]
- R. Impagliazzo, A. Wigderson, P = BPP if E requires exponential circuits: Derandomizing the XOR lemma
- S. Arora, B. Barak, Computational Complexity: A Modern Approach, Chapter 19
The encoding #
The low-degree extension of the truth table of f, read as a function on (BitString b) ^ m
with values 0 and 1: a codeword of the Reed–Muller code of degree m * (2 ^ b - 1).
Instances For
The extension of a truth table on (BitString b) ^ m is a codeword of the Reed–Muller code of
degree m * (2 ^ b - 1).
On the grid, the extension of a truth table is the truth table: at the point whose coordinates
embed the blocks of x, it is 1 if f x and 0 otherwise.
The worst-case-to-average-case encoding [STV01]. On an input of
m * w + w bits, read the first m * w bits as a point x of F ^ m and the last w bits as
r, and output the parity enc (p x) ⬝ r of the bits of p x = truthTableExtension h f x
selected by r.
Instances For
The encoding is a concatenated code (Cslib.Code.concat): the outer word is the
extension of the truth table, read at the point with bits x, and the inner code is the Hadamard
code (Cslib.BitString.hadamardCode) of the bits of the field element.
The Goldreich–Levin stage #
The Goldreich–Levin stage. If C agrees with the encoding of f on a 1 / 2 + ε
fraction of the inputs and w ≤ 2 * (ε / 2) ^ 2 * (2 ^ K - 1) with K ≥ 1, then for some masks
and guess the Goldreich–Levin decoder agrees with the extension of f on at least
ε * 2 ^ (m * w) / 2 ^ (K + 2) points of F ^ m.
The reconstruction theorem #
The size of the circuit reconstructed from a predictor of size s for the encoding, with
K masks, Sudan parameter D with M monomials, majority trees of depth L and a field of q
elements: reading the grid point from the input, the self-correction stage over the line stage
over the Goldreich–Levin stage, and reading off f from the value of the extension.
Instances For
The reconstruction theorem [STV01]. Let F be a field of q elements
with an encoding enc : F ≃ BitString w, let h : BitString b ↪ F, let f be a Boolean
function on m * b bits, and let d = m * (2 ^ b - 1) ≥ 1. Suppose a Boolean function C with a
De Morgan circuit of size at most s agrees with the encoding hardnessEncode enc h f on a
1 / 2 + ε fraction of its 2 ^ (m * w + w) inputs. Let the parameters K ≥ 1, D and L
satisfy
w ≤ 2 * (ε / 2) ^ 2 * (2 ^ K - 1)(Goldreich–Levin decoding),q < #(Sudan.monomials d D)(more monomials of(1, d)-weighted degree at mostDthan points on a line; this holds when2 * d * q < (D + 1) * (D + 2)),2 ^ (K + 3) * D ≤ q * ε(lines have more thanDagreements on average),6 * (d + 1) * (1 / q ^ m + 2 ^ (K + 4) / (q * ε) + D / (q - 1)) ≤ 1(few errors are left for self-correction), andm * b ≤ 2 ^ L(majority trees of depthLcorrect all2 ^ (m * b)grid points).
Then f has a De Morgan circuit with at most
reconstructionCost w b m D K L s q (#(Sudan.monomials d D)) gates.
A polynomial bound on the reconstruction cost #
The reconstruction cost is polynomial: with q = 2 ^ w and the parameters in the ranges
guaranteed by the hypotheses of complexity_le_of_agree_hardnessEncode (D < q, d + 1 ≤ q,
at most q ^ 2 monomials, 2 ^ b ≤ q), the reconstructed circuit has at most
2 ^ 11 * 3 ^ L * m * w ^ 2 * q ^ 9 * 4 ^ K * (s + 1) gates.
The reconstruction theorem with a polynomial bound [STV01]. Under the
hypotheses of complexity_le_of_agree_hardnessEncode, with q = |F| = 2 ^ w, the function f
has a De Morgan circuit with at most 2 ^ 11 * 3 ^ L * m * w ^ 2 * q ^ 9 * 4 ^ K * (s + 1)
gates.