TY - JOUR

T1 - Self-testing/correcting with applications to numerical problems

AU - Blum, Manuel

AU - Luby, Michael

AU - Rubinfeld, Ronitt

N1 - Funding Information:
* Research partially supported by NSF Grant No. CCR 8813632 and CCR 92-01092. + Research partially supported by NSF Operating Grant CCR-9016468 and by Grant No. 89-00312 from the United States-Israel Binational Science Foundation (BSF), Jerusalem, Israel. * Research done while at U.C. Berkeley and partially supported by an IBM Graduate Fellowship and NSF Grant No. CCR 88-13632.

PY - 1993/12

Y1 - 1993/12

N2 - Suppose someone gives us an extremely fast program P that we can call as a black box to compute a function f. Should we trust that P works correctly? A self-testing/correcting pair for f allows us to: (1) estimate the probability that P(x) ≠ φ(x) when x is randomly chosen; (2) on any input x, compute f(x) correctly as long as P is not too faulty on average. Furthermore, both (1) and (2) take time only slightly more than the original running time of P. We present general techniques for constructing simple to program self-testing/correcting pairs for a variety of numerical functions, including integer multiplication, modular multiplication, matrix multiplication, inverting matrices, computing the determinant of a matrix, computing the rank of a matrix, integer division, modular exponentiation, and polynomial multiplication.

AB - Suppose someone gives us an extremely fast program P that we can call as a black box to compute a function f. Should we trust that P works correctly? A self-testing/correcting pair for f allows us to: (1) estimate the probability that P(x) ≠ φ(x) when x is randomly chosen; (2) on any input x, compute f(x) correctly as long as P is not too faulty on average. Furthermore, both (1) and (2) take time only slightly more than the original running time of P. We present general techniques for constructing simple to program self-testing/correcting pairs for a variety of numerical functions, including integer multiplication, modular multiplication, matrix multiplication, inverting matrices, computing the determinant of a matrix, computing the rank of a matrix, integer division, modular exponentiation, and polynomial multiplication.

UR - http://www.scopus.com/inward/record.url?scp=0000619172&partnerID=8YFLogxK

U2 - 10.1016/0022-0000(93)90044-W

DO - 10.1016/0022-0000(93)90044-W

M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???

AN - SCOPUS:0000619172

VL - 47

SP - 549

EP - 595

JO - Journal of Computer and System Sciences

JF - Journal of Computer and System Sciences

SN - 0022-0000

IS - 3

ER -