Uses of randomness in computation
Abstract
Random number generators are widely used in practical algorithms. Examples include simulation, number theory (primality testing and integer factorization), fault tolerance, routing, cryptography, optimization by simulated annealing, and perfect hashing. Complexity theory usually considers the worst-case behaviour of deterministic algorithms, but it can also consider average-case behaviour if it is assumed that the input data is drawn randomly from a given distribution. Rabin popularised the idea of “probabilistic" algorithms, where randomness is incorporated into the algorithm instead of being assumed in the input data. Yao showed that there is a close connection between the complexity of probabilistic algorithms and the average-case complexity of deterministic algorithms. We give examples of the uses of randomness in computation, discuss the contributions of Rabin, Yao and others, and mention some open questions. 1991 Mathematics Subject Classification. Primary 68-01, 68Q25; Secondary 05C80, 11A51, 11K45, 34F05, 65C10, 68P10, 68Q05, 68Q10, 68Q15
Description
Keywords
Citation
Collections
Source
Book Title
Entity type
Access Statement
License Rights
DOI
Restricted until
Downloads
File
Description