Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

List partitions

Published: 01 January 1993 Publication History

Abstract

By definition, apartition of a list is a division of that list into nonempty contiguous segments. Many programming and operations research problems can be specified in terms of list partitions, and we present a hierarchy of theorems for deriving programs from such specifications. Throughout, reasoning is conducted in an equational style using the calculus for program synthesis developed by Bird and Meertens.

References

References

[1]
Backhouse R. An exploration of the Bird-Meertens formalism 1988 The Netherlands Dept. of Comp. Science, Groningen University
[2]
Bellman R. Dynamic Programming 1957 N.J. Princeton University Press
[3]
Bird R.S., Gibbons J., and Jones G. Formal derivation of a pattern matching algorithm Science of Computer Programming 1989 12 2 93-104
[4]
Bird R.S. Transformational programming and the paragraph problem Science of Computer Programming 1986 6 159-189
[5]
R.S. Bird. An introduction to the theory of lists. Technical Monograph PRG-56, Oxford University Computing Laboratory, Programming Research Group, October 1986. Also in: M. Broy, editor,Logic of Programming and Calculi of Discrete Design, NATO ASI Series 36, pages 3–42, Springer-Verlag, 1987.
[6]
R.S. Bird. A calculus of functions for program derivation. Technical Monograph PRG-64, Oxford University Computing Laboratory, Programming Research Group, December 1987. Also in:Research Topics in Functional Programming (Edited by D. Turner) Addison-Wesley 1987.
[7]
R.S. Bird. Lectures on constructive functional programming. inConstructive Methods in Computing Science (Edited by M. Broy) NATO ASI Series F vol 55, Springer-Verlag, 1989.
[8]
R.S. Bird. Small specification exercises. inBeauty is Our Business: A Birthday Salute to E. W. Dijkstra (Edited by W. Feijen, N. van Gasteren, D. Gries, and J. Misra) Springer-Verlag 1990
[9]
J.G. Ecker and M. Kupferschmid.Introduction to Operations Research. John Wiley & Sons, 1988. ISBN 0-471-88445-6.
[10]
Galil Z. and Giancarlo R. Speeding up dynamic programming with applications to molecular biology Theoretical Computer Science 1989 64 1 107-118
[11]
Hirschberg D. and Larmore L. The least weight subsequence problem SIAM Journal of Computing 1987 16 4 628-638
[12]
A. Hartman and M. Rodeh. Optimal parsing of strings. In A. Apostolico and Z. Galil, editors,Combinatorial Algorithms on Words, pages 155–167. Springer-Verlag, 1985.
[13]
D.E. Knuth and M.F. Plass. Breaking paragraphs into lines.Software — Practice & Experience, pages 1119–1184, 1981.
[14]
G. Malcolm. Homomorphisms and promotability. In J.L.A. van de Snepscheut (editor)Mathematics of Program Construction. LNCS 375, pp335–347, 1989.
[15]
L.G.L.T. Meertens. Algorithmics-towards programming as a mathematical activity. In J.W. de Bakker, M. Hazewinkel, and J.K. Lenstra, editors,Mathematics and Computer Science, pages 289–334. CWI Symposium, North-Holland, 1986.
[16]
L.G.L.T. Meertens. First steps towards a theory of rose trees. Working paper 592 ROM-25, IFIP WG 2.1, 1988.
[17]
O. de Moor.Categories, Relations, and Dynamic Programming. D. Phil Thesis, Oxford University Computing Laboratory, Programming Research Group, 1992.
[18]
M. Spivey. A categorical approach to the theory of lists. In J.L.A. van de Snepscheut (editor)Mathematics of Program Construction. LNCS 375, pp399–408, 1989.
[19]
Storer J.A. and Szymanski T.G. Data compression via textual substitution Journal of the Association for Computing Machinery 1982 29 4 928-951
[20]
Wagner R.A. Common phrases and minimum-space text storage Communications of the ACM 1973 16 3 148-152
[21]
N. Wirth.Algorithms+Data Structures=Programs. Prentice-Hall, 1976. ISBN 0-13-022418-9.

Cited By

View all
  • (2009)Categories, relations and dynamic programmingMathematical Structures in Computer Science10.1017/S09601295000003604:1(33-69)Online publication date: 4-Mar-2009
  • (2005)A generic program for sequential decision processesProgramming Languages: Implementations, Logics and Programs10.1007/BFb0026809(1-23)Online publication date: 16-Jun-2005
  • (2005)Derivation of parallel algorithms from functional specifications to CSP processesMathematics of Program Construction10.1007/3-540-60117-1_6(67-96)Online publication date: 3-Jun-2005
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Formal Aspects of Computing
Formal Aspects of Computing  Volume 5, Issue 1
Jan 1993
90 pages
ISSN:0934-5043
EISSN:1433-299X
Issue’s Table of Contents

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 January 1993
Accepted: 15 March 1992
Received: 15 November 1989
Published in FAC Volume 5, Issue 1

Author Tags

  1. Dynamic programming
  2. Greedy algorithm
  3. List partitions
  4. Program calculus
  5. Program transformation

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)24
  • Downloads (Last 6 weeks)1
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2009)Categories, relations and dynamic programmingMathematical Structures in Computer Science10.1017/S09601295000003604:1(33-69)Online publication date: 4-Mar-2009
  • (2005)A generic program for sequential decision processesProgramming Languages: Implementations, Logics and Programs10.1007/BFb0026809(1-23)Online publication date: 16-Jun-2005
  • (2005)Derivation of parallel algorithms from functional specifications to CSP processesMathematics of Program Construction10.1007/3-540-60117-1_6(67-96)Online publication date: 3-Jun-2005
  • (2005)From dynamic programming to greedy algorithmsFormal Program Development10.1007/3-540-57499-9_16(43-61)Online publication date: 30-May-2005
  • (2003)The classification of greedy algorithmsScience of Computer Programming10.1016/j.scico.2003.09.00149:1-3(125-157)Online publication date: 1-Dec-2003
  • (2001)A Calculus for Program Construction Based on Fork Algebras, Design Strategies and Generic AlgorithmsRelational Methods for Computer Science Applications10.1007/978-3-7908-1828-4_3(37-58)Online publication date: 2001

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media