Robotics Reference
In-Depth Information
which is analogous to solving problems. Because mathematical logic
lends itself so readily to automation, many problems can be solved by
representing them and their relevant background information as logical
statements (axioms) and treating the solutions of the problems as though
they were the proofs of theorems based on these axioms.
Different Directions in Problem Solving
During the 1970s there was flurry of interest amongst researchers in a
new type of programming called logic programming, and in a program-
ming language called PROLOG 11 that showed some promise of becom-
ing a panacea in the field of problem solving. It was realised that the
way in which knowledge is converted into formal expressions and ax-
ioms in logic can affect the manner in which an automatic deduction
process operates. And Robert Kowalski pointed out that the process of
making decisions as to how to convert knowledge into logical forms is
akin to the process of writing programs in a conventional programming
language. This led him to the observation that many logical operations
can be formalized in such a way that, when the methods of automated
deductive reasoning are applied to such operations, the effect is the same
as when executing these operations in computer programs. This was the
thinking behind the development of logic programming and the inven-
tion of the PROLOG programming language.
The power of PROLOG for problem-solving tasks lies in the way in
which knowledge can be represented in the language. For example, the
PROLOG statements
parent(X,Y) :- mother(X,Y)
and
parent(X,Y) :- father(X,Y)
mean that if Y is the mother of X then Y is a parent of X and if Y is the
father of X then Y is a parent of X, so the meaning of
grandfather(X,Z) :- parent(X,Y), father(Y,Z)
is that if Z is the father of Y and if Y is a parent of X, then Z is a grandfa-
ther of X. This example illustrates how the manner in which information
11 For Programming in Logic.
Search WWH ::




Custom Search