Testing k-Monotonicity
A Boolean k-monotone function defined over a finite poset domain D alternates between the values 0 and 1 at most k times on any ascending chain in D. Therefore, k-monotone functions are natural generalizations of the classical monotone functions, which are the 1-monotone functions. Motivated by the recent interest in k-monotone functions in the context of circuit complexity and learning theory, and by the central role that monotonicity testing plays in the context of property testing, we initiate a systematic study of k-monotone functions, in the property testing model. In this model, the goal is to distinguish functions that are k-monotone (or are close to being k-monotone) from functions that are far from being k-monotone. Our results include the following: - We demonstrate a separation between testing k-monotonicity and testing monotonicity, on the hypercube domain {0,1}d, for k≥3; - We demonstrate a separation between testing and learning on {0,1}d, for k=ω(logd): testing k-monotonicity can be performed with 2O(d⋅logd⋅log1/ε) queries, while learning k-monotone functions requires 2Ω(k⋅d⋅1/ε) queries (Blais et al. (RANDOM 2015)). - We present a tolerant test for functions f:[n]d→{0,1} with complexity independent of n, which makes progress on a problem left open by Berman et al. (STOC 2014). Our techniques exploit the testing-by-learning paradigm, use novel applications of Fourier analysis on the grid [n]d, and draw connections to distribution testing techniques.