Catalogue of Artificial Intelligence Techniques
Pattern Directed Languages
Keywords: Algol, CONNIVER, Micro-PLANNER, OPS5, PLANNER, QA4, QLisp, conflict resolution
Categories: Inference and Reasoning , Programming Languages
Author(s): Paul Brna
This class of languages is Data-driven. That is, the current context is used to determine which procedure to call next--sometimes called Pattern Directed Invocation. This is opposed to the fixed sequence of procedure calls in languages like FORTRAN, Algol etc. There is a corresponding necessity for suitable Pattern Matching to take place. Example languages include PLANNER (and Micro-PLANNER), CONNIVER, QLisp (and QA4), Prolog and Production Rule Systems like OPS5. Different styles of reasoning are possible: OPS5, for example, uses Forward Chaining while Prolog uses Backwards Chaining. Also, different styles of pattern matching are used: PLANNER uses an extremely simple algorithm while QLisp can match pattern variables to arbitrary Lisp structures. The problem of conflict resolution also arises when, in principle, one pattern is suitable for several different procedure invocations. This is solved in Prolog by using a fixed search strategy and in OPS5 with a simple conflict resolution algorithm.
- Waterman, D.A. and Hayes-Roth, F., eds., Pattern-directed Inference Systems
, Academic Press, New York, 1978.