Efficient checking of polynomials and proofs and the hardness of approximation problems
[Thesis]
M. Sudan
U. V. Vazirani
University of California, Berkeley
1992
96
Ph.D.
University of California, Berkeley
1992
The definition of the class NP (Coo71, Lev73) highlights the problem of verification of proofs as one of central interest to theoretical computer science. Recent efforts have shown that the efficiency of the verification can be greatly improved by allowing the verifier access to random bits and accepting probabilistic guarantees from the verifier (BFL91, BFLS91, FGL91, AS92). We improve upon the efficiency of the proof systems developed above and obtain proofs which can be verified probabilistically by examining only a constant number of (randomly chosen) bits of the proof. The efficiently verifiable proofs constructed here rely on the structural properties of low-degree polynomials. We explore the properties of these functions by examining some simple and basic questions about them. We consider questions of the form: (1) (testing) Given an oracle for a function f, is f close to a low-degree polynomial? (2) (correcting) Let f be close to a low-degree polynomial g, is it possible to efficiently reconstruct the value of g on any given input using an oracle for f? The questions described above have been raised before in the context of coding theory as the problems of error-detecting and error-correcting of codes. More recently interest in such questions has been regenerated due to its connections with the area of program result checking. We use results from coding theory as a starting point and combine these with several algorithmic techniques including pairwise independent sampling to give efficient randomized algorithms for these tasks. As a consequence we obtain fast randomized algorithms for error-detection and error-correction for some well-known codes. The expressive nature of low-degree polynomials suffices to capture the complexity of the class NP and we translate our results on the efficiency of the testing and correcting procedures into two different efficiently verifiable proof systems for deciding membership questions for NP languages. One proof system generates small and somewhat efficiently verifiable proofs and the other generates very large but very efficiently verifiable proofs. We then employ new techniques from the paper of (AS92) to compose these proof systems to obtain small proofs which can be verified by probing them in just a constant number of (randomly chosen) bits. An important consequence of this result is that for a large class of NP-complete optimization problems, it can be shown that finding even approximate solutions is an NP-hard problem. The particular class of optimization problems we consider is MAX SNP, introduced by Papadimiatriou and Yannakakis (PY91). For every MAX SNP-hard problem we show that there is a constant usd\epsilonusd, such that approximating the optimum to within a relative error of usd\epsilonusd is NP-hard.