Accurate answers using imprecise calculations
By Oliver Sheridan-Methven,
University of Oxford Mathematical Institute,
PhD in industrially focused mathematical modelling
For a huge variety of tasks we require computer simulations to produce useful answers. This can be from everyday items, such as simulating weather patterns
to produce the weather forecasts, to on-demand simulations of financial markets when measuring an individual’s risk exposure.
Common to all these tasks is the notion that more accurate answers are more desirable. Taking the weather forecast as an example, if this needs to be updated very regularly, then less accurate results can be preferable if they can be produced faster and at a reduced cost. This then raises the question: must we always compromise accuracy for speed?
A large family of simulations try to understand systems which are influenced by randomness, and typically the question being asked is what behaviour can we expect to observe? As these systems become ever more complicated, we are forced to turn to computers to answer these questions, and the answer is obtained by running several thousand (possibly millions or even billions!) of simulations, and seeing what happens on average. The more accurate the simulations, the more accurate the answer, and similarly the more simulations we run, the more confident we are in the accuracy of the answer. However, typically increasing the accuracy of simulations results in costlier simulations and the increase in computational time can be prohibitively
Our research explores a branch of mathematics called multilevel Monte Carlo, where
the solution to this problem is to run increasingly lower-precision simulations in order to recover a higher accuracy. The underlying principle is that if the simulations are run in a low enough precision such that they are several times quicker to run on a computer, then whatever accuracy may have been lost from the precision is more than compensated for by being able to aggregate together many more simulations to compute an overall more accurate answer.
Specifically our research focuses on simulations which require generating random numbers, where we assess new methods of approximately generating random numbers with specific properties. We turn our attention to computational techniques for producing these random numbers, and their subsequent use and aggregation within the simulation, and optimise these processes for the scientific challenge at hand and the physical computer hardware being used. This means hand tuning mathematical algorithms and software for a range of computer architectures. Alongside this we are able to show with mathematical certainty that these modified simulations are still mathematically sound, and will produce the correct answers, giving industry practitioners and implementers the confidence they need to use these mathematical shortcuts in a range of applications.