We show how to approximate any function in AC^0 by decision trees of much smaller height than its number of variables. More precisely, we show that any function in n variables computable by an unbounded fan-in circuit of AND, OR, and NOT gates that has size S and depth d can be approximated by a decision tree of height n - beta n to within error exp(-beta n), where beta = beta (S, d) = 2^{-O(d log^{4/5}S)}. Our proof is constructive and we use its constructivity to derive a deterministic algorithm for #AC^0SAT with multiplicative factor savings over the naive 2^n.S algorithm of 2^{-beta n}, when applied to any n-input AC^0 circuit of size S and depth d. Indeed, in the same running time we can deterministically construct a decision tree of size at most 2^{n-beta n} that exactly computes the function given by such a circuit. Recently, Impagliazzo, Matthews, and Paturi derived an algorithm for #AC^0SAT with greater savings over the naive algorithm but their algorithm is only randomized rather than deterministic. The main technical result we prove to show the above is that for every family F of k-DNF formulas in n variables and every 1
展开▼