PROLOG FOR NONMONOTONIC PROBLEM-SOLVING.


Steven B. Schoenly and G. Jan Wilms
Department of Computer and Information Science, University of Mississippi, University MS 38677.




Nonmonotonic problems are problems in which the application of a rule at one point in the search for a solution can prevent later firing of other rules which could have been applied at that point in the search. The well-known "Monkey and Bananas" problem is a deceptively simple nonmonotonic problem: a monkey in a three-dimensional environment manipulates objects in order to accomplish some goal, usually the grasping of a bunch of bananas. This problem has been used as a case study for implementation of a nonmonotonlc problem-solving system using the logic programming language PROLOG. An OPS5 implementation of this problem, published in Programming Expert Systems in OPS5 (Lee Brownston et.al., Addison-Wesley, 1985), was used as a model and for comparative purposes. PROLOG techniques for finding proof of truth through backward chaining, unification, subgoals, and backtracking make the language very suitable for solution of nonmonotonic problems. The PROLOG prototype has also been compared to implementations using other high-level languages and knowledge engineering tools.