Solving optimisation problems with catamorphisms

  • Richard S. Bird
  • Oege de Moor
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 669)


This paper contributes to an ongoing effort to construct a calculus for deriving programs for optimisation problems. The calculus is built around the notion of initial data types and catamorphisms which are homomorphisms on initial data types. It is shown how certain optimisation problems, which are specified in terms of a relational catamorphism, can be solved by means of a functional catamorphism. The result is illustrated with a derivation of Kruskal's algorithm for finding a minimum spanning tree in a connected graph.


Span Tree Minimum Span Tree Partial Function Finite Sequence Total Function 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R.C. Backhouse, P. de Bruin, G. Malcolm, T.S. Voermans, and J. van der Woude. Relational catamorphisms. In B. Möller, editor, Proceedings of the IFIP TC2/WG2.1 Working Conference on Constructing Programs, pages 287–318. Elsevier Science Publishers B.V., 1991.Google Scholar
  2. 2.
    R.S. Bird and O. de Moor. Inductive solutions to optimisation problems. Draft, 1991.Google Scholar
  3. 3.
    S. Eilenberg and J.B. Wright. Automata in general algebras. Information und Control, 11(4):452–470, 1967.Google Scholar
  4. 4.
    P. J. Freyd and A. Ščedrov. Categories, Allegories, volume 39 of Mathematical Library. North-Holland, 1990.Google Scholar
  5. 5.
    J. Jeuring. Deriving algorithms on binary labelled trees. In P.M.G. Apers, D. Bosman, and J. van Leeuwen, editors, Proceedings SION Computing Science in the Netherlands, pages 229–249, 1989.Google Scholar
  6. 6.
    J. Jeuring. Algorithms from theorems. In M. Broy and C.B. Jones, editors, Programming Concepts and Methods, pages 247–266. North-Holland, 1990.Google Scholar
  7. 7.
    B. Korte, L. Lovasz, and R. Schrader. Greedoids, volume 4 of Algorithms und combinatorics. Springer-Verlag, 1991.Google Scholar
  8. 8.
    G. Malcolm. Data structures and program transformation. Science of Computer Programming, 14:255–279, 1990.CrossRefGoogle Scholar
  9. 9.
    O. de Moor. Categories, relations and dynamic programming. D.Phil. thesis. Technical Monograph PRG-98, Computing Laboratory, Oxford, 1992.Google Scholar
  10. 10.
    J.C.S.P. van der Woude. Free style spec wrestling ii: Preorders. The Squiggolist, 2(2):48–53, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Richard S. Bird
    • 1
  • Oege de Moor
    • 1
  1. 1.Oxford University Programming Research GroupOxford

Personalised recommendations