Advertisement

Algorithm theories and design tactics

  • Douglas R. Smith
  • Michael R. Lowry
Contributed Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 375)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Baumert, L. D.Cyclic Difference Sets. Springer-Verlag, Berlin, 1971. Lecture Notes in Mathematics, Vol. 182.Google Scholar
  2. [2]
    Bird, R.A Calculus of Functions for Program Derivation. Tech. Rep. PRG-64, Oxford University, Programming Research Group, December 1987.Google Scholar
  3. [3]
    Dijkstra, E. W.A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ, 1976.Google Scholar
  4. [4]
    Edmonds, J. Matroids and the greedy algorithm. Mathematical Programming 1 (1971), 127–136.Google Scholar
  5. [5]
    Goguen, J. A., and Winkler, T.Introducing OBJ3. Tech. Rep. SRI-CSL-88-9, SRI International, Menlo Park, California, 1988.Google Scholar
  6. [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. [7]
    Karp, R., and Held, M. Finite state processes and dynamic programming. SIAM Journal of Applied Mathematics 15 (1967), 693–718.Google Scholar
  8. [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. [9]
    Lowry, M. R.Algorithm Synthesis Through Problem Reformulation. PhD thesis, Stanford University, 1989.Google Scholar
  10. [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.CrossRefGoogle Scholar
  11. [11]
    Mitten, L. G., and Warburton, A. R.Implicit Enumeration Procedures. Tech. Rep. Working Paper 251, University of British Columbia, 1973.Google Scholar
  12. [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. [13]
    Paige, R., and Koenig, S. Finite differencing of computable expressions. ACM Transactions on Programming Languages and Systems 4, 3 (July 1982), 402–454.CrossRefGoogle Scholar
  14. [14]
    Skinner, G. K. X-ray imaging with coded masks. Scientific American 259, 2 (August 1988), 84–89.PubMedGoogle Scholar
  15. [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. [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.).CrossRefMathSciNetGoogle Scholar
  17. [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.CrossRefGoogle Scholar
  18. [18]
    Smith, D. R.Structure and Design of Global Search Algorithms. Tech. Rep. KES.U.87.12, Kestrel Institute, November 1987.Google Scholar
  19. [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. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Douglas R. Smith
    • 1
  • Michael R. Lowry
    • 1
  1. 1.Kestrel InstitutePalo AltoUSA

Personalised recommendations