What Do We Learn from Experimental Algorithmics?

  • Camil Demetrescu
  • Giuseppe F. Italiano
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1893)


Experimental Algorithmics is concerned with the design, implementation, tuning, debugging and performance analysis of computer programs for solving algorithmic problems. It provides methodologies and tools for designing, developing and experimentally analyzing efficient algorithmic codes and aims at integrating and reinforcing traditional theoretical approaches for the design and analysis of algorithms and data structures.

In this paper we survey some relevant contributions to the field of Experimental Algorithmics and we discuss significant examples where the experimental approach helped in developing new ideas, in assessing heuristics and techniques, and in gaining a deeper insight about existing algorithms.


Problem Instance Active Node Priority Queue Memory Hierarchy Combinatorial Algorithm 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A.V. Aho, J.E. Hopcroft, and J.D. Ullman. The Design and Analysis of Computer Algorithms. Addison Wesley, 1974.Google Scholar
  2. 2.
    R.K. Ahuia, T.L. Magnanti, and J.B. Orlin. Network Flows: Theory, Algorithms and Applications. Prentice Hall, Englewood Cliffs, NJ, 1993.Google Scholar
  3. 3.
    R. Anderson. The role of experiment in the theory of algorithms. In Proceedings of the 5th DIMACS Challenge Workshop, 1996. Available over the Internet at the URL:
  4. 4.
    C. Berge and A. Ghouila-Houri. Programming, Games and Transportation Networks. Wiley, 1962.Google Scholar
  5. 5.
    G. Bilardi, P. D’Alberto, and A. Nicolau. Fractal matrix multiplication: a case study on portability of cache performance. Manuscript, May 2000.Google Scholar
  6. 6.
    M.H. Brown. Algorithm Animation. MIT Press, Cambridge, MA, 1988.Google Scholar
  7. 7.
    M.H. Brown. Zeus: a System for Algorithm Animation and Multi-View Editing. In Proceedings of the 7-th IEEE Workshop on Visual Languages, pages 4–9, 1991.Google Scholar
  8. 8.
    G. Cattaneo, U. Ferraro, G.F. Italiano, and V. Scarano. Cooperative Algorithm and Data Types Animation over the Net. In Proc. XV IFIP World Computer Congress, Invited Lecture, pages 63–80, 1998. System Home Page:
  9. 9.
    B.V. Cherkassky. A Fast Algorithm for Computing Maximum Flow in a Network. In A.V. Karzanov editor, Collected Papers, Issue 3: Combinatorial Methods for Flow Problems, pages 90–96. The Institute for Systems Studies, Moscow, 1979. In Russian. English translation appears in AMS Translations, Vol. 158, pp. 23–30. AMS, Providence, RI, 1994.Google Scholar
  10. 10.
    B.V. Cherkassky and A.V. Goldberg. On implementing the push-relabel method for the maximum flow problem. Algorithmica, 19:390–410, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. The MIT Press, 1990.Google Scholar
  12. 12.
    P. Crescenzi, C. Demetrescu, I. Finocchi, and R. Petreschi. Reversible Execution and Visualization of Programs with LEONARDO. Journal of Visual Languages and Computing, 11(2), 2000. Leonardo is available at the URL:
  13. 13.
    G.B. Dantzig. Application of the Simplex Method to a Transportation Problem. In T.C. Hoopmans editor, Activity Analysis and Production and Allocation, Wiley, New York, 1951.Google Scholar
  14. 14.
    Demetrescu, C. and Finocchi, I. Break the “Right” Cycles and Get the “Best” Drawing. In Proc. of the 2nd International Conference on Algorithms and Experimentations (ALENEX’00) San Francisco, CA, 2000.Google Scholar
  15. 15.
    M. Eisenstadt and M. Brayshaw. The transparent prolog machine: An execution model and graphical debugger for logic programming. Journal of Logic Programming, 5(4):1–66, 1988.CrossRefMathSciNetGoogle Scholar
  16. 16.
    A.V. Goldberg. Selecting problems for algorithm evaluation. In Proc. 3-rd Workshop on Algorithm Engineering (WAE’99), LNCS 8, pages 1–11, 1999.Google Scholar
  17. 17.
    A.V. Goldberg and B.M.E. Moret. Combinatorial algorithms test sets [CATS]: The ACM/EATCS platform for experimental research (short). In SODA: ACM-SIAM Symposium on Discrete Algorithms, 1999.Google Scholar
  18. 18.
    R.R. Henry, K.M. Whaley, and B. Forstall. The University of Washington Program Illustrator. In Proceedings of the ACM SIGPLAN’90 Conference on Programming Language Design and Implementation, pages 223–233, 1990.Google Scholar
  19. 19.
    D. Johnson. A theoretician’s guide to the experimental analysis of algorithms. In Proceedings of the 5th DIMACS Challenge Workshop, 1996. Available over the Internet at the URL:
  20. 20.
    D. Klingman, A. Napier, and J. Stutz. Netgen: A program for generating large scale capacitated assignment, transportation, and minimum cost network flow problems. Management Science, 20:814–821, 1974.MathSciNetzbMATHCrossRefGoogle Scholar
  21. 21.
    Donald E. Knuth. Stanford GraphBase: A platform for combinatorial algorithms. In Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 41–43, New York, NY 10036, USA, 1993. ACM Press.Google Scholar
  22. 22.
    S.P. Lahtinen, E. Sutinen, and J. Tarhio. Automated Animation of Algorithms with Eliot. Journal of Visual Languages and Computing, 9:337–349, 1998.CrossRefGoogle Scholar
  23. 23.
    T. Leong, P. Shor, and C. Stein. Implementation of a combinatorial multicommodity flow algorithm. In D.S. Johnon and C. McGeoch, eds., Network Flows and Matching: First DIMACS Implementation Challenge, pages 387–406, 1993.Google Scholar
  24. 24.
    C. McGeoch. A bibliography of algorithm experimentation. In Proceedings of the 5th DIMACS Challenge Workshop, 1996. Available over the Internet at the URL:
  25. 25.
    K. Mehlhorn and S. Naher. LEDA, a platform for combinatorial and geometric computing. Communications of the ACM, 38:96–102, 1995.CrossRefGoogle Scholar
  26. 26.
    B.M.E. Moret. Towards a discipline of experimental algorithmics. In Proceedings of the 5th DIMACS Challenge Workshop, 1996. Available over the Internet at the URL:
  27. 27.
    B.M.E. Moret and H.D. Shapiro. An empirical assessment of algorithms for constructing a minimal spanning tree. Computational Support for Discrete Mathematics N. Dean and G. Shannon eds. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, 15:99–117, 1994.Google Scholar
  28. 28.
    G.C. Roman, K.C. Cox, C.D. Wilcox, and J.Y Plun. PAVANE: a System for Declarative Visualization of Concurrent Computations. Journal of Visual Languages and Computing, 3:161–193, 1992.CrossRefGoogle Scholar
  29. 29.
    S. Skiena. Who is interested in algorithms and why? lessons from the stony brook algorithms repository. In Proc. Workshop on Algorithm Engineering (WAE’98), pages 204–212, 1998.Google Scholar
  30. 30.
    J.T. Stasko. The Path-Transition Paradigm: a Practical Methodology for Adding Animation to Program Interfaces. Journal of Visual Languages and Computing, 1(3):213–236, 1990.CrossRefGoogle Scholar
  31. 31.
    J.T. Stasko. A Methodology for Building Application-Specific Visualizations of Parallel Programs. Journal of Parallel and Distributed Computing, 18:258–264, 1993.CrossRefGoogle Scholar
  32. 32.
    J.T. Stasko, J. Domingue, M.H. Brown, and B.A. Price. Software Visualization: Programming as a Multimedia Experience. MIT Press, Cambridge, MA, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Camil Demetrescu
    • 1
  • Giuseppe F. Italiano
    • 2
  1. 1.Dipartimento di Informatica e SistemisticaUniversitá di Roma “La Sapienza”RomaItaly
  2. 2.Dipartimento di Informatica, Sistemi e ProduzioneUniversitá di Roma “Tor Vergata”RomaItaly

Personalised recommendations