Results 1 - 10
of
10
Synthesis of Recursive Programs from Finite Examples By Detection of Macro-Functions
, 2001
"... The paper is concerned with a special problem of inductive synthesis of recursive functional programs. Starting point for induction is a complete set of example computations in a nite domain. The example computations are mainly obtained by a problem solver in form of an initial shortest path tree sp ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The paper is concerned with a special problem of inductive synthesis of recursive functional programs. Starting point for induction is a complete set of example computations in a nite domain. The example computations are mainly obtained by a problem solver in form of an initial shortest path tree spanning the problem graph. It is shown that the initial tree can be automatically transformed into a finite initial program. Induction (generalization-to-n) results in a program which transforms each initial state of any problem domain which is a recursive extension of the given fiite domain into the desired output. Programs are represented in an abstract way by terms, i.e., elements of a term algebra. Thus, our approach is simultaneously an example of the design of recursive algorithms from finite cases. The core of our investigations is to detect sub-structures in the finite initial trees playing the role of "macro-functions" (sub-routines). As compared to the "macro-operators" used in planning the main point of our approach is the de nition of macros containing all cases (operation sequences) reaching the corresponding goal including the trivial one that the goal is already true in a state. A special case of macro-induction is the invention of complex (recursive) predicates. We show that in some cases induction can only be performed after the introduction of the detected macrofunctions, considering them as elementary functions in a new, extended term algebra. In the special cases considered in this paper, the programs which can be induced after the introduction of macro-functions are linear or linear recursive, i.e. have a macro-structure which cannot easily be seen in the set (tree) of initial example computations. At the end of the paper, cognitive aspects - especially con...
Applying Inductive Program Synthesis to Macro Learning
- In Proceedings of the Fifth International Conference on Artificial Intelligence Planning and Scheduling (AIPS-2000
, 2000
"... The goal of this paper is to demonstrate that inductive program synthesis can be applied to learning macrooperators from planning experience. We define macros as recursive program schemes (RPSs). An RPS represents the complete subgoal structure of a given problem domain with arbitrary complexit ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The goal of this paper is to demonstrate that inductive program synthesis can be applied to learning macrooperators from planning experience. We define macros as recursive program schemes (RPSs). An RPS represents the complete subgoal structure of a given problem domain with arbitrary complexity (e. g., rocket transportation problem with n objects), that is, it represents domain specific control knowledge. We propose the following steps for macro learning: (1) Exploring a problem domain with small complexity (e. g., rocket with 3 objects) using an universal planning technique, (2) transforming the universal plan into a finite program, and (3) generalizing this program into an RPS. Introduction Interest in learning macro-operators for planning (Minton 1985; Korf 1985) has decreased over the last decade, mainly because of the utility problem (Minton 1985). But new results in reinforcement learning are promising -- showing that more complex problems are solvable and that pla...
A Closer Look at Structural Similarity in Analogical Transfer
, 2000
"... We propose to characterize structural similarity between source and target problems by the type and size of their structural overlap. Size of structural overlap is captured by a measure of graph-distance. We investigated the influence of structural overlap on transfer success in analogical problem s ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We propose to characterize structural similarity between source and target problems by the type and size of their structural overlap. Size of structural overlap is captured by a measure of graph-distance. We investigated the influence of structural overlap on transfer success in analogical problem solving in two experiments. In both experiments, for a fixed source problem one of five target problems had to be solved. In the first experiment, target problems varied in superficial and structural similarity to the source. In the case of isomorphic source/target relations superficial similarity had no impact on transfer success while for a partial isomorphic target solution success was only high if source and target had identical surface attributes. In the second experiment, surface of source and target were kept identical and different types of structural source/target relations were investigated: For problems with a high structural overlap source inclusive and target exhaustive source/ta...
Synthesis of Recursive Functions with Interdependent Parameters
, 1998
"... . We present a methodology for the inductive synthesis of recursive functions based on the theoretical framework of context-free tree grammars. The synthesis task is splitted into two parts: First, a small set of positive input/output examples is transformed into an "initial program" by means of h ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
. We present a methodology for the inductive synthesis of recursive functions based on the theoretical framework of context-free tree grammars. The synthesis task is splitted into two parts: First, a small set of positive input/output examples is transformed into an "initial program" by means of heuristic search; second, the initial program is generalized to a recursive function. In this paper we concentrate on the second part of the synthesis task. We will describe our theoretical framework and propose an induction algorithm. The algorithm works without information about the number of parameters which might occur in the initial program. Subterms which change in a regular way are identified as parameters together with a substitution. It is possible to deal with substitutions which are interdependent between the parameters. Thereby we can infer a greater class of recursive functions than standard generalization-to-n techniques. Keywords. inductive program synthesis, grammatical...
Analogical Transfer of Non-Isomorphic Source Problems
- In CogSci '99
, 1999
"... In analogical problem solving, non-isomorphic source/target relations are typically only investigated in contrast to the ideal case of isomorphism. We propose to give a closer look to different types of non-isomorphic source/target relations and varying degrees of structural overlap. We introduc ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
In analogical problem solving, non-isomorphic source/target relations are typically only investigated in contrast to the ideal case of isomorphism. We propose to give a closer look to different types of non-isomorphic source/target relations and varying degrees of structural overlap. We introduce a measure of graph distance which captures the "size" of partial isomorphism between two structures and we present two experiments investigating the influence of different non-isomorphic relations on analogical transfer. In the first experiment we contrast transfer performance for isomorphic vs. source inclusive problems with high vs. low superficial similarity. In the second experiment we explore different types of partial isomorphisms: source inclusiveness, target exhaustiveness, and different degrees of source/target overlap. The results indicate that (1) transfer of isomorphs is not significantly influenced by superficial similarity but transfer of partial isomorphs is, and ...
Program Reuse and Abstraction by Anti-Unification
- In: Professionelles Wissensmanagement – Erfahrungen und Visionen, Shaker (2001) 183–185 Long Version: http://ki.cs.tu-berlin.de/ ∼ schmid
"... . In this paper we present an approach to case--based programming based on anti--unification. 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 ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
. In this paper we present an approach to case--based programming based on anti--unification. 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 first order anti--unification, 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 Introduction It is an old...
Satisfiability-Based Program REASONING AND PROGRAM SYNTHESIS
, 2010
"... Program reasoning consists of the tasks of automatically and statically verifying correctness and inferring properties of programs. Program synthesis is the task of automatically generating programs. Both program reasoning and synthesis are theoretically undecidable, but the results in this disserta ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Program reasoning consists of the tasks of automatically and statically verifying correctness and inferring properties of programs. Program synthesis is the task of automatically generating programs. Both program reasoning and synthesis are theoretically undecidable, but the results in this dissertation show that they are practically tractable. We show that there is enough structure in programs written by human developers to make program reasoning feasible, and additionally we can leverage program reasoning technology for automatic program synthesis. This dissertation describes expressive and efficient techniques for program reasoning and program synthesis. Our techniques work by encoding the underlying inference tasks as solutions to satisfiability instances. A core ingredient in the reduction of these problems to finite satisfiability instances is the assumption of templates. Templates are user-provided hints about the structural form of the desired artifact, e.g., invariant, pre- and postcondition templates for reasoning; or program templates for synthesis. We propose novel algorithms, parameterized by suitable templates, that reduce the inference of these artifacts to satisfiability. We show that fixed-point computation—the key technical challenge in program reasoning— is encodable as SAT instances. We also show that program synthesis can be viewed as generalized
Programming by Analogy: Retrieval, Mapping, Adaptation and Generalization of Recursive Program Schemes
- In Proc. of the Annual Meeting of the GI Machine Learning Group, FGML-98
, 1998
"... . We present an approach to program reuse by analogical transfer based upon the notion of recursive program schemes (RPSs). RPSs are representations which capture the structure of a program and are executable (if the symbols are interpreted by operator symbols of a functional programming language) ..."
Abstract
- Add to MetaCart
. We present an approach to program reuse by analogical transfer based upon the notion of recursive program schemes (RPSs). RPSs are representations which capture the structure of a program and are executable (if the symbols are interpreted by operator symbols of a functional programming language). This kind of representation is extremly useful for programming by analogy. The general outline of our approach is as follows: we start with a straight-forward program (initial program) which can be seen as handsimulation for transforming a fixed input into the corresponding output value. The desired iterative (recursive) program generalizing over the fixed input (RPS) is constructed by analogical transfer of an already known RPS which is structural similar to the new programming problem. Source and target RPSs are generalized to an RPS representing the common structure of both problems. Target RPS and generalized RPS are stored in memory with the generalized RPS as parent to source a...
Inductive Program Synthesis as Induction of Context-Free Tree Grammars
, 1998
"... . We present an application of grammar induction in the domain of inductive program synthesis. Synthesis of recursive programs from input/output examples involves the solution of two subproblems: transforming examples into straightforward programs and folding straightforward programs into (a set of) ..."
Abstract
- Add to MetaCart
. We present an application of grammar induction in the domain of inductive program synthesis. Synthesis of recursive programs from input/output examples involves the solution of two subproblems: transforming examples into straightforward programs and folding straightforward programs into (a set of) recursive equations. In this paper we focus on the second part of the synthesis problem, which corresponds to program synthesis from multiple traces or programming by demonstration. Instead of the original framework of synthesis of LISP functions and the currently prominent framework of inductive logic programming, we take a more general view coveringboth research areas: the synthesis of recursive program schemes. We show that this problem corresponds to the problem of inferring a context-free tree grammar from a single noise-free positive example and provide a synthesis method. While our method does (of course) not solve the synthesis problem for the unrestricted set of recursive program s...
Integrating Function Application in State-Based
, 2000
"... We present an extension of state-based planning from traditional Strips to function application, allowing to express operator effects as updates. As proposed in PDDL, fluent variables are introduced and, consequently, predicates are defined over general terms. Preconditions of operators are chara ..."
Abstract
- Add to MetaCart
We present an extension of state-based planning from traditional Strips to function application, allowing to express operator effects as updates. As proposed in PDDL, fluent variables are introduced and, consequently, predicates are defined over general terms. Preconditions of operators are characterized as variable binding constraints with standard preconditions as a special case of equality constraints. Operator effects can be expressed by ADD/DEL effects and additionally by updates of fluent variables. Mixing ADD/DEL effects and updates in an operator is allowed. Updating can involve the application of user-defined and built-in functions of the language in which the planner is realized. We present an operational semantics of the extended language. We will give a variety of example domains which can be dealt with in an uniform way: planning with resource variables, numerical problems such as water jug, functional variants of Tower of Hanoi and blocks-world, list sorting, and constraint-logic programming.

