190 likes | 338 Vues
This study investigates various fundamental function classes, including singletons, monomials, and monotone DNF, through the lens of property testing. We analyze the algorithms for determining if a function belongs to these classes with a focus on probability and complexity. Our results show how queries can assess functions without dependence on the input size while ensuring efficient learning and testing. This work builds on earlier research in program testing and property testing of algebraic properties, and aims to offer new insights into function classification and algorithmic techniques.
E N D
Proclaiming Dictators and JuntasorTesting Boolean Formulae Michal Parnas Dana Ron Alex Samorodnitsky
Testing Properties of Functions or: Testing membership in Function Classes f : {0,1}n -> {0,1} – Tested function; F– Class of functions (e.g. class of parity functions); dist(f,F) - mingF(Pr[f(x)g(x)]) f x f(x) If fF should accept with probability 2/3 If dist(f,F) > should reject with probability 2/3
In this work: We consider “The most basic” function classes: • Singletons: • Monomials: • DNF:
Motivation • Use testing as preliminary step to learning.That is, to decide what hypothesis class to use. • Gain new understanding about function class F through Property Testing perspective.
Previous Work on Property Testing Properties of functions: • Initially defined by Rubinfeld and Sudan in the context of Program Testing. Tested algebraic propertiesof functions: low-degree polynomials. • Other work on testing algebraic properties: [BLR,R,EKKRV...]. • Non-algebraic properties: Monotonicity[GGLRS,DGLRSS,B,FN]. • Properties of other objects: • Main focus: Graph properties:[GGR,GR,AK,AFKS,BR,PR,CS...] • Growing body of work deals with properties ofstrings [AKNS,N,PRR], sets of points [PR], geometric objects[CSZ], distributions [BFRW], and more.
Our Results • Test whether f is a singleton using queries. • Test whether f is a monomial using queries. • Test whether f is a monotoneDNF with at most tterms using queries. Common theme:no dependence in query complexity on size of input, n, and polynomial dependence on distance parameter, e.
Learning Boolean Formulae Basic observation: (proper) learning implies testing. • Can learn singletons and monomials under uniform distribution using queries [BEHW]. • Can properly learn monotone DNF with t terms and r literals using queries [A+BJT]. Main difference in our work: no dependence on n(though worse dependence on e and t ), and different algorithmic approach.
Singletons satisfy: (1)(2) Testing (Monotone) Singletons Natural test: check, by sampling, that conditions hold (approximately). Can analyze natural test for case that distance between function and class of singletons is not too big (bounded from 1/2).
Observation: Singletons are a special case of parity functions (i.e., functions of the form .) Claim:Let . If then Modified algorithm: (1) Test whether f is a parity function (with dist. par. e) using algorithm of [BLR] . (2) Uniformly select constant number of pairs x,y and check whether any is a violating pair (i.e.: ). Testing Singletons II - Parity Testing
Testing Singletons III - Self Correcting This “almost works”: Iffis singleton - always accepted. If f is e-far from parity - rejected w.h.p. But if f is e-close to parity function g, then cannot simply apply claim to argue that many violating pairs w.r.t. f. If we could only test violations w.r.t.ginstead of f ... Use Self-Corrector of [BLR] to “fix” f into parity function(g), and then test violations on self-corrected version.
Testing Singletons IIII - The Algorithm Final Algorithm for Testing Singletons:(1) Test whether f is a parity function with dist. par. e using algorithm of [BLR] . (2) Uniformly select constant number of pairs x,y. Verify that Self-Cor(f,x)Self-Cor(f,y)= Self-Cor(f,xy). (3) Verify that Self-Cor( ) = 1 .
Testing (Monotone) Monomials Monomials satisfy: (1) for some intk(2) Here too use some additional structure: If f is a monomial, then F1={x: f(x)=1} is an affine subspace (i.e., exist linear subspace V and y{0,1}n s.t. F1=Vy). In addition to checking conditions (1) and (2), algorithm tests whether F1 is an affine subspace. (How do we test affinity? Why does this help us? )
Fact:H is an affine subspace i.f.f. The Affinity Test: Repeat O(1/e2) times: Uniformly select x,yF1, z {0,1}n, verify that ( implies ) Testing Monomials II - Affinity Testing
Lemma2 (implications of test):If f is close to function g s.t. G1=[g(x)=1] is an affine subspace but g is not a monomial then is large. Testing Monomials III - Affinity Lemmas Lemma1 (correctness of affinity test):If f is monomial then affinity test always passes. If f is far from every function g s.t. G1=[g(x)=1] is an affine subspace, then test rejects w.h.p. What if f is far from every monomial (so should be rejected) but close to a function g s.t. G1=[g(x)=1] is an affine subspace (so may pass affinity test)?
Testing Monomials IIII - The Algorithm Algorithm for Testing Monomials:(1) Check that Pr[f(x)=1] is close to 2-k for some integerk. (2) Test whether F1={x: f(x)=1} is an affine subspace:Repeat O(1/e2) times: Uniformly select x,yF1, z {0,1}n, verify that (3) Repeat O(1/e) times: Uniformly select xF1, y{0,1}n check whether
Testing Monotone DNF Basic idea: Reduce testing DNF to testing monomials. If fis a t-term DNF, then fis the disjunction (“or”) oftmonomialsf1,…,ft. High Level Description of Algorithm: Works in (at most t) iterations. In i’th iteration finds string xithat can be used to (implicitly) define function gi. Tests whether each gi is a monotone monomial.
Testing Monotone DNF II Can Show:If fis monotone t-term DNF then, w.h.p. all gi’s are monotone monomials. If fis far from monotone t-term DNF then, at least one gi is far from monotone monomials (or don’t finish after t iterations). What are xi’s and how are the gi’s defined? If fis DNF then xi’s are “single-term representatives”. That is, each satisfies a single term (monomial) fiin f. Define gi(y)=1i.f.f.f(x)=1andf(xiy)=1
Testing Monotone DNF III - Finding Single-Term Rep’s Basic Idea: Suppose fis DNF. For x in F1 let S(x) denote subset of (indices of) terms satisfied by x. (Note that single-term-rep equiv to S(x) .)Consider x,yin F1. Then S(xy)=S(x)S(y). Furthermore, for fixed x, w.h.p. over random yin F1, |S(xy)|(3/4)|S(x)|. On the other hand, can bound probability that |S(xy)|=0. Hence, if we start from some x in F1 (s.t. S(x) contains term that is not yet represented) can obtain newsingle-term-rep (i.e., x’ s.t. S(x’)=1)w.h.p. in O(log t) steps.
Further Research • Are parity/affinity tests necessary for singletons/monomials? • Can (cubic) dependence on 1/ein monomial test be improved? • Is polynomial (or even linear) dependence on t (num of terms in DNF) really necessary? • Can algorithm for testing monotone DNF be extended to general DNF?