- Ãø¼Ô
- Scott Dietzenu
- ¥¿¥¤¥È¥ë
- A Language for Higher-Order Explanation-Based Learning
- Æü»þ
- January 1991
- ³µÍ×
- Certain tasks, such as formal program development and theorem
proving, fundamentally rely upon the manipulation of higher-
order objects such as functions and predicates.
Computing tools intended to assist in performing these tasks are at present inadequate in both the amount of 'knowledge' they
contain (i.e., the level of support they provide) and in their
ability to 'learn' (i.e., their capacity to enhance that support
over time).
The application of a relevant machine learning technique -
explanationbased generalization (EBG) - has thus far been
limited to first-order problem representations.
We extend EBG to generalize higher-order values, thereby
enagbling its application to higher-order problem encodings.
Logic programming provides a uniform framework in which all
aspects of explanationbased generalization and learning may be
defined and carried out.
First-order Horn logics(e.g., Prolog) are not, however, well
suited to higher-order applications.
Instead, we employ ¦Ë Prolog,
a higher-order logic programming
language, as our basic framework for realizing higher-order EBG In order to capture the distinction between domain theory and
training instance upon which EBG relies, we extend ¦Ë
Prolog with the necessity operator * of modal logic.
We then provide a formal characterization of both the extended
logic, ¦Ë * Prolog, and of higher-order EBG over
¦Ë Prolog computation.
We also illustrate applications of higher-order EBG within
program development and theorem proving.
Within the architectures of traditional learning systems, the
language for problem representation and solution (i.e., the
programming language) is separated from the underlying learning
mechanism.
Herein we propose an alternative paradigm in which
generaization and assimilation are realized through integrated of the programming language, and are therefore under programmer
control.
In this way, the developer can leverage domain knowledge and
provision for user interaction in the programming of learning
tasks.
Thus, while ¦Ë g Prolog - the logic extended with
generalization and assimilation features - is not itself a
learning system, it is intended to serve as a flexible, high-
level foundation for the construction of such systems.
For ¦Ë g Prolog to afford this programmable learning,
constructs are necessary for controlling generalization, and
for assimilating the results of generalization within the
logic program.
The problem with the standard means by which Prolog programs
are extended - assert - is that the construct is not
semantically well-behaved.
A more elegant alternative (adopted, for example, in ¦Ë
prolog) is implication with its intuitionistic meaning, but the
assumptions so added to a logic program are of limited
applicability.
We propose a new construct rule, which combines the declarative
semantics of implication with some of the power of assert.
Operationally, rule provides for the extension of the logic
program with results that deductively follow from that program.
We then extend rule to address explanation-based generalization
within another new construct, rule_ebg.
While rule and rule_ebg are developed in the framework of
¦Ë prolog,the underlying ideas are general, and
therefore applicable to other logic programming languages.
In addition to developing and formally characterizing the
¦Ë g prolog language, this thesis also provides a
prototype implementation and numerous examples.
¦Ë
¦Ë
¦Ë
- ¥«¥Æ¥´¥ê
- CMUTR
Category: CMUTR
Institution: Department of Computer Science, Carnegie
Mellon University
Abstract: Certain tasks, such as formal program development and theorem
proving, fundamentally rely upon the manipulation of higher-
order objects such as functions and predicates.
Computing tools intended to assist in performing these tasks are at present inadequate in both the amount of 'knowledge' they
contain (i.e., the level of support they provide) and in their
ability to 'learn' (i.e., their capacity to enhance that support
over time).
The application of a relevant machine learning technique -
explanationbased generalization (EBG) - has thus far been
limited to first-order problem representations.
We extend EBG to generalize higher-order values, thereby
enagbling its application to higher-order problem encodings.
Logic programming provides a uniform framework in which all
aspects of explanationbased generalization and learning may be
defined and carried out.
First-order Horn logics(e.g., Prolog) are not, however, well
suited to higher-order applications.
Instead, we employ ¦Ë Prolog,
a higher-order logic programming
language, as our basic framework for realizing higher-order EBG In order to capture the distinction between domain theory and
training instance upon which EBG relies, we extend ¦Ë
Prolog with the necessity operator * of modal logic.
We then provide a formal characterization of both the extended
logic, ¦Ë * Prolog, and of higher-order EBG over
¦Ë Prolog computation.
We also illustrate applications of higher-order EBG within
program development and theorem proving.
Within the architectures of traditional learning systems, the
language for problem representation and solution (i.e., the
programming language) is separated from the underlying learning
mechanism.
Herein we propose an alternative paradigm in which
generaization and assimilation are realized through integrated of the programming language, and are therefore under programmer
control.
In this way, the developer can leverage domain knowledge and
provision for user interaction in the programming of learning
tasks.
Thus, while ¦Ë g Prolog - the logic extended with
generalization and assimilation features - is not itself a
learning system, it is intended to serve as a flexible, high-
level foundation for the construction of such systems.
For ¦Ë g Prolog to afford this programmable learning,
constructs are necessary for controlling generalization, and
for assimilating the results of generalization within the
logic program.
The problem with the standard means by which Prolog programs
are extended - assert - is that the construct is not
semantically well-behaved.
A more elegant alternative (adopted, for example, in ¦Ë
prolog) is implication with its intuitionistic meaning, but the
assumptions so added to a logic program are of limited
applicability.
We propose a new construct rule, which combines the declarative
semantics of implication with some of the power of assert.
Operationally, rule provides for the extension of the logic
program with results that deductively follow from that program.
We then extend rule to address explanation-based generalization
within another new construct, rule_ebg.
While rule and rule_ebg are developed in the framework of
¦Ë prolog,the underlying ideas are general, and
therefore applicable to other logic programming languages.
In addition to developing and formally characterizing the
¦Ë g prolog language, this thesis also provides a
prototype implementation and numerous examples.
¦Ë
¦Ë
¦Ë
Number: CMU-CS-92-110
Bibtype: TechReport
Month: jan
Author: Scott Dietzenu
Title: A Language for Higher-Order Explanation-Based Learning
Year: 1991
Address: Pittsburgh, PA
Super: @CMUTR