Adventure in Prolog


Book Description

Not long ago" Dennis Merritt wrote one of the best books that I know of about implementing expert systems in Prolog, and I was very glad he published it in our series. The only problem is there are still some unfortunate people around who do not know Prolog and are not sufficiently prepared either to read Merritt's book, or to use this extremely productive language, be it for knowledge-based work or even for everyday programming. Possibly this last statement may surprise you if you were under the impression that Prolog was an "artificial intelligence language" with very limited application potential. Please believe this editor's statement that quite the opposite is true: for at least four years, I have been using Prolog for every programming task in which I am given the option of choosing the language. Therefore, I 'am indeed happy that Dennis Merritt has written another good book on my language of choice, and that it meets the high standard he set with his prior book, Building Expert Systems in Prolog. All that remains for me to do is to wish you success and enjoyment when taking off on your Adventure in Prolog.




Building Expert Systems in Prolog


Book Description

When I compare the books on expert systems in my library with the production expert systems I know of, I note that there are few good books on building expert systems in Prolog. Of course, the set of actual production systems is a little small for a valid statistical sample, at least at the time and place of this writing - here in Gennany, and in the first days of 1989. But there are at least some systems I have seen running in real life commercial and industrial environments, and not only at trade shows. I can observe the most impressive one in my immediate neighborhood. It is installed in the Telephone Shop of the Gennan Federal PTT near the Munich National Theater, and helps configure telephone systems and small PBXs for mostly private customers. It has a neat, graphical interface, and constructs and prices an individual telephone installation interactively before the very eyes of the customer. The hidden features of the system are even more impressive. It is part of an expert system network with a distributed knowledge base that will grow to about 150 installations in every Telephone Shop throughout Gennany. Each of them can be updated individually overnight via Teletex to present special offers or to adapt the selection process to the hardware supplies currently available at the local ware houses.




Prolog and Expert Systems


Book Description

Designed for undergraduate courses on Expert Systems, PROLOG or introductory Artificial Intelligence, this informally-styled text assumes no background in PROLOG or Logic Programming, but combines an introduction to PROLOG with a mastery of its application to expert systems programming.




Expert Systems in Prolog


Book Description

The machine learning capabilities of today's AI are extremely exciting, but they are only one part of the architecture of today's systems. For example, self-driving car technology uses machine learning to interpret the visual field around a car, but it's good old fashioned rule-based AI that contains the plans on what to do with that information.Similarly, the phenomenal program that plays Go at a master level uses machine learning to evaluate board positions (very difficult for a machine to do) but uses conventional AI for deciding what to do with that information.Written a number of years ago, Building Expert Systems in Prolog is still a classic text on knowledge engineering. The name might be a bit misleading, as it's not so much about building expert systems, but rather on building the knowledge representation and reasoning engine tools used for various types of expert system applications. (Including, of course, examples of each kind of system.)As such, it provides details and working code for identification systems, systems that need to cope with uncertainty, forward-chaining planning and configuration systems, frames for representing complex layers of information, and ideas for prototyping/implementing any way of representing knowledge and algorithms for reasoning over that knowledge.The text is a bit more general than just a Prolog text. Yes, all the code for implementing these systems is written in Prolog, but Prolog is more than just an implementation language. Because it is logic programming, a Prolog program is really a logical specification of an application. Yes it runs, but it can also be used for rapid prototyping, and the Prolog code itself can be used to precisely specify how to implement the system in any other language.In other words, the architectures of these systems will be the same, no matter what language they are implemented in, and the use of Prolog for rapid prototyping is covered in the book as well.




Prolog Programming in Depth


Book Description

Appropriate for courses in artificial intelligence, computer science, logic programming, and expert systems. Can be used as supplemental text in courses in computational linguistics (natural language processing). This text covers the Prolog programming language thoroughly with an emphasis on building practical application software, not just theory. Working through this book, students build several types of expert systems, as well as natural language processing software and utilities to read foreign file formats. This is the first book to cover ISO Standard Prolog, but the programs are compatible with earlier dialects of the language. Program files are available by FTP from The University of Georgia.




The Art of Prolog, second edition


Book Description

This new edition of The Art of Prolog contains a number of important changes. Most background sections at the end of each chapter have been updated to take account of important recent research results, the references have been greatly expanded, and more advanced exercises have been added which have been used successfully in teaching the course. Part II, The Prolog Language, has been modified to be compatible with the new Prolog standard, and the chapter on program development has been significantly altered: the predicates defined have been moved to more appropriate chapters, the section on efficiency has been moved to the considerably expanded chapter on cuts and negation, and a new section has been added on stepwise enhancement—a systematic way of constructing Prolog programs developed by Leon Sterling. All but one of the chapters in Part III, Advanced Prolog Programming Techniques, have been substantially changed, with some major rearrangements. A new chapter on interpreters describes a rule language and interpreter for expert systems, which better illustrates how Prolog should be used to construct expert systems. The chapter on program transformation is completely new and the chapter on logic grammars adds new material for recognizing simple languages, showing how grammars apply to more computer science examples.




The Craft of Prolog


Book Description

The emphasis in The Craft of Prolog is on using Prolog effectively. It presents a loose collection of topics that build on and elaborate concepts learned in a first course. Hacking your program is no substitute for understanding your problem. Prolog is different, but not that different. Elegance is not optional. These are the themes that unify Richard O'Keefe's very personal statement on how Prolog programs should be written. The emphasis in The Craft of Prolog is on using Prolog effectively. It presents a loose collection of topics that build on and elaborate concepts learned in a first course. These may be read in any order following the first chapter, "Basic Topics in Prolog," which provides a basis for the rest of the material in the book. Richard A. O'Keefe is Lecturer in the Department of Computer Science at the Royal Melbourne Institute of Technology. He is also a consultant to Quintus Computer Systems, Inc.Contents: Basic Topics in Prolog. Searching. Where Does the Space Go? Methods of Programming. Data Structure Design. Sequences. Writing Interpreters. Some Notes on Grammar Rules. Prolog Macros. Writing Tokenisers in Prolog. All Solutions.




Principles of Expert Systems


Book Description




Programming in Prolog


Book Description

The computer programming language Prolog is quickly gaining popularity throughout the world. Since Its beginnings around 1970. Prolog has been chosen by many programmers for applications of symbolic computation. including: D relational databases D mathematical logic D abstract problem solving D understanding natural language D architectural design D symbolic equation solving D biochemical structure analysis D many areas of artificial Intelligence Until now. there has been no textbook with the aim of teaching Prolog as a practical programming language. It Is perhaps a tribute to Prolog that so many people have been motivated to learn It by referring to the necessarily concise reference manuals. a few published papers. and by the orally transmitted 'folklore' of the modern computing community. However. as Prolog is beginning to be Introduced to large numbers of undergraduate and postgraduate students. many of our colleagues have expressed a great need for a tutorial guide to learning Prolog. We hope this little book will go some way towards meeting this need. Many newcomers to Prolog find that the task of writing a Prolog program Is not like specifying an algorithm in the same way as In a conventional programming language. Instead. the Prolog programmer asks more what formal relationships and objects occur In his problem.




Clause and Effect


Book Description

This book is for people who have done some programming, either in Prolog or in a language other than Prolog, and who can find their way around a reference manual. The emphasis of this book is on a simplified and disciplined methodology for discerning the mathematical structures related to a problem, and then turning these structures into Prolog programs. This book is therefore not concerned about the particular features of the language nor about Prolog programming skills or techniques in general. A relatively pure subset of Prolog is used, which includes the 'cut', but no input/output, no assert/retract, no syntactic extensions such as if then-else and grammar rules, and hardly any built-in predicates apart from arithmetic operations. I trust that practitioners of Prolog program ming who have a particular interest in the finer details of syntactic style and language features will understand my purposes in not discussing these matters. The presentation, which I believe is novel for a Prolog programming text, is in terms of an outline of basic concepts interleaved with worksheets. The idea is that worksheets are rather like musical exercises. Carefully graduated in scope, each worksheet introduces only a limited number of new ideas, and gives some guidance for practising them. The principles introduced in the worksheets are then applied to extended examples in the form of case studies.