Approximate polymorphisms
For a function g{0,1}^m→{0,1}, a function f{0,1}^n→{0,1} is called a g-polymorphism if their actions commute: f(g(𝗋𝗈𝗐_1(Z)),…,g(𝗋𝗈𝗐_n(Z))) = g(f(𝖼𝗈𝗅_1(Z)),…,f(𝖼𝗈𝗅_m(Z))) for all Z∈{0,1}^n× m. The function f is called an approximate polymorphism if this equality holds with probability close to 1, when Z is sampled uniformly. We study the structure of exact polymorphisms as well as approximate polymorphisms. Our results include: - We prove that an approximate polymorphism f must be close to an exact polymorphism; - We give a characterization of exact polymorphisms, showing that besides trivial cases, only the functions g = 𝖠𝖭𝖣, 𝖷𝖮𝖱, 𝖮𝖱, 𝖭𝖷𝖮𝖱 admit non-trivial exact polymorphisms. We also study the approximate polymorphism problem in the list-decoding regime (i.e., when the probability equality holds is not close to 1, but is bounded away from some value). We show that if f(x y) = f(x) f(y) with probability larger than s_≈ 0.815 then f correlates with some low-degree character, and s_ is the optimal threshold for this property. Our result generalize the classical linearity testing result of Blum, Luby and Rubinfeld, that in this language showed that the approximate polymorphisms of g = 𝖷𝖮𝖱 are close to XOR's, as well as a recent result of Filmus, Lifshitz, Minzer and Mossel, showing that the approximate polymorphisms of AND can only be close to AND functions.
READ FULL TEXT