On randomization in sequential and distributed algorithms
- 1 March 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 26 (1) , 7-86
- https://doi.org/10.1145/174666.174667
Abstract
Probabilistic, or randomized, algorithms are fast becoming as commonplace as conventional deterministic algorithms. This survey presents five techniques that have been widely used in the design of randomized algorithms. These techniques are illustrated using 12 randomized algorithms—both sequential and distributed— that span a wide range of applications, including:primality testing(a classical problem in number theory),interactive probabilistic proof systems(a new method of program testing),dining philosophers(a classical problem in distributed computing), andByzantine agreement(reaching agreement in the presence of malicious processors). Included with each algorithm is a discussion of its correctness and its computational complexity. Several related topics of interest are also addressed, including the theory of probabilistic automata, probabilistic analysis of conventional algorithms, deterministic amplification, and derandomization of randomized algorithms. Finally, a comprehensive annotated bibliography is given.Keywords
This publication has 216 references indexed in Scilit:
- Probabilistic counting algorithms for data base applicationsPublished by Elsevier ,2003
- Multi-oracle interactive protocols with constant space verifiersJournal of Computer and System Sciences, 1992
- Lower bounds to randomized algorithms for graph propertiesJournal of Computer and System Sciences, 1991
- Statistical zero-knowledge languages can be recognized in two roundsJournal of Computer and System Sciences, 1991
- Realistic analysis of some randomized algorithmsJournal of Computer and System Sciences, 1991
- Probabilistic construction of deterministic algorithms: Approximating packing integer programsJournal of Computer and System Sciences, 1988
- Arthur-Merlin games: A randomized proof system, and a hierarchy of complexity classesJournal of Computer and System Sciences, 1988
- Generating quasi-random sequences from semi-random sourcesJournal of Computer and System Sciences, 1986
- Probabilistic encryptionJournal of Computer and System Sciences, 1984
- The Factorization of Linear GraphsJournal of the London Mathematical Society, 1947