Skip to main content

Algorithm theories and design tactics

  • Contributed Lectures
  • Conference paper
  • First Online:
Mathematics of Program Construction (MPC 1989)

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

Included in the following conference series:

Abstract

Algorithm theories represent the structure common to a class of algorithms, such as divide-and-conquer or backtrack. An algorithm theory for a class A provides the basis for design tactics — specialized methods for designing A-algorithms from formal problem specifications. We illustrate this approach with recent work on the theory of global search algorithms and briefly mention several others. Several design tactics have been implemented in the KIDS/CYPRESS system and have been used to semiautomatically derive many algorithms.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baumert, L. D.Cyclic Difference Sets. Springer-Verlag, Berlin, 1971. Lecture Notes in Mathematics, Vol. 182.

    Google Scholar 

  2. Bird, R.A Calculus of Functions for Program Derivation. Tech. Rep. PRG-64, Oxford University, Programming Research Group, December 1987.

    Google Scholar 

  3. Dijkstra, E. W.A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ, 1976.

    Google Scholar 

  4. Edmonds, J. Matroids and the greedy algorithm. Mathematical Programming 1 (1971), 127–136.

    Google Scholar 

  5. Goguen, J. A., and Winkler, T.Introducing OBJ3. Tech. Rep. SRI-CSL-88-9, SRI International, Menlo Park, California, 1988.

    Google Scholar 

  6. Ibaraki, T. Branch-and-bound procedures and state space representation of combinatorial optimization problems. Information and Control 36 (1978), 1–36.

    Google Scholar 

  7. Karp, R., and Held, M. Finite state processes and dynamic programming. SIAM Journal of Applied Mathematics 15 (1967), 693–718.

    Google Scholar 

  8. Lowry, M. R. Algorithm synthesis through problem reformulation. In Proceedings of the 1987 National Conference on Artificial Intelligence (Seattle, WA, July 13–17, 1987). Technical Report KES.U.87.10, Kestrel Institute, August 1987.

    Google Scholar 

  9. Lowry, M. R.Algorithm Synthesis Through Problem Reformulation. PhD thesis, Stanford University, 1989.

    Google Scholar 

  10. Manna, Z., and Waldinger, R. A deductive approach to program synthesis. ACM Transactions on Programming Languages and Systems 2, 1 (January 1980), 90–121.

    Article  Google Scholar 

  11. Mitten, L. G., and Warburton, A. R.Implicit Enumeration Procedures. Tech. Rep. Working Paper 251, University of British Columbia, 1973.

    Google Scholar 

  12. Nau, D., Kumar, V., and Kanal, L., General branch and bound and its relation to A* and AO*. Artificial Intelligence 23, 1 (May 1984), 29–58.

    Google Scholar 

  13. Paige, R., and Koenig, S. Finite differencing of computable expressions. ACM Transactions on Programming Languages and Systems 4, 3 (July 1982), 402–454.

    Article  Google Scholar 

  14. Skinner, G. K. X-ray imaging with coded masks. Scientific American 259, 2 (August 1988), 84–89.

    PubMed  Google Scholar 

  15. Smith, D. R.The Structure of Divide-and-Conquer Algorithms. Tech. Rep. NPS52-83-002, Naval Postgraduate School, Monterey, CA, March 1983.

    Google Scholar 

  16. Smith, D. R. Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence 27, 1 (September 1985), 43–96. (Reprinted in Readings in Artificial Intelligence and Software Engineering, C. Rich and R. Waters, Eds., Los Altos, CA, Morgan Kaufmann, 1986.).

    Article  MathSciNet  Google Scholar 

  17. Smith, D. R. Applications of a strategy for designing divide-and-conquer algorithms. Science of Computer Programming 8, 3 (June 1987), 213–229. Technical Report KES.U.85.2, Kestrel Institute, March 1985.

    Article  Google Scholar 

  18. Smith, D. R.Structure and Design of Global Search Algorithms. Tech. Rep. KES.U.87.12, Kestrel Institute, November 1987.

    Google Scholar 

  19. Smith, D. R. KIDS — a knowledge-based software development system. In Proceedings of the Workshop on Automating Software Design (St. Paul, MN, August 25, 1988). Technical Report KES.U.88.7, Kestrel Institute, October 1988.

    Google Scholar 

  20. Veloso, P. A. Problem solving by interpretation of theories. In Contemporary Mathematics, American Mathematical Society, Providence, Rhode Island, 1988, pp. 241–250.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. L. A. van de Snepscheut

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Smith, D.R., Lowry, M.R. (1989). Algorithm theories and design tactics. In: van de Snepscheut, J.L.A. (eds) Mathematics of Program Construction. MPC 1989. Lecture Notes in Computer Science, vol 375. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51305-1_23

Download citation

  • DOI: https://doi.org/10.1007/3-540-51305-1_23

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51305-6

  • Online ISBN: 978-3-540-46191-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics