Pythia and Tyche: An Eternal Golden Braid
- 247 Downloads
There are two fundamental ways to introduce non-determinism in an algorithm. One is to provide an “oracle” that the algorithm can consult at certain stages of its execution in order to get answers for questions of a prespecified type. The second is to introduce randomness, i.e., to allow certain steps of the algorithm depend on the outcome of a random experiment. Both methods are essential in developing a theory of complexity for algorithms. In other words, both methods help in understanding the inherent difficulties associated with various types of problems and consequently, sometimes, they provide the insight necessary to obtain better deterministic algorithms (as we shall explain, random algorithms — as opposed to oracle computations - are on their own important in practice). In this paper, we explain the impact of these two forms of non-determinism on Complexity theory and we attempt to highlight the intriguing relation between them.
KeywordsDecision Procedure Travelling Salesman Problem Propositional Calculus Random Algorithm Satisfiability Problem
Unable to display preview. Download preview PDF.
- [2.A]English translation in: J. van Heijenoort: From Frege to GÖdel - a Sourcebook in Mathematical Logic 1879-1931 (Cambridge, Mass., 1967).Google Scholar
- 3.O. Goldreich, S. Micali and A. Wigderson: ″Proofs that yield nothing but their validity and a methodology of cryptographic protocol design (extended abstract)″, Proc. 27th IEEE Symp. on Foundations of Computer Science (1986) 174-187.Google Scholar
- L. M. Kirousis and P. Spirakis: ″Probabilistic log-space reductions and problems probabilistically hard for P″, Technical Report, Computer Technology Institute (1987, Patras).Google Scholar
- A. M. Turing: ″On computable numbers, with an application to the Entscheidurigsoroblem″, Proc. London Math. Soc. ser. 2, vol. 42, (1936), 230-265.Google Scholar
- U. V. Vazirani and V. V. Vazirani: ″A natural encoding scheme proved probabilistic polynomial complete″, Proc. 23rd IEEE Symp. on Foundations of Computer Science (1982) 40-44.Google Scholar