Attribute Estimation and Testing Quasi-Symmetry

Reading time: 7 minute
...

📝 Original Info

  • Title: Attribute Estimation and Testing Quasi-Symmetry
  • ArXiv ID: 0708.2105
  • Date: 2007-08-17
  • Authors: ** Oded Goldreich, Shafi Goldwasser, Dana Ron **

📝 Abstract

A Boolean function is symmetric if it is invariant under all permutations of its arguments; it is quasi-symmetric if it is symmetric with respect to the arguments on which it actually depends. We present a test that accepts every quasi-symmetric function and, except with an error probability at most delta>0, rejects every function that differs from every quasi-symmetric function on at least a fraction epsilon>0 of the inputs. For a function of n arguments, the test probes the function at O((n/epsilon)\log(n/delta)) inputs. Our quasi-symmetry test acquires information concerning the arguments on which the function actually depends. To do this, it employs a generalization of the property testing paradigm that we call attribute estimation. Like property testing, attribute estimation uses random sampling to obtain results that have only "one-sided'' errors and that are close to accurate with high probability.

💡 Deep Analysis

Deep Dive into Attribute Estimation and Testing Quasi-Symmetry.

A Boolean function is symmetric if it is invariant under all permutations of its arguments; it is quasi-symmetric if it is symmetric with respect to the arguments on which it actually depends. We present a test that accepts every quasi-symmetric function and, except with an error probability at most delta>0, rejects every function that differs from every quasi-symmetric function on at least a fraction epsilon>0 of the inputs. For a function of n arguments, the test probes the function at O((n/epsilon)\log(n/delta)) inputs. Our quasi-symmetry test acquires information concerning the arguments on which the function actually depends. To do this, it employs a generalization of the property testing paradigm that we call attribute estimation. Like property testing, attribute estimation uses random sampling to obtain results that have only “one-sided’’ errors and that are close to accurate with high probability.

📄 Full Content

Suppose that we are given a Boolean function f : {0, 1} n → {0, 1} of n arguments, and that we wish to determine whether or not it is symmetric. (Such a function f is symmetric if it is invariant under all n! permutations of its arguments: f (x 1 , . . . , x n ) = f (x π(1) , . . . , x π(n) ) for all (x 1 , . . . , x n ) ∈ {0, 1} n and all bijections π : {1, . . . , n} → {1, . . . , n}. Equivalently, f is symmetric if it is constant on sets of settings of its arguments that have equal Hamming weight: f (x) = f (y) if |x| = |y|, where the Hamming weight |x| of x ∈ {0, 1} n is the number 1≤i≤n x i of 1s among x 1 , . . . , x n .) We seek to do this by querying the value of the function at various points (settings of its argument values), and we endeavor to minimize the number of queries that we make.

It is not hard to see that in the worst case, we may need to make 2 n -2 queries. For if f is the “all 0s” constant function, we are bound to find that it is symmetric, but we dare not announce this conclusion before querying all 2 n -2 points other than “all 0s” (0, . . . , 0) ∈ {0, 1} n and “all 1s” (1, . . . , 1) ∈ {0, 1} n . (For if (x 1 , . . . , x n ) is such a point not queried, then the function g that assumes the value 1 at and only at the point (x 1 , . . . , x n ) would be a non-symmetric function that assumes the same value as f at all queried points.) This situation may be summarized by saying that a “witness” for symmetry (a set of points at which the values of a function ensure its symmetry) must contain 2 n -2 points. A witness for non-symmetry, however, may consist of just two points, x and y, such that |x| = |y|, but for which f (x) = f (y). This suggests that we may test for symmetry more efficiently if we are willing to allow a small probability of a “false positive” (when we declare a function to be symmetric when in fact it is not).

This suggestion leads us to the paradigm of “property testing”. To introduce this notion to the current context, we shall need some definitions. If f and g are Boolean functions of n arguments, the distance ∆(f, g) between them is the fraction of their truth-table entries on which they differ. This fraction may be written as ∆(f, g) = |f ⊕ g|/2 n , where f ⊕ g denotes the “exclusive-or” or “sum modulo 2” of f and g, and the Hamming weight |f | of a Boolean function f is the number x∈{0,1} n f (x) of 1s in its truth-table. This is a proper metric on the set B n of Boolean functions of n arguments (that is, it is non-negative, vanishes only when the functions are equal, is symmetric and satisfies the triangle inequality). Furthermore, if we extend it by agreeing that functions of different numbers of arguments are at “infinite distance”, it remains a metric, now defined on the set B = n≥0 B n of all Boolean functions. If F and G are sets of Boolean functions, we define ∆

By a test for some property of Boolean functions (reified as a set G of Boolean functions), we shall mean a randomized algorithm that takes a Boolean function f and two parameters ε > 0 and δ > 0, queries the value of f at a finite sequence of points (where the number of queries, and choice of later points may depend on the outcomes of earlier queries), and announces an answer yes or no, where (1) if f has the property in question (that is, f ∈ G), then the algorithm answers yes, and (2) if f is ε-far from the set of functions with the property in question (that is, ∆(f, G) ≥ ε), then the algorithm answers no unless an event of probability at most δ has occurs. (Note that “probability” here refers to the randomization of the algorithm; the bound δ applies uniformly to all f that are ε-far from G.) Property testing, in the sense used here, was introduced by Rubinfeld and Sudan [R] and further developed by Goldreich,Goldwasser and Ron [G3]. The definition has many variants and has been applied to properties of many types of objects. A central example involving Boolean functions is testing monotonicity (see Goldreich, Goldwasser, Lehman and Ron (and, in the later version, Samorodnitsky) [G1, G2]).

In Section 2, we shall give a test for symmetry that makes at most O (1/ε) log(1/δ) queries. Although the test is randomized, this bound on the number of queries is uniform (not merely a bound on expectation, nor merely one that holds with high probability), and it is independent of the number of arguments. When the algorithm returns no, it also provides a witness to the non-symmetry of f . (Of course, when yes is returned, it may be a false positive, and in any case a witness to symmetry would be too large establish within the stated number of queries.)

We shall say that a Boolean function f : {0, 1} n → {0, 1} of n arguments is quasi-symmetric if it is a symmetric function of those of its arguments that it actually depends on. (We say that f depends on its i-th argument if there are Boolean values x 1 , . . . ,

In Section 4, we shall give a test for quasi-symmetry that makes at most O (n/ε) log(n/δ)

…(Full text truncated)…

📸 Image Gallery

cover.png page_2.webp page_3.webp

Reference

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut