Abstract
In this work an approach for the transformational development of efficient imperative network algorithms is presented which is based on Möller’s algebra of formal languages. We use a very flexible methodology that contemplates the description of a rather general derivation method, the use of different derivation procedures to support the phases of this method, and the derivation of algorithm schemes based on such procedures. We propose a method that consists of the formulation of a descriptive specification, the development of an abstract recursive algorithm, and the derivation of an efficient imperative algorithm. As an example, we present algorithm schemes and derivation procedures for the development of efficient greedy algorithms, which are illustrated with the derivation of a shortest path arborescence algorithm.
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
R.C. Backhouse, van den Eijnde, and A.J.M. van Gasteren. Calculating path algorithms. Science of Computer Programming, 22:3–19, 1994.
R. Behnke. Transformationelle Programmentwicklung im Rahmen relationaler und sequentieller Algebren. PhD thesis, Christian Albrecht Universität zu Kiel, 1998.
R. Berghammer. Zur formalen Entwicklung von graphentheoretischen Algorithmen durch Transformationen. PhD thesis, Technische Universität München, Februar 1984. TUM_I8403.
R. Berghammer, B. von Karger, and A. Wolf. Relation-algebraic derivation of spanning tree algorithms. In Johan Jeuring, editor, Mathematics of Program Construction, volume 1422 of Lecture Notes in Computer Science, pages 167–189, Marstrand, Sweden, June 1998. Springer Verlag.
R. Bird and O. de Moor. Algebra of Programming. C.A.R. Hoare series editor. Prentice Hall, 1997.
R.S. Bird, O. De Moor, and J.C.P. Woodcock. Solving optimization problems with catamorphisms. In Mathematics of Program Construction, volume 669 of Lecture Notes in Computer Science, pages 45–66. Springer Verlag, 1993.
T. Brunn, B. Möller, and Russling M. Layered graph traversals and hamiltonian path problems-an algebraic approach. In Jeuring, editor, Mathematics of Program Construction, volume 1422 of Lecture Notes in Computer Science, pages 96–121. Springer Verlag, June 1998.
B. Charlier. The greedy algorithms class: Formalization, syntesis and generalization. Technical Report B-1348, Université Catholique de Louvain, 1995.
S. Curtis. A Relational Approach to Optimization Problems. PhD thesis, Somerville College, Oxford, 1996.
J.E. Durán. Desenvolvimento transformacional de algoritmos em redes baseado em álgebras relacionais. PhD thesis, Departamento de Informática da Pontifícia Universidade Católica do Rio de Janeiro, October 1999.
J.E. Durán. Transformational derivation of network algorithms based on an algebra of formal languages. In WAIT 2000 Proceedings (Argentine Workshop on Theoretical Computer Science), pages 1–12, 2000.
J.E. Durán. Derivation of efficient imperative network algorithms from descriptive optimisation specifications. In WAIT’2001 Proceedings (Argentine Workshop on Theoretical Computer Science), pages 71–90, 2001.
J. Edmonds. Matroids and the greedy algorithm. Math. Programming, 1:127–136, 1971.
D. Gries. The Science of Programming. Springer-Verlag, 1981.
P. Helman, B. M. E. Moret, and H. D. Shapiro. An exact characterization of greedy structures. SIAM Journal of Discrete Mathematics, 6(2):274–283, May 1993.
B. Korte and L. Lovasz. Mathematical structures underlying greedy algorithms. In Fundamentals of Computation Theory, volume 177 of Lecture Notes in Computer Science, pages 205–209. Springer, Berlin, 1981.
B. Möller and Russling M. Shorter paths to graph algorithms. Science of Computer Programming, 22:157–180, 1994.
R. Paige and S. Koenig. Finite differencing of computable expressions. ACM TOPLAS, 4(3):402–454, July 1982.
H. A. Partsch. Specification and Transformation of Programs-A Formal Approach to Software Development. Texts and Monographs in Computer Science. Springer-Verlag, 1990.
M. Russling. Deriving General Schemes for Classes of Graph Algorithms. PhD thesis, Universität Augsburg, 1996.
R.E. Tarjan. Data Structures and Network Algorithms. CBMS-NFS Regional Conference Series in Applied Mathematics. Society for Industrial and Applied Mathematics, 1983.
N. Wirth. Programming in Modula-2. Springer-Verlag, 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Durán, J.E. (2002). Transformational Derivation of Greedy Network Algorithms from Descriptive Specifications. In: Boiten, E.A., Möller, B. (eds) Mathematics of Program Construction. MPC 2002. Lecture Notes in Computer Science, vol 2386. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45442-X_5
Download citation
DOI: https://doi.org/10.1007/3-540-45442-X_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43857-1
Online ISBN: 978-3-540-45442-7
eBook Packages: Springer Book Archive