We investigate the question of when a prover can aid a verifier to reliably compute a function faster than if the verifier were to compute the function on its own. Our focus is on the case when it is enough for the verifier to know that the answer is close to correct. The model of proof systems we use is based on variants of existing models of proof systems, such as IP and PCP. We develop protocols for several optimization problems, in which the running time of the verifier is significantly less than the size of the input. For example, we give polylogarithmic time protocols for showing the existence of a large cut, a large matching, and a small bin packing. In contrast, the protocols used to show that IP ¤ PSPACE¥ MIP ¤ NEXP, and NP ¤ PCP¦ § ¨ © ¥ [Sha90, BFL91, ALM+98, BFLS90] require a verifier that runs in ¦ © time. In the process, we develop a set of tools for use in constructing these proof systems.