Structure and Design of Problem Reduction Generators

In this paper we present an axiomatic theory for a class of algorithms, called problem reduction generators, that includes dynamic programming, general branch-and-bound, and game tree search as special cases. This problem reduction theory is used as the basis for a mechanizable design tactic that transforms formal specifications into problem reduction generators. The theory and tactic are illustrated by application to the problem of enumerating optimal binary search trees.

[1]  L. G. Mitten Composition Principles for Synthesis of Optimal Multistage Processes , 1964 .

[2]  M. Held,et al.  Finite-State Processes and Dynamic Programming , 1967 .

[3]  Nils J. Nilsson,et al.  Problem-solving methods in artificial intelligence , 1971, McGraw-Hill computer science series.

[4]  T. Ibaraki Solvable classes of discrete dynamic programming , 1973 .

[5]  Alberto Martelli,et al.  Optimizing decision trees through heuristically guided search , 1978, CACM.

[6]  Toshihide Ibaraki,et al.  Branch-and-Bound Procedure and State-Space Representation of Combinatorial Optimization Problems , 1978, Inf. Control..

[7]  Richard S. Bird,et al.  Tabulation Techniques for Recursive Programs , 1980, CSUR.

[8]  Douglas R. Smith Representation of Discrete Optimization Problems by Discrete Dynamic Programs. , 1980 .

[9]  Alberto Martelli,et al.  Dynamic Programming as Graph Searching: An Algebraic Approach , 1981, JACM.

[10]  Douglas R. Smith,et al.  The Structure of Divide and Conquer Algorithms. , 1983 .

[11]  Vipin Kumar,et al.  A General Branch and Bound Formulation for Understanding and Synthesizing And/Or Tree Search Procedures , 1983, Artif. Intell..

[12]  Norman H. Cohen Eliminating Redundant Recursive Calls. , 1983, TOPL.

[13]  Herbert Klaeren,et al.  A Contructive Method for Abstract Algebraic Software Specification , 1984, Theor. Comput. Sci..

[14]  Douglas R. Smith,et al.  Top-Down Synthesis of Divide-and-Conquer Algorithms , 1985, Artif. Intell..

[15]  Andrzej Salwicki,et al.  Algorithm Theories and Design Tactics , 1989, Sci. Comput. Program..

[16]  Rodney J. Douglas KIDS: A Semi-Automatic Program Development System , 1990 .

[17]  David Gries,et al.  Specification and Transformation of Programs: A Formal Approach to Software Development , 1990 .

[18]  Allen Goldberg,et al.  DTRE - A Semi-Automatic Transformation System , 1991 .