Based on a number of sample systems of varying complexity, this book illustrates the practical aspects of developing expert systems and knowledge-based applications software. The programming language used is Prolog (Clocksin-Mellish standard). The examples deal with such topics as techniques for heuristic optimization, the implementation of frames , the construction of explanatory components, etc. The complete, functional code for the sample systems is provided in the appendix and can be used as a basis for further development. This book is not only suitable for self-study, seminars or lectures, but also as a valuable reference and guide for software developers in both commercial and academic environments.Based on a number of sample systems of varying complexity, this book illustrates the practical aspects of developing expert systems and knowledge-based applications software. The programming language used is Prolog (Clocksin-Mellish standard). The examples deal with such topics as techniques for heuristic optimization, the implementation of frames , the construction of explanatory components, etc. The complete, functional code for the sample systems is provided in the appendix and can be used as a basis for further development. This book is not only suitable for self-study, seminars or lectures, but also as a valuable reference and guide for software developers in both commercial and academic environments.1 Introduction.- 1.1 What Do We Mean by Expert System?.- 1.2 What Is Prolog?.- 1.3 Which Implementation of Prolog Are We Using?.- 1.4 How Is This Lab Structured?.- 2 Characteristics and Components of an Expert System.- 2.1 The Concept and Areas of Application.- 2.2 Human Versus Machine Knowledge.- 2.3 Knowledge Base and Knowledge Bank.- 2.4 Rule Knowledge.- 2.5 The Inference Engine.- 2.6 Instantiation of Variables.- 2.7 Applications Problems.- 2.8 Classification of Typical Expert Systems.- 3 A Model System for Transit Fare Information.- 3.1 The Problem.- 3.2 Tral“Ü