The approximate degree of a Boolean function f:{−1,1}n→{−1,1} is the least degree of a real polynomial that
approximates f pointwise to error at most 1/3. We introduce a generic
method for increasing the approximate degree of a given function, while
preserving its computability by constant-depth circuits.
Specifically, we show how to transform any Boolean function f with
approximate degree d into a function F on O(n⋅polylog(n)) variables with approximate degree at least D=Ω(n1/3⋅d2/3). In particular, if d=n1−Ω(1), then
D is polynomially larger than d. Moreover, if f is computed by a
polynomial-size Boolean circuit of constant depth, then so is F.
By recursively applying our transformation, for any constant δ>0 we
exhibit an AC0 function of approximate degree Ω(n1−δ). This
improves over the best previous lower bound of Ω(n2/3) due to
Aaronson and Shi (J. ACM 2004), and nearly matches the trivial upper bound of
n that holds for any function. Our lower bounds also apply to
(quasipolynomial-size) DNFs of polylogarithmic width.
We describe several applications of these results. We give:
* For any constant δ>0, an Ω(n1−δ) lower bound on the
quantum communication complexity of a function in AC0.
* A Boolean function f with approximate degree at least C(f)2−o(1),
where C(f) is the certificate complexity of f. This separation is optimal
up to the o(1) term in the exponent.
* Improved secret sharing schemes with reconstruction procedures in AC0.Comment: 40 pages, 1 figur