Amzi! inc.--Tools for Building Expert Systems in Prolog ============================================================================== Expert Systems in Prolog is a book and disk combination. The book is by Dennis Merritt, published by Springer-Verlag. The disk is available direct from Amzi! inc. Expert Systems in Prolog (XSiP) shows how to build a number of prototype expert system shells, describing the technical issues and design decisions involved in each. Sample expert systems are implemented using each of the shells. Full source code for the shells is available on an unrestricted basis. Chapter summaries: 1- Introduction--Introduces expert system shells and the features that are found in them. 2- Using Prolog's Inference Engine--Shows how to use Prolog's built-in inference engine as the basis for a simple expert system shell. It adds a user interface that is more expert-system-like than Prolog-like. Use of the shell is illustrated with a bird identification expert system. 3- Backward Chaining with Uncertainty--Shows how to build an EMYCIN-like inference engine with certainty factors. It adds a user interface and a knowledge representation language using English-like syntax implemented with Prolog's DCG support. Use of the shell is illustrated with a car diagnostic expert system. 4- Explanation--Adds "how" and "why" explanation capabilities to both the EMYCIN-like shell and the native Prolog shell. These explain how a conclusion was reached, or why a particular chain of questions is being asked. 5- Forward Chaining--Shows how to implement a basic OPS-like forward chaining (production) system. It uses Prolog terms for knowledge representation and includes the OPS conflict resolution strategies. The use of the shell is illustrated with an expert system that configures living room furniture. 6- Frames--Adds a frame-based (often called objects by AI vendors) knowledge representation scheme with inheritance and demons. The power of the frames is illustrated by using them to re-implement the bird identification expert system without rules. 7- Integration--Builds an integrated system that uses the forward-chaining engine, frame-based knowledge representation, and native Prolog. The three together form a powerful tool set for building a large variety of practical expert systems. The concept is illustrated by re-implementing the furniture configuration expert system with a much cleaner knowledge representation. 8- Performance--Shows how to use indexing schemes to speed up backward- chaining systems, and how to implement a Rete network for improved performance in forward-chaining systems. 9- User Interface--Describes an object-oriented windowing user interface developed in Prolog. It allows menu and window interfaces to be added to the various other programs described in the book. It uses a full message passing and hierarchical structure for describing and communicating with the windows. 10- Two Hybrids--Describes two actual cases studies of expert systems built to install and tune a mainframe database system. Both show the benefits of custom building expert systems, as the knowledge representation language of the systems is designed to map closely to the way the "experts" describe the knowledge. The inference engine is then customized to work using the customized knowledge representation. 11- Prototyping--Shows how to build "quick-and-dirty" prototypes of expert systems for proof-of-concept work, again by modeling the knowledge representation first. The example used is a sales advisor that helps a sales person position a complex technical product for a prospect. 12- Rubik's Cube--For fun, presents a working expert system that will help you unscramble that old Rubik's cube lying on your desk. Appendices--Full source code for all of the expert-system shells described in the book. Optional XSiP disk--Includes running versions of all of the prototypes, all in Edinburgh syntax. They were developed with a variety of Prologs, although most of the implementations are in Cogent Prolog. With minor modifications (usually in the I/O area) they can be ported to any other Prolog. The disk also includes an additional expert system for filling out U.S. tax forms along with an article describing how it was built. Building Expert Systems in Prolog, Dennis Merritt, Springer-Verlag ISBN 0-387- 97016-9 ISBN 3-540-97016-9. Book is available either direct from Amzi!, or your local technical book store. Disk is available from Amzi! "I was very impressed. I found the shells described in your book very useful for some of the work I'm trying to accomplish."--a reader's comment