Analogical program synthesis from program components
In this paper, we defined the notion of similarity between components, and presented a method for both selecting necessary program components and discovering vacant ones. To verify our concept, the prototype system called ‘APSS’ was constructed. In this system, we have already included some other similarities not presented in this paper. For example, we consider that a program component for retrieving the largest number from some numerical data set is similar to the one for retrieving the largest three numbers. These two components are similar since they are both containing a process which retrieves an element and compare it with all other elements in the same data set. This type of similarity can be defined using some mathematical definition of numerical elements. We will discuss these similarity relations in the forthcoming paper.
KeywordsAnalogical Reasoning Program Component Automatic Programming Retrieval Condition Prolog Program
Unable to display preview. Download preview PDF.
- Carbonell JG (1983) Learning by analogy: Formulating and generating plans from past experience. In: Ryszard S et al.(eds.), Machine Learning, Morgan Kaufmann, pp.137–161Google Scholar
- Elliot S (1985) Learning to Program=Learning to Construct Mechanisms and Explanations. Communications of ACM, 29-9, pp.850–858Google Scholar
- Haraguchi M, Arikawa S (1985) Analogical Reasoning using Transformations of rules. In: Wada E (ed) Logic Programming '85. Springer, Berlin Heidelberg New York, pp.56–65Google Scholar
- Uehara K, Fujii K, Toyoda J (1986) A Technique for Prolog Program Synthesis from Natural Language Specification. Computer software, 3–4, pp.55–64Google Scholar
- Winston PH, Binford TO, Katz B, Lowry M (1983) Learning Physical Descriptions from Functional Definitions, Examples, and Precedents. Proc. of AAAI-83, pp.433–439Google Scholar