Program Reuse and Abstraction by Anti{uniication

In this paper we present an approach to case{based programming based on anti{uniication. We focus on acquiring a hierarchy of recursive program schemes from programming experience. For a new programming problem a concrete program or a scheme can be reused, that is, we can deal with analogy and abstraction in a uniform way. We investigate a minimal extension of rst order anti{uniication, allowing to anti{unify function symbols with the same number of arguments. Retrieval is performed by identifying that program scheme which has the maximal structural congruence with the current problem. Technically, this is the program scheme which is the least element of the subsumption relation calculated for anti{instances of the new problem and programs from memory. Simultaneously, this anti{instance represents a (minimal) generalization. Program memory is hierarchically extended by introducing this anti{instance as parent of the new and the reused program.

[1]  Thomas E. Cheatham,et al.  Reusability Through Program Transformations , 1984, IEEE Transactions on Software Engineering.

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

[3]  Michael R. Lowry,et al.  Knowledge-based software engineering , 1989 .

[4]  Douglas R. Smith,et al.  KIDS: A Semiautomatic Program Development System , 1990, IEEE Trans. Software Eng..

[5]  Peter Idestam-Almquist,et al.  Generalization under Implication by Recursive Anti-unification , 1993, ICML.

[6]  Peter Idestam-Almquist Generalization under Implication: Expansions of Clauses for Indirect Roots , 1993, SCAI.

[7]  Thomas Kolbe,et al.  Second-Order Matching modulo Evaluation: A Technique for Reusing Proofs , 1995, IJCAI.

[8]  Enric Plaza,et al.  Cases as terms: A feature term approach to the structured representation of cases , 1995, ICCBR.

[9]  Robert W. Hasker The replay of program derivations , 1995 .

[10]  Fritz Wysotzki,et al.  Induction of Recursive Program Schemes , 1998, ECML.

[11]  Fritz Wysotzki,et al.  Applying Inductive Program Synthesis to Learning Domain-Dependent Control Knowledge - Transforming Plans into Programs , 2000 .

[12]  Fritz Wysotzki,et al.  Applying Inductive Program Synthesis to Macro Learning , 2000, AIPS.

[13]  Ute Schmid 12. Programming by Analogy , 2003 .

[14]  Fritz Wysotzki,et al.  Programming by Analogy: Retrieval, Mapping, Adaptation and Generalization of Recursive Program Schemes , 2007 .