Academia.eduAcademia.edu

Expert systems: principles and programming

1994

AI-generated Abstract

This review discusses the book 'Expert Systems: Principles and Programming' by J.C. Giarratano and G. Riley, which serves as a foundational text for courses on expert systems. It highlights the importance of understanding knowledge representation and processing methods, the practical implementation of an expert system programming language (CLIPS), and the various paradigms used in expert systems design. While the book effectively introduces these concepts with examples, it also faces challenges in defining expert systems and achieving a cohesive interdisciplinary discourse between technology and application.

Automatica, Vol, 27, No. 3, pp. 585-590, 1991 Pergamon Press plc. Printed in Great Britain. International Federation of Automatic Control Book Reviews Expert Systems Principlesand Programming* Joseph C. Giarratano and Gary Riley show the origins of the production (rule-based) systems in Post production systems and Markov algorithms. The same pedagogical way of presentation is used also in further parts of the book that expand into a detailed discussion on the theory (or rather theories) behind expert systems. The theory explains advantages and disadvantages of individual methods and therefore its knowledge is necessary when designing an expert system for a specific field of application. Chapter 2 describes different ways of knowledge representation. Though the most popular technique is based on productions, the authors bring in also semantic nets and frames. They do not explain only scopes and advantages of these methods but also difficulties with their application (a paragraph describing difficulties with production systems is unfortunately missing). A substantial part of Chapter 2 is also devoted to logic: propositional logic and first order predicate logic. This creates a necessary theoretical background for Chapter 3 dealing with methods of inference. In this chapter, resolution, the primary inference mechanism of PROLOG, is explained. But naturally, in accordance with other chapters, the authors pay attention to several other methods like deduction, induction, abduction or nonmonotonic ways of inference. All these methods are again described on examples and compared with one another. Accepting the authors' statement that "in the real world we are seldom absolutely sure of anything except death and taxes" (and I believe this fact is one of the main impulses leading to the origin of expert systems), one has to consider Chapters 4 and 5 to be among the most important theoretical parts of the book. They form a wide survey of methods designed for both reasoning under uncertainty and inexact reasoning. In contrast with logical approach described in the previous chapters, these methods are important for expert system application involving uncertain information. The uncertainty may apply to facts (data), knowledge (rules) or both. A number of techniques has been suggested to deal with uncertainty in expert system but some of them are heuristic, not supported by a mathematical theory. It is a virtue of the book that it emphasizes theoretically sound approaches based on either classical probability theory, Dempster-Shafer theory or Zadeh's fuzzy theory. All three approaches are introduced in the book with help of examples some of which are used several times to show the differences between the individual models. I have hitherto commented mainly positive aspects of the book. Now, I would like to mention a certain imperfection affecting presentation of some theoretical parts and issuing from the extensive choice of theories included in the book. For example, when the classical probability theory is presented, basic terms like sample space, random variable, probability distribution, conditional probability or independent events are explained and illustrated with examples. Nevertheless, the authors do not introduce concepts like multidimensional distribution which would make possible to define the dependence between random variables--the notion used to represent knowledge in most of the probabilistic expert systems. Similarly, when discussing resolution as the principal inference rule in PROLOG it might be useful to mention its ways of implementation and connected problems (though it can be found quite easily almost in any PROLOG manual). With a limited room for introduction of theoretical foundations of each described method it is fairly difficult to determine what can be omitted. To offset the subjectivity of their decision, the authors have supplemented each chapter with bibliography. It enables the lecturers, who take the Reviewer: R. JIROUSEK Czechoslovak Academy of Sciences, Institute of Information Theory and Automation, Pod vodarenskou vezi 4, CS 182 08 Prague 8, Czechoslovakia. EXPERT SYSTEMS---one of the most frequent terms in many fields of present human professional activities--is a term provoking a lot of questions and contradictory opinions. On the one hand, the motto "the problem is too hard to cope with, we need an expert system" has penetrated the subconscious of many specialists and managers-in-chief; on the other, there are still papers published, such as Streitberg (1988) stating the nonexistence of "real" expert systems. Though there is no exact definition of the expert system unanimously accepted by the Artificial Intelligence community, the notion has gained its indisputable place in AI and has become a regular part of AI courses for both undergraduate and graduate students. The book by Joseph Giarratano and Gary Riley is the only one I know which aims to serve as a basis for courses on expert systems supplemented with a term project enabling students to develop skills in their design and programming. For this purpose, the second part of the book presents a detailed account of an expert system programming language CLIPS and the book is supplemented with disc containing a complete, executable expert system tool integrated with the text. CLIPS (C Language Integrated Production System) was designed and developed at the Artificial Intelligence Section of the NASA/Johnson Space Center to facilitate laborious programming work connected with building expert systems. Regarding the differences between writing a program in a procedural language and implementing an expert system, it is very important for students to complete one or two small expert systems of their choice. Their task should not be only the implementation of the given techniques but the project should consist primarily of choosing the most appropriate method for the problem in question. For this purpose, a wide range of methods and techniques used for knowledge representation and processing in expert systems constitutes the content of the first part of the book, As already mentioned above, there is no exact definition of the expert system. To be called an expert system, a program product has to meet several requirements. There is a common consensus about some of them; others are claimed only by some authors. And yet, it is very difficult, almost impossible, to say that some requirements are more important than others. All this wavering is reflected quite naturally in the first part of the introductory Chapter 1. Though there is only one paragraph entitled "What is an expert system", it takes, in fact, nine of them to answer the question. The remainder of Chapter 1 is devoted to explanation of the most popular techniques and paradigms employed in expert systems today. In addition, as an example of a prospective technique, artificial neural systems are introduced. At this place I would like to stress one very positive feature of the whole book. Whenever a new term is mentioned, it is illustrated with examples and relations to other similar concepts are explained. When, for example, production systems are introduced, the authors do not restrict themselves only to stating that knowledge is represented in a form of I F - T H E N rules, and go back to the history and * Expert Systems--Principles and Programming by J. C. Giarratano and G. Riley. P,W.S.-KENT, Boston (1989). ISBN 0878353356, £16.95. AUTO 27:3-~ 585 586 Book Reviews book as a basis for their courses, to go into more detail in the parts of their choice and to skip some others. There is no doubt that from this point of view the book is a success. This feeling is increased also by the fact that each chapter is supplemented with exercises and problems. Nevertheless, the book taken as the only source of information may leave a reader with a rather superficial idea about theory of expert system. Let us stress that this fact does not, however, decrease the value of the book as the basis for lectures on expert system theory and programming. For this reason, I would like to repeat the words from L. A. Zadeh's foreword: "Joseph Giarratono and Gary Riley deserve the thanks of all of us for undertaking a dit~cult task and making an important contribution to a better understanding of the fundamentals of expert systems". Reference Streitbcrg, B. (1988). On the nonexistence of expert systems---Critical remarks on artificial intelligence in statistics. Statistical Software Newsletter 19, 2, 55-62. About the reviewer Radim Jirougek was born in Prague, Czechoslovakia. He graduated in mathematics from Charles University, Prague, in 1969, and received the CSc (an equivalent of Ph.D.) degree in theoretical cybernetics from the Czechoslovak Academy of Sciences in 1979. In 1970 he joined the Medical Cybernetics Laboratory at the Institute of Hematology and Blood Transfusion, Prague, where he researched mathematical methods of diagnosis. In 1979 he joined the Information Theory Laboratory, Institute of Information Theory and Automation of the Czechoslovak Academy of Sciences, Prague, where he is head of the Department of Decision Systems Theory. His present interest lies in uncertainty processing in expert systems with emphasis on probabilistic methods. He has published over 40 scientific papers, and at present is scientific secretary of the Czechoslovak Cybernetic Society. Large Space Structures: Dynamics and Control* S. N . A t l u r i Reviewer: E. GOTTZEIN MBB/Deutsche Aerospace, Space Communications and Propulsion Systems Division, Messerschmitt-B61kow-Blohm GmbH, D-8000 Miinchen 80, Germany. AUTOMATIC control of large flexible space structures is one of the key issues in future spacecraft design. The problem is characterized by control-structure interaction resulting from a high number of densely packed structural modes within the control system bandwidth or close to it, combined with stringent micro-gravity level or pointing performance requirements. Examples for control systems of the first type are in-orbit manufacturing facilities with large solar panels and of the second type are very large space telescopes and laser pointing systems requiring pointing and target tracking to an accuracy of 0.01 arcsec or better. The problem to be solved is therefore not how to control or stabilize some large structure somehow but rather how to design both structure and control system in order to meet stringent system engineering requirements in an optimal way. This has to be kept in mind in order to frame the right question and solve the real problem. For this new type of space systems, control engineers and mechanical engineers have to come together early on a system engineering level to properly match control systems and structural design parameters to meet overall requirements, and to predict on orbit performance of the space platforms as closely as possible. These two steps, control system design and overall performance evaluation, require different types of mathematical models---in particular those of the structure: a design model approximating the essential features of the system and a validation or truth model approximating the real system as closely as possible. Mathematical models used in control system design have to properly represent transfer functions and responses between sensors and actuators, e.g. those located on different points of a structure. It is on this requirement that the mathematical modelling of the structure for control system design has been based. Approximations which are quite different from the ones which are commonly used in structure design may lead to better and less complex control * Large Space Structures: Dynamics and Control by S. N. Atluri and A. K. Amos. Springer, New York (1988). ISBN 0-387-18900-9, U.S. $89.50. and A. K. Amos figurations. Even the extreme case has been demonstrated, where control problems which were unsolvable or only solvable at the expense of large complexity became solvable with technically feasible controllers by re-evaluating the modelling approach. The iterative procedure between control system design and modelling approximation is therefore the first key issue in control-structure interaction. The second key issue is how to design robust controllers to stringent performance requirements under high levels of uncertainty in the mathematical model itself due to the finite approximations used, the model parameters and the disturbing environment. Robustness is required to assume stability and minimum in-orbit performance in the first place while fine tuning can be done later by in-orbit identification and adaptation of control configuration and parameters with the spacecraft already flying in its real environment. A third key issue is verification of mathematical models and closed loop system performance by cleverly designed experiments on ground and in orbit. Even with the powerful design tools available nowadays, the importance of doing the right tests on a component as well as on a control system level cannot be overemphasized. Only by testing can it be proven that the control system design problems have been solved correctly and that the right problems have been solved. Concerning dynamics and control of large flexible space structures, we are, with all three key issues, just in the beginning. The monograph on dynamics and control of large flexible space structures addresses the first two key issues. Its fifteen chapters which are written by structural dynamicists and control "theoreticians" are intended to give the status of this highly interdisciplinary subject and an indication of future trends. Stimulating early research work is reported; unfortunately the chapters stand pretty much by themselves and are only very loosely related to each other. They are, in general, well written and give adequate references. In accordance with the status given in the monograph, the desired interaction between structural and control specialists is not yet achieved. The chapters on structural modelling on one hand oversimplify the control problem, and the chapters on control system design, on the other hand, are based on linearized modal characteristics (an approach which is well supported by practical experience so far) but do not question the assumptions. The weakness of the monograph is that the underlying control performance requirements, which are the real cause of the problem, are hardly stated at all and that