Analyzing algorithms by simulation
- 1 June 1992
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 24 (2) , 195-212
- https://doi.org/10.1145/130844.130853
Abstract
Although experimental studies have been widely applied to the investigation of algorithm performance, very little attention has been given to experimental method in this area. This is unfortunate, since much can be done to improve the quality of the data obtained; often, much improvement may be needed for the data to be useful. This paper gives a tutorial discussion of two aspects of good experimental technique: the use of variance reduction techniques and simulation speedups in algorithm studies. In an illustrative study, application of variance reduction techniques produces a decrease in variance by a factor 1000 in one case, giving a dramatic improvement in the precision of experimental results. Furthermore, the complexity of the simulation program is improved from Θ mn /H n ) to Θ( m + n log n ) (where m is typically much larger than n ), giving a much faster simulation program and therefore more data per unit of computation time. The general application of variance reduction techniques is also discussed for a variety of algorithm problem domains.Keywords
This publication has 16 references indexed in Scilit:
- Programming pearlsCommunications of the ACM, 1986
- Non-Uniform Random Variate GenerationPublished by Springer Nature ,1986
- Amortized analyses of self-organizing sequential search heuristicsCommunications of the ACM, 1985
- An empirical study of insertion and deletion in binary search treesCommunications of the ACM, 1983
- A Guide to SimulationPublished by Springer Nature ,1983
- Exegesis of Self-Organizing Linear SearchSIAM Journal on Computing, 1981
- Optimization Problems on Graphs with Independent Random Edge WeightsSIAM Journal on Computing, 1981
- Heuristics That Dynamically Organize Data StructuresSIAM Journal on Computing, 1979
- Computing minimum spanning trees efficientlyPublished by Association for Computing Machinery (ACM) ,1972
- Monte Carlo MethodsPublished by Springer Nature ,1964