Asymptotic Complexity from Experiments? A Case Study for Randomized Algorithms

  • Authors:
  • Peter Sanders;Rudolf Fleischer

  • Affiliations:
  • -;-

  • Venue:
  • WAE '00 Proceedings of the 4th International Workshop on Algorithm Engineering
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the analysis of algorithms we are usually interested in obtaining closed form expressions for their complexity, or at least asymptotic expressions in O(ċ)-notation. Unfortunately, there are fundamental reasons why we cannot obtain such expressions from experiments. This paper explains how we can at least come close to this goal using the scientific method. Besides the traditional role of experiments as a source of preliminary ideas for theoretical analysis, experiments can test falsifiable hypotheses obtained by incomplete theoretical analysis. Asymptotic behavior can also be deduced from stronger hypotheses which have been induced from experiments. As long as a complete mathematical analysis is impossible, well tested hypotheses may have to take their place. Several examples for probabilistic problems are given where the average complexity can be well approximated experimentally so that the support for the hypotheses is quite strong. Randomized Shellsort has performance close to O(n log n); random polling dynamic load balancing between P processors achieves full load sharing in log2 P + O(log log P) steps; randomized writing to D independent disks using a shared buffer size W achieves average efficiency at least 1 - D/(2W).