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].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
A. Borodin and R. El-Yaniv. ONLINE COMPUTATION AND COMPETITIVE ANALYSIS. Cambridge University Press, 1998.
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.
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.
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.
CGAL (Computational Geometry Algorithms Library). http://www.cs.ruu.nl/CGAL.
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.
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.
Frigo, Leiserson, Prokop, and Ramachandran. Cache-oblivious algorithms. In FOCS: IEEE Symposium on Foundations of Computer Science (FOCS), 1999.
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.
S. Fortune and C. van Wyk. Static analysis yields efficient exact integer arithmetic for computational geometry. ACM Transactions on Graphics, 15:223–248, 1996.
A.V. Goldberg and S. Rao. Beyond the flow decomposition barrier. JACM, 45(5), 1998.
L.J. Guibas, D. Salesin, and J. Stol.. Constructing strongly convex approximate hulls with inaccurate primitives. Algorithmica, 9:534–560, 1993.
D. S. Hochbaum, editor. Approximation Algorithms for NP-Hard Problems. PWS Publishing Company, 1996.
M. Karasick, D. Lieber, and L.R. Nackman. Efficient Delaunay triangulation using rational arithmetic. ACM Transactions on Graphics, 10(1):71–91, January 1991.
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.
LEDA (Library of Efficient Data Types and Algorithms). http://www.mpi-sb.mpg.de/LEDA/leda.html.
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.
Z. Li and C.K. Yap. A new constructive root bound for algebraic expressions. 2000.
V.J. Milenkovic. Verifiable Implementations of Geometric Algorithms Using Finite Precision Arithmetic. PhD thesis, Carnegie Mellon University, 1988.
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.
K. Mehlhorn and S. Näher. The LEDA Platform for Combinatorial and Geometric Computing. Cambridge University Press, 1999. 1018 pages.
D. R. Musser and A. Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library. Addison-Wesley, Reading (MA), USA, 1996.
K. Mehlhorn and P. Sanders. Scanning multiple sequences via cache memory. http://www.mpi-sb.mpg.de/~mehlhorn/ftp/cache.ps, February 2000.
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.
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.
J. S. Vitter. External memory algorithms. Lecture Notes in Computer Science, 1461:1–--, 1998.
H. Wasserman and M. Blum. Software reliability via run-time resultchecking. Journal of the ACM, 44(6):826–849, 1997.
C.K. Yap and T. Dube. The exact computation paradigm. In Computing in Euclidean Geometry II. World Scientific Press, 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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