Algorithm Synthesis: A Comparative Study

1 Introduction.- 2 Insertion Sort.- 2.1. Green and Barstow.- 2.2. Broy.- 2.3. Smith.- 2.4. Clark and Darlington.- 2.5. Composite.- 3 Quicksort.- 3.1. Green and Barstow.- 3.2. Broy.- 3.3. Smith.- 3.4. Clark and Darlington.- 3.5. Composite.- 4 Cartesian Set Product.- 4.1. Manna and Waldinger.- 4.2. Smith.- 4.3. Composite.- 5 Depth-First Search.- 5.1. Broy and Pepper.- 5.2. Reif and Scherlis.- 5.3. Gerhart.- 5.4. Barstow.- 5.5. Composite.- 6 Schorr-Waite Graph Marking.- 6.1. Broy and Pepper.- 6.2. Gerhart.- 6.3. Griffiths.- 6.4. Composite.- 7 N-Queens.- 7.1. Balzer.- 7.2. Smith.- 7.3. Wirth.- 7.4. Composite.- 8 Convex Hull.- 8.1. Smith.- 8.2. Kant and Newell.- 8.3. Composite.- 9 Design Space: The Final Frontier.- 9.1. Goals.- 9.2. Languages.- 9.3. Derivation Structure.- 9.4. Implementations.- 9.5. Presentation Styles.- References.

[1]  Allen Newell,et al.  An Automatic Algorithm Designer: An Initial Implementation , 1983, AAAI.

[2]  J. Reif,et al.  Deriving Efficient Graph Algorithms* , 1984 .

[3]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[4]  Elaine Kant,et al.  Results in Knowledge-Based Program Synthesis , 1979, IJCAI.

[5]  Allen Newell,et al.  Problem solving techniques for the design of algorithms , 1984, Inf. Process. Manag..

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

[7]  Helmuth Partsch Structuring Transformational Developments: A Case Study Based on Earley's Recognizer , 1984, Sci. Comput. Program..

[8]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[9]  Douglas B. Lenat,et al.  Why AM and EURISKO Appear to Work , 1984, Artif. Intell..

[10]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[11]  William M. Waite,et al.  An efficient machine-independent procedure for garbage collection in various list structures , 1967, CACM.

[12]  Charles L. Forgy,et al.  OPS5 user's manual , 1981 .

[13]  Nachum Dershowitz,et al.  The Schorr-Waite Marking Algorithm Revisited , 1980, Inf. Process. Lett..

[14]  H.B.M. Jonkers Deriving algorithms by adding and removing variables : (preprint) , 1980 .

[15]  David R. Barstow,et al.  Knowledge-based program construction , 1979 .

[16]  Elaine Kant,et al.  Efficiency in program synthesis , 1981 .

[17]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

[18]  Robert L. Constable,et al.  Proofs as programs , 1985, TOPL.

[19]  Niklaus Wirth,et al.  Program development by stepwise refinement , 1971, CACM.

[20]  Ralf Steinbrüggen,et al.  Program Transformation Systems , 1983, CSUR.

[21]  Jack Mostow Why are design derivations hard to replay , 1986 .

[22]  Martin S. Feather,et al.  Implementing Specification Freedoms , 1986, Sci. Comput. Program..

[23]  Allen Newell,et al.  Human Problem Solving. , 1973 .

[24]  Allen T. Goldberg,et al.  Knowledge-based programming: A survey of program design and construction techniques , 1986, IEEE Transactions on Software Engineering.

[25]  William Taylor Laaser Synthesis of recursive programs , 1979 .

[26]  Douglas R. Smith,et al.  Top-Down Synthesis of Simple Divide and Conquer Algorithms. , 1982 .

[27]  Michael R. Lowry Algorithm Synthesis through Problem Reformulation , 1987, AAAI.

[28]  Zohar Manna,et al.  Synthesis: Dreams - Programs , 1979, IEEE Trans. Software Eng..

[29]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[30]  Robert Balzer,et al.  Transformational Implementation: An Example , 1981, IEEE Transactions on Software Engineering.

[31]  Jack Mostow,et al.  Toward Better Models of the Design Process , 1985, AI Mag..

[32]  Susan L. Gerhart A Derivation Oriented Proof of the Schorr-Waite Marking Algorithm , 1978, Program Construction.

[33]  Robert Balzer,et al.  Informality in Program Specifications , 1899, IEEE Transactions on Software Engineering.

[34]  Manfred Broy,et al.  Combining Algebraic and Algorithmic Reasoning: An Approach to the Schorr-Waite Algorithm , 1982, TOPL.

[35]  Elaine Kant,et al.  The Roles of Execution and Analysis in Algorthm Design , 1985, IEEE Transactions on Software Engineering.

[36]  Martin S. Feather,et al.  A survey and classification of some program transformation approaches and techniques , 1987 .

[37]  Douglas R. Smith,et al.  The Design of Divide and Conquer Algorithms , 1985, Sci. Comput. Program..

[38]  R. G. Dromey,et al.  How to Solve it by Computer , 1982 .

[39]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[40]  Richard C. Waters Automatic Analysis of the Logical Structure of Programs , 1978 .

[41]  David R. Barstow,et al.  On Program Synthesis Knowledge , 1978, Artif. Intell..

[42]  Keith L. Clark,et al.  Algorithm Classification Through Synthesis , 1980, Comput. J..

[43]  Michael Griffiths,et al.  Development of the Schorr-Waite Algorithm , 1978, Program Construction.

[44]  Elaine Kant,et al.  Understanding and Automating Algorithm Design , 1985, IEEE Transactions on Software Engineering.