Parallelism in knowledge-based machines
Apostolos N. Refenes · The Knowledge Engineering Review · 1989
Abstract The application area of knowledge-based expert systems is currently providing the main stimulus for developing powerful, parallel computer architectures. Languages for programming knowledge-based applications divide into four broad classes: Functional languages (e.g. LISP), Logic languages (e.g. PROLOG), Rule-Based languages (e.g. OPS5), and, what we refer to as self-organizing networks (e.g. BOLTZMANN machines). Despite their many differences, a common problem for all language classes and their supporting machine architectures is parallelism: how to de-compose a single computation into a number of parallel tasks that can be distributed across an ensemble of processors. The aim of this paper is to review the four types of language for programming knowledge-based expert systems , and their supporting parallel machine architectures . In doing so we analyze the concepts and relationships that exist between the programming languages and their parallel machine architectures in terms of their strengths and limitations for exploiting parallelization.