
Self-Testing/Correcting for Polynomials and for Approximate Functions Peter Gemmell ∗ Richard Lipton y Ronitt Rubinfeld z Madhu Sudan x Avi Wigderson { April 25, 2002 Abstract We initiate the study of self-testing (and self-correcting) programs which only approximately compute f. This setting captures in particular the digital computation of The study of self-testing/correcting programs was intro- real valued functions. We present a rigorous framework duced in [8] in order to allow one to use program P to and obtain the first results in this area: namely that the compute function f without trusting that P works cor- class of linear functions, the log function and floating rectly. A self-tester for f estimates the fraction of x for point exponentiation can be self-tested. All of the above which P (x) = f(x); and a self-corrector for f takes a functions also have self-correctors. program that is correct on most inputs and turns it into a program that is correct on every input with high prob- ability 1. Both access P only as a black-box and in some precise way are not allowed to compute the function f. 1 Introduction Self-correcting is usually easy when the function has the random self-reducibility property. One class of such Suppose someone gives us an extremely fast pro- functions that has this property is the class of multivari- gram P that we can call as a black box to com- ate polynomials over finite fields [4] [12]. We extend this result in two directions. First, we show that polynomi- pute a function f. Rather than trust that P works als are random self-reducible over more general domains: correctly, a self-testing program for f ([8]) verifies specifically, over the rationals and over noncommutative that program P is correct on most inputs, and a rings. Second, we show that one can get self-correctors self-correcting program ([8] [12]) for f takes a pro- even when the program satisfies weaker conditions, i.e. gram P that is correct on most inputs and uses it when the program has more errors, or when the program to compute f correctly on every input (with high behaves in a more adversarial manner by changing the probability). Self-testing/correcting is an extension function it computes between successive calls. of program result checking as defined in [5],[6], and Self-testing is a much harder task. Previously it was if f has a self-tester and a self-corrector, then f has known how to self-test for a few special examples of func- a program result checker. tions, such as the class of linear functions. We show that one can self-test the whole class of polynomial functions To make this somewhat more precise, consider a function P : X Y that attempts to compute over Zp for prime p. f. We consider! two domains, the \test" domain ∗U.C. Berkeley. Supported by NSF Grant No. CCR 88- D X and the \safe" domain D X (usually 13632 t s D ⊂= D ). We say that program P⊂ -computes f yPrinceton University. t s zPrinceton University. Supported by DIMACS (Center for on Dt if Prx Dt [P (x) = f(x)] > 1 . An (1; 2)- Discrete Mathematics and Theoretical Computer Science), 2 − self-tester (0 1 < 2) for f on Dt must fail any NSF-STC88-09648. ≤ program that does not 2-compute f on Dt, and xU.C. Berkeley. Part of this work was done while this author was visiting IBM Almaden. must pass any program that 1-computes f on Dt {Hebrew University and Princeton University. Partially (note that the behavior of the tester is not specified supported by the Wolfson Research Awards administered by for all programs). The tester should satisfy these the Israel Academy of Sciences and Humanities. conditions with error probability at most β, where 1[12] independently introduces a notion which is essen- tially equivalent to self-correcting. β is a confidence parameter input by the user. An - self-corrector for f on (Dt;Ds) is a program C that 1 uses P as a black box, such that for every x Ds, Dc = R). Define a R-monomial over Dc to be P 2 2 Pr[C (x) = f(x)] 2=3, for every P which - an arbitrary word w (Dc X)∗, and its degree, ≥ 2 [ computes f on Dt. Furthermore, all require only a deg(w), the number of occurrences of indetermi- small multiplicative overhead over the running time nates. An R-polynomial f over Dc is simply the of P and are different, simpler and faster than any sum f = wi of R-monomials, and its degree, Pi correct program for f in a precise sense defined in deg(f) = maxideg(wi). Denote the set of all degree d [6]. d polynomials (where X = n) Rn(Dc). If Dc = R, we omit D from the abovej j definitions, and in par- Section 2 is devoted to self-correcting polynomial c ticular, the set of all degree d polynomials is Rd . functions, and Section 3 is devoted to the self-testing n of polynomial functions. Section 4 introduces self- testing/correcting and checking for programs which For example, if R is the ring of matrices over some field, Ds = Dt = Dc = R, and A; B; C; D; E; F R, only approximately compute f, including the digital 22 computation of real valued functions. then f(X1;X2) = A+BX1C+X2DX1EX2+X1 F is a polynomial of degree 3 in the two variables X1;X2. d If for every f Rn(Dc) there is an -self-corrector 2 Self-Correcting Polynomials 2 d on (Dt;Ds), we say that Rn(Dc) is -resilient on (Dt;Ds). When R = Dc = Ds = Dt, then we say d In addition to the aforementioned application, self- that Rn is -resilient. The interesting issues are of correcting is interesting because of its independent course for what rings and domains this is possible, applications to complexity theory: (1) The existence how small should be, and what is the complexity of a self-corrector for a function implies that the of the corrector program C, separating its actual function has similar average and worst case com- computation and the number of calls to the black plexities. (2) [4],[12] first observed that low degree box P . polynomials over finite fields have self-correctors. This simple fact turned out to be a key ingredient The results of [4] [12] can be compressed to: in two recent results in complexity theory, mainly IP=PSPACE [14][18] and MIP=NEXPTIME [3]. Theorem 1 ([4][12]) If F is a finite field, F > d + 1, then for every n, F d is 1 resilientj withj Self-correcting is usually easy when the function has n 3d+3 − the random self-reducibility property [8][12]. Infor- O(d) calls to P . mally, the property of k-random self-reducibility is that f(x) can be expressed as an easily computable The self-corrector used to prove this theorem is function of f(x1); : : : ; f(xk), where the xi's are each very simple to implement and is based on the exis- uniformly distributed, and are easy to choose. Sev- tence of the following interpolation identity relating eral functions have been shown to have this prop- the function values between points: for all univari- erty: examples of such functions are integer and ate polynomials f of degree at most d, x; t F , d+1 8 2 matrix multiplication, modular exponentiation, the αif(x + ai t) = 0 where the ai's are distinct Pi=0 · mod function and low degree polynomials over finite elements of F , α0 = 1 and αi depends only on − fields. F; d and not on x; t. 3 Then the self-correcting al- gorithm for evaluating f(¯x) = f(x1; : : : ; xn) is to Our first aim is to study the scope under which this n randomly choose t¯= (t1; : : : ; tn) F with uniform phenomenon occurs. We extend the above results d+1 2 ¯ distribution and output i=1 αiP (¯x + i t). With in various directions, and to this end, we define the probability at least 2=3, allP the calls to the· program following general setting. will return correct values, and the output will be Let R be any ring, and X = x1; x2; : : : xn a set correct. of indeterminates (we assume nothingf aboutg R, in particular the indeterminates may not commute). 3 In particular, if F = p, ai can be chosen to be i, and Let Dc R be the domain of coefficients (often i+1 d+1 Z d+1 then αi = ( 1) . Furthermore αif(x + i t) ⊂ − i i=0 · 2this can be amplified to 1 β by O(log 1/β) independent can be computed in O(d2) time usingP only additions and repetitions and and a majority− vote. comparisons by the method of successive differences in [20]. 2.1 New Domains 2.1.2 Fixed Point Arithmetic 2.1.1 Non-Commutative Rings Our second theorem concerns computation over do- mains that are not as nice as finite fields. The only Our first generalization shows, perhaps surpris- similar result we know appears in [3]. Motivated by ingly, that the [4][12] trick works in many non- the fact that every boolean function has a multi- commutative rings as well. This may have com- linear representation with small integer coefficients, plexity theoretic consequences, as many complexity they considered R = , Dc = 2n , Dt = Ds = 10d classes are characterized by non-commutative group and showed Z Z Z theoretic problems.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages12 Page
-
File Size-