Parity is hard to approximate by low-degree functions over ZMod 3 #
Write yᵢ = 1 + xᵢ ∈ {1, -1} ⊆ ZMod 3, so that ∏ᵢ yᵢ = (-1)^{|x|} is parity in
±1 form and every yᵢ² = 1. If a degree-D function Q agrees with ∏ᵢ yᵢ on
a set G, then on G every y-monomial y_S with |S| > n/2 equals
Q · y_{Sᶜ}, of degree at most D + n/2. Since the y-monomials span all
functions, every function G → ZMod 3 is the restriction of a function of
degree at most n/2 + D. Comparing cardinalities, 3^{|G|} is at most 3 to
the number of monomials of at most n/2 + D coordinates.
The product of the ±1 variables yᵢ = 1 + xᵢ over S.
Equations
- Complexity.Smolensky.signMonomial S x = ∏ i ∈ S, (1 + Complexity.Smolensky.bitVal (x i))
Instances For
The span of the ±1 monomials of at most H coordinates.
Equations
- Complexity.Smolensky.signSpan n H = Submodule.span (ZMod 3) (Complexity.Smolensky.signMonomial '' {S : Finset (Fin n) | S.card ≤ H})
Instances For
The product of all ±1 variables is parity in ±1 form.
If Q has degree at most D and agrees with the ±1 parity on G, every
function agrees on G with a function of degree at most n / 2 + D.
If every function agrees on G with a function of degree at most H, then
|G| is at most the number of monomials of at most H coordinates.