International Journal of Scientific Engineering and Applied Science (IJSEAS) – Volume-3, Issue-1,May 2017
ISSN: 2395-3470
www.ijseas.com
Study on Inductive Logic Programming Systems based on
Higher-order logic
Yan-Juan Li
1
, Meng-Ting Niu
1
1
College of Information and Computer Engineering, Northeast Forestry University, Harbin, China
Abstract
Inductive logic programming is a field which
integrates machine learning and logic programming.
Inductive logic programming adopts first order logic
to represent background knowledge and examples.
The expressive ability of first order logic is lower
than high order logic. Therefore, researchers propose
to use higher order logic as the representation form
for inductive logic programming. This paper reviews
inductive logic programming based on higher order
logic. Firstly, background, higher order
language(Escher) are introduced; secondly, the
current higher order inductive logic programming
systems are summarized and analyzed; finally, some
vital aspects that may be conducted in the future
investigations are discussed.
Keywords: inductive logic programming; first-order
logic; higher-order logic; Escher
1. Introduction
The goal of machine learning is to extract the general
decision rules and patterns. Although traditional
machine learning methods, such as artificial neural
network[1], has made considerable progress and
successful application[2,3], it is restricted to
propositional logic(attribute-value representation)
framework. With the continuous expansion of the
application fields of machine learning, the traditional
machine learning methods cannot satisfy the needs of
practical application, this mainly reflected in two
aspects: on the one hand, the description ability of
propositional logic is weak, including the description
of the empirical data and rules. In propositional logic,
the description of the data and rules are in the form of
attribute-value. However, this description is not
suitable for describing complex objects, and does not
describe the intrinsic relationship among attribute-
values. Therefore, in the learning task involving the
complex object relation, attribute-value
representation will exist difficulty in the description
of object and rules. On the other hand, knowledge
acquisition is not simply only from raw data. In the
process of acquiring knowledge, human beings often
need relevant knowledge, that is background
knowledge. Because these background knowledge
are expressed by first-order predicate logic, the
traditional machine learning method is suitable to
exploit background knowledge. Under this
circumstances, inductive logic programming emerges.
The field of inductive logic programming essentially
combines machine learning with logical knowledge
representation[4]. First-order predicate logic
representation makes ILP make great application in
the field of attribute-value. These fields include end-
user programming[5], computer education[6],
extracting information from markup files[7].
Muggleton reviews the development of ILP, and
points out that higher-order logic representation is a
future research direction[8]. Higher-order
representations could also provide more flexible
ways of representing background knowledge which
could support, for example, general definitions of the
properties of symmetric relations or tail-recursive
definitions. Higher-order background knowledge also
has potential for direct reasoning about meta-logical
processes such as predicate invention and
probabilistic reasoning.
Higher order Logic (HOL), which allows for
quantification over predicates and functions, is
intrinsically more expressive than first order logic
and has been seldom used. According to [9], “the
logic programming community needs to make greater
use of the power of higher-order features and the
related type systems. Furthermore, HOL has
generally been under-exploited as a knowledge
representation language”. In[9], the use of HOL in
Computational Logic, which has been “advocated for
at least the last 30 years” is illustrated: functional
languages, like Haskell98[10]; Higher-order
programming introduced with Prolog[11];
integrated functional logic programming languages