Machine-aided heuristic programming : a paradigm for knowledge engineering
Machine-aided heuristic programming is advocated as a paradigm for incorporating domain knowledge in intelligent task performance programs. In this paradigm, a system interactively assimilates a natural language description of a task, advice on how to perform it, and definitions of the domain concepts. The system translates this input into an internal representation, operationalizes the assimilated knowledge, integrates different pieces of advice, and applies them to performance of the task. Some desiderata for the internal knowledge representation are proposed and a typed applicative LISP-like language is described. Operationalization is defined in terms of transforming well-defined but noneffective expressions into effectively executable ones. A Hearsay-II blackboard-like mechanism for integrating different pieces of advice is described. Several techniques for performing these processes mechanically are presented and applied to the card game Hearts. A system to accept and use Hearts advice is currently being implemented.