Skip to main content

From Algorithm to Program to Software Library

  • Chapter
  • First Online:
Informatics

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2000))

  • 815 Accesses

Abstract

The area of algorithmics has made significant progress over the past ten years. - New concepts were invented and flourished: probabilistically checkable proof, non-approximability, approximation algorithms, on-line algorithms, to name some of them. The books [Hoc96, ACG+99, BEY98] give accounts. - Many improved algorithms were found, for example, the O(nm) barrier for maximum network flow, which resisted for more than three decades, was finally broken [GR98]. - Programs became first class citizens. Ten years ago, algorithmicists considered programs only as an afterthought. Our work was done, when algorithms were formulated and analyzed. Today, algorithmicists also think about implementations, develop software libraries, and experiment with algorithms. Many algorithms are now available in software libraries. Think of CPLEX, MAPLE, MATHEMATICA, CGAL, LEDA, ILOG-solver. I was involved in the design of LEDA [LED] and CGAL [CGA] and want to share with you some of the experiences made. A much more detailed account can be found in [MN99].

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F. Avnaim, J.-D. Boissonnat, O. Devillers, and F.P. Preparata. Evaluating signs of determinants with. oating point arithmetic. Algorithmica, 17(2):111–132, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  2. G. Ausiello, P. Crescenzi, G. Gambosi, V. Kann, A.Marchetti-Spaccamela, and M. Protasi. Complexity and Approximation: Combinatorial Optimization Problems and their Approximability Properties. Springer Verlag, 1999.

    Google Scholar 

  3. H. Brönnimann, C. Burnikel, and S. Pion. Internal arithmetic yields efficient arithmetic filters for computational geometry. In Proceedings of the 14th Annual Symposium on Computational Geometry (SCG’98), pages 165–174, 1998.

    Google Scholar 

  4. H. Brönnimann, I. Emiris, V. Pan, and S. Pion. Computing exact geometric predicates using modular arithmetic with single precision. In Proceedings of 13th Annual ACM Symposium on Computational Geometry (SCG’97), pages 174–182, 1997.

    Google Scholar 

  5. A. Borodin and R. El-Yaniv. ONLINE COMPUTATION AND COMPETITIVE ANALYSIS. Cambridge University Press, 1998.

    Google Scholar 

  6. C. Burnikel, R. Fleischer, K. Mehlhorn, and S. Schirra. A strong and easily computable separation bound for arithmetic expressions involving radicals. Algorithmica, 27:87–99, 2000.

    Article  MATH  MathSciNet  Google Scholar 

  7. C. Burnikel, S. Funke, and M. Seel. Exact arithmetic using cascaded computation. In Proceedings of the 14th Annual Symposium on Computational Geometry (SCG’98), pages 175–183, 1998.

    Google Scholar 

  8. C. Burnikel, K. Mehlhorn, and S. Schirra. How to compute the Voronoi diagram of line segments: Theoretical and experimental results. In Springer, editor, Proceedings of the 2nd Annual European Symposium on Algorithms-ESA’94, volume 855 of Lecture Notes in Computer Science, pages 227–239, 1994.

    Google Scholar 

  9. CGAL (Computational Geometry Algorithms Library). http://www.cs.ruu.nl/CGAL.

  10. K.L. Clarkson. Safe and effiective determinant evaluation. In Proceedings of the 31st Annual Symposium on Foundations of Computer Science (FOCS’92), pages 387–395, 1992.

    Google Scholar 

  11. O. Devillers, A. Fronville, B. Mourrain, and M. Teillaud. Algebraic methods and arithmetic filtering for exact predicates on circle arcs. In 16th ACM Symposium on Computational Geometry, pages 139–147, 2000.

    Google Scholar 

  12. Frigo, Leiserson, Prokop, and Ramachandran. Cache-oblivious algorithms. In FOCS: IEEE Symposium on Foundations of Computer Science (FOCS), 1999.

    Google Scholar 

  13. S. Fortune and V.J. Milenkovic. Numerical stability of algorithms for line arrangements. In Proceedings of the 7th Annual ACM Symposium on Computational Geometry (SCG’91), pages 334–341. ACM Press, 1991.

    Google Scholar 

  14. S. Fortune and C. van Wyk. Static analysis yields efficient exact integer arithmetic for computational geometry. ACM Transactions on Graphics, 15:223–248, 1996.

    Article  Google Scholar 

  15. A.V. Goldberg and S. Rao. Beyond the flow decomposition barrier. JACM, 45(5), 1998.

    Google Scholar 

  16. L.J. Guibas, D. Salesin, and J. Stol.. Constructing strongly convex approximate hulls with inaccurate primitives. Algorithmica, 9:534–560, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  17. D. S. Hochbaum, editor. Approximation Algorithms for NP-Hard Problems. PWS Publishing Company, 1996.

    Google Scholar 

  18. M. Karasick, D. Lieber, and L.R. Nackman. Efficient Delaunay triangulation using rational arithmetic. ACM Transactions on Graphics, 10(1):71–91, January 1991.

    Article  Google Scholar 

  19. V. Karamcheti, C. Li, I. Pechtchanski, and Chee Yap. A core library for robust numeric and geometric computation. In Proceedings of the 15th Annual ACM Symposium on Computational Geometry, pages 351–359, Miami, Florida, 1999.

    Google Scholar 

  20. LEDA (Library of Efficient Data Types and Algorithms). http://www.mpi-sb.mpg.de/LEDA/leda.html.

  21. A. LaMarca and R.E. Ladner. The influence of caches on the performance of sorting. In Proceedings of the 8th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA’97), pages 370–379, 1997.

    Google Scholar 

  22. Z. Li and C.K. Yap. A new constructive root bound for algebraic expressions. 2000.

    Google Scholar 

  23. V.J. Milenkovic. Verifiable Implementations of Geometric Algorithms Using Finite Precision Arithmetic. PhD thesis, Carnegie Mellon University, 1988.

    Google Scholar 

  24. K. Mehlhorn and S. Näher. The implementation of geometric algorithms. In Proceedings of the 13th IFIP World Computer Congress, volume 1, pages 223–231. Elsevier Science B.V. North-Holland, Amsterdam, 1994. http://www.mpi-sb.mpg.de/~mehlhorn/ftp/ifip94.ps.

    Google Scholar 

  25. K. Mehlhorn and S. Näher. The LEDA Platform for Combinatorial and Geometric Computing. Cambridge University Press, 1999. 1018 pages.

    Google Scholar 

  26. D. R. Musser and A. Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library. Addison-Wesley, Reading (MA), USA, 1996.

    Google Scholar 

  27. K. Mehlhorn and P. Sanders. Scanning multiple sequences via cache memory. http://www.mpi-sb.mpg.de/~mehlhorn/ftp/cache.ps, February 2000.

  28. K. Mehlhorn and S. Schirra. A generalized and improved constructive separation bound for real algebraic expressions. Technical Report MPI-I-2000–004, Max-Planck-Institut für Informatik, 2000. http://www.mpi-sb.mpg.de/~{}mehlhorn/ftp/improved-sepbound.ps.

  29. K. Sugihara, Y. Ooishi, and T. Imai. Topology-oriented approach to robustness and its applications to several voronoi-diagram algorithms. In Proceedings of the 2nd Canadian Conference in Computational Geometry (CCCG’90), pages 36–39, 1990.

    Google Scholar 

  30. J. S. Vitter. External memory algorithms. Lecture Notes in Computer Science, 1461:1–--, 1998.

    Google Scholar 

  31. H. Wasserman and M. Blum. Software reliability via run-time resultchecking. Journal of the ACM, 44(6):826–849, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  32. C.K. Yap and T. Dube. The exact computation paradigm. In Computing in Euclidean Geometry II. World Scientific Press, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Mehlhorn, K. (2001). From Algorithm to Program to Software Library. In: Wilhelm, R. (eds) Informatics. Lecture Notes in Computer Science, vol 2000. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44577-3_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-44577-3_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41635-7

  • Online ISBN: 978-3-540-44577-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics