Why should we fear, when chance rules everything, And foresight of the future there is none; 'Tis best to live at random, as one can.
We present here the motivation and a general description of a method dealing with a class of problems in mathematical physics. The method is, essentially, a statistical approach to the study of differential equations.
We do not assume anything about the distribution of the instances of the problem to be solved. Instead we incorporate randomization into the algorithm itself … It may seem at first surprising that employing randomization leads to efficient algorithms. This claim is substantiated by two examples. The first has to do with finding the nearest pair in a set of n points in ℝk. The second example is an extremely efficient algorithm for determining whether a number is prime.
So far, we used the Turing machine (as defined in Chapter 1) as our standard model of computation. But there is one aspect of reality this model does not seem to capture: the ability to make random choices during the computation. (Most programming languages provide a built-in random number generator for this.) Scientists and philosophers may still debate if true randomness exists in the world, but it definitely seems that when tossing a coin (or measuring the results of other physical experiments) we get an outcome that is sufficiently random and unpredictable for all practical purposes.