Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Adding Forward Chaining and Truth Maintenance to Prolog
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Introduction
Prolog, like most logic programming languages, offers backward
chaining as the only reasoning scheme. It is well known that
sound and complete reasoning systems can be built using either
exclusive backward chaining or exclusive forward chaining [19].
Thus, this is not a theoretical problem. It is also well understood
how to “implement” forward reasoning using a backward chaining
system and vice versa. Thus, this need not be a practical
problem. In fact, many of the logic-based languages developed
for AI applications [14,7,20,11] allow one to build systems with
both forward and backward chaining rules.
There are, however, some interesting and important issues
which need to be addresses in order to provide the Prolog programmer
with a practical, efficient, and well integrated facility
for forward chaining. This paper describes such a facility, Pjc ,
which we have implemented in standard Prolog.
The Pfc system is a package that provides a forward reasoning
capability to be used together with conventional Prolog
programs. The Pjc inference rules are Prolog terms which are
asserted as facts into the regular Prolog database. For example,
Figure 1 shows a file of Pic rules and facts which are appropriate
for the ubiquitous kinship domain.
In the next section of this paper we will review the nature of
forward chaining, motivations for using it and some of the issues
one must address in a forward chaining system. We will then give
an informal, example-based presentation of the Pjc language in
the third section. The fourth section will give some more detailed
examples of the use of Pfc . Some of the implementation details
are described in the fifth section. This paper concludes with a
final section which summarizes our experiences and plans for the
future.