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.
Similar content being viewed by others
References
Baumert, L. D.Cyclic Difference Sets. Springer-Verlag, Berlin, 1971. Lecture Notes in Mathematics, Vol. 182.
Bird, R.A Calculus of Functions for Program Derivation. Tech. Rep. PRG-64, Oxford University, Programming Research Group, December 1987.
Dijkstra, E. W.A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ, 1976.
Edmonds, J. Matroids and the greedy algorithm. Mathematical Programming 1 (1971), 127–136.
Goguen, J. A., and Winkler, T.Introducing OBJ3. Tech. Rep. SRI-CSL-88-9, SRI International, Menlo Park, California, 1988.
Ibaraki, T. Branch-and-bound procedures and state space representation of combinatorial optimization problems. Information and Control 36 (1978), 1–36.
Karp, R., and Held, M. Finite state processes and dynamic programming. SIAM Journal of Applied Mathematics 15 (1967), 693–718.
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.
Lowry, M. R.Algorithm Synthesis Through Problem Reformulation. PhD thesis, Stanford University, 1989.
Manna, Z., and Waldinger, R. A deductive approach to program synthesis. ACM Transactions on Programming Languages and Systems 2, 1 (January 1980), 90–121.
Mitten, L. G., and Warburton, A. R.Implicit Enumeration Procedures. Tech. Rep. Working Paper 251, University of British Columbia, 1973.
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.
Paige, R., and Koenig, S. Finite differencing of computable expressions. ACM Transactions on Programming Languages and Systems 4, 3 (July 1982), 402–454.
Skinner, G. K. X-ray imaging with coded masks. Scientific American 259, 2 (August 1988), 84–89.
Smith, D. R.The Structure of Divide-and-Conquer Algorithms. Tech. Rep. NPS52-83-002, Naval Postgraduate School, Monterey, CA, March 1983.
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.).
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.
Smith, D. R.Structure and Design of Global Search Algorithms. Tech. Rep. KES.U.87.12, Kestrel Institute, November 1987.
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.
Veloso, P. A. Problem solving by interpretation of theories. In Contemporary Mathematics, American Mathematical Society, Providence, Rhode Island, 1988, pp. 241–250.
Author information
Authors and Affiliations
Editor information
Rights 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