Property Testing on Boolean Functions Thesis Proposal
Total Page:16
File Type:pdf, Size:1020Kb
Property testing on boolean functions Thesis proposal Eric Blais Computer Science Department Carnegie Mellon University Pittsburgh, PA [email protected] May 20, 2010 Abstract Property testing deals with the following general question: given query access to some combinatorial object, what properties of the ob- ject can one test with only a small number of queries? In this thesis, we will study property testing on boolean functions. Specifically, we will focus on two basic questions in the field: Can we characterize the set of properties on boolean functions that can be tested with a constant number of queries? And can we determine the exact number of queries needed to test some fundamental properties of boolean functions? 1 Contents 1 Introduction 3 2 Definitions and notation 4 2.1 Boolean functions . 4 2.2 Property testing . 5 3 Characterization of testable properties 5 3.1 Related work . 6 3.2 Testing function isomorphism . 7 3.3 Completed work on testing function isomorphism . 7 3.4 Proposed research . 8 4 Exact query complexity bounds 10 4.1 Related work . 10 4.2 Completed work on testing juntas . 11 4.3 Proposed research . 11 5 Other proposed research 12 5.1 Alternative models of property testing . 13 5.2 Application of property testing ideas to other domains . 14 6 Suggested timeline 14 2 1 Introduction This thesis is primarily concerned with the study of boolean functions. Boolean functions play a central role in many areas of computer science: complexity theory [44], machine learning [19], coding theory [43], cryptog- raphy [18], circuit design [34], data structures [30], and combinatorics [16]. Boolean functions have also become an important subject in the field of property testing; it is this last topic that I propose to study in this thesis. Property testing deals with the following general question: for which properties of combinatorial objects (such as boolean functions) can we dis- tinguish between objects that have the property and objects that are \far" from having the property while making only a small number of local queries to the object? The field of property testing is very young, but it has already generated a large body of research (see, e.g., the recent surveys [24, 36, 37]) and has led to notable insights into sub-linear time algorithms [38] and learning theory [36]. Much of the research in property testing has focused on characterizing the set of necessary and sufficient conditions for a property to be testable with only a constant number of queries.1 This line of research has been very successful in characterizing testable graph properties and algebraic prop- erties, but there has been comparatively little progress in characterizing testable properties of boolean functions. The first goal of this thesis is to make some progress in characterizing testable properties of boolean functions. I aim to do so through the study of function isomorphism properties. These properties, their relation to the characterization project, and my plan for this part of the thesis are presented in Section 3. The second goal of this thesis is to go beyond the characterization project and obtain precise bounds on the number of queries required to test certain fundamental properties of boolean functions. Some of this research has already been carried out, and has resulted in nearly tight bounds on the query complexity required to test juntas. These results and other properties that I plan to study as part of this goal are presented in Section 4. The above two goals form the principal line of inquiry that I plan to pursue in the completion of this thesis. There are, however, many other 1I.e., a number of queries that is independent of the size of the object. Precise defini- tions are for all the concepts discussed in this introduction are presented in Section 2. 3 interesting questions related to property testing on boolean functions. Sec- tion 5 contains a brief description of some of the questions that I may also pursue in the course of completing this thesis. 2 Definitions and notation This section introduces the definitions and notation that we use in the rest of the document. All our definitions and notation choices are standard; we include them here for completeness. 2.1 Boolean functions A boolean function f : f0; 1gn ! f0; 1g is a function that takes in n boolean variables or, equivalently, an n-dimensional boolean vector, and outputs a boolean value. We write Bn to represent the set of boolean functions n S n f0; 1g ! f0; 1g, and let B = n≥1 B . A coordinate i 2 [n] is relevant to the function f : f0; 1gn ! f0; 1g if there are is an input x 2 f0; 1gn such that f(x) 6= f(x(i)), where x(i) 2 f0; 1gn is the input obtained by flipping the value of the ith coordinate of x. The influence of i in f is the probability that f(x) 6= f(x(i)) when x is chosen uniformly at random from f0; 1gn; the coordinate i is relevant iff it has nonzero influence. A function that has at most k relevant coordinates is called a k-junta. For any function f : f0; 1gn ! f0; 1g and permutation π on [n], we π n π let f : f0; 1g ! f0; 1g be the function defined by f (x1; : : : ; xn) = n f(xπ(1); : : : ; xπ(n)) for every input x = (x1; : : : ; xn) 2 f0; 1g . When a func- tion g : f0; 1gn ! f0; 1g satisfies g = f π for some permutation π, we say that f and g are isomorphic. The distance between two boolean functions f; g : f0; 1gn ! f0; 1g is the probability that they disagree on an input chosen uniformly at random from f0; 1gn: ∆(f; g) := Pr [f(x) 6= g(x)]: x2f0;1gn 4 2.2 Property testing A property of boolean functions is a subset P ⊆ B of all boolean functions that is closed under permutation of the coordinates. That is, if P is a property of boolean functions and f : f0; 1gn ! f0; 1g is in P, then for every permutation π on [n] the function f π is also in P. The distance between a function f : f0; 1gn ! f0; 1g and a property P is the minimum distance between f and any function in P\Bn: ∆(f; P) := min ∆(f; g): g2P\Bn For any > 0, when ∆(f; P) ≥ we say that f is -far from P; when ∆(f; P) ≤ we say that f is -close to P. The central notion in property testing is, not surprisingly, that of a tester: Definition 1 (Tester). Fix q : N ! N and > 0. A randomized algorithm A with oracle access to an unknown function f : f0; 1gn ! f0; 1g is a (q; )- tester for the property P if it queries f on at most q(n) inputs and 2 • Accepts f with probability at least 3 when f 2 P; and 2 • Rejects f with probability at least 3 when f is -far from P. A tester that accepts functions in P with probability 1 has one-sided er- ror. A tester that fixes all of its queries in advance is non-adaptive; otherwise it is adaptive. The query complexity of the task of -testing the property P is the func- tion QP, : N ! N where QP,(n) is the minimal value of q(n) for which there is a (q; )-tester for P. A property P is efficiently testable, or simply testable, when for every > 0, there exists a constant c = c() such that QP, is bounded above by c. When this is not the case, P is considered not (efficiently) testable. 3 Characterization of testable properties In this section, we discuss the first goal mentioned in the introduction: to make some progress on the project of characterizing the testable properties of boolean functions. 5 We begin the section with a survey of related work. We then introduce the function isomorphism testing problem and review the results that I have recently obtained on this problem. Finally, we discuss the ways in which I plan to apply the results on testing function isomorphism to obtain new characterizations of testable properties of boolean functions. 3.1 Related work The problem of characterizing the set of testable properties was first raised by Goldreich, Goldwasser, and Ron [27] in the context of testing graph properties. The problem has been largely solved in this context [2, 3, 4, 6], and much progress has also been made on the characterization of testable algebraic properties [12, 29, 40]. (See also [41] and the references therein.) The progress on characterizing testable properties on boolean functions is more limited. Many properties of boolean functions have been studied: monotonicity [21, 23, 26], being a dictator function [11, 35] or a junta [17, 22], being representable by a conjunction or a DNF with few terms [35], being a halfspace [32, 33], having a low-dimensional or sparse Fourier representa- tion [28], etc. But these results remain largely isolated by the specificity of the proof techniques that are used. A more general result was obtained by Diakonikolas et al. [20] who showed that many properties related to the concise representation of boolean functions (e.g., being representable by a DNF with few terms, by a small decision list, by a small decision tree, or by a small boolean circuit) are efficiently testable using the method of \testing by implicit learning". Their result implies the following partial characterization of testable properties on boolean functions. Theorem 1 (Diakonikolas et al. [20]). Let P be a property on boolean func- tions for which there exists a constant k = k() such that for every f 2 P, f is -close to a k-junta.