BOOK REVIEWS Parallel Execution of Logic Programs John S. Conery Kluwer Academic Publiishers 1987 ISBN 0-89838-194-0, 155pp. $34.95 Reviewed By: Ben Choi and Dik Lee Department of Electrical Engineering Dept. of Computer and Information Science The Ohio State University Columbus, Ohio 43210 dlee@tut.cis.ohio-state.edu This book is an updated version of the author's Ph.D. dissertation[I]. In this book, the author presents an abstract model for parallel execution of logic programs and attempts to define a framework for implementing parallel interpreters. The author describes the research in three layers of abstraction: theory, operation, and i m plementation. At the theory level, the author discusses syntax, semantics, and control strategies for logic p r o gramming and Prolog. For the operation level, the author presents his AND/OR Process Model and an updated survey of related work. For the implementation level, he describes implementation techniques for interpreters based on the specifications of the abstract model. The book is divided into seven chapters as follows: Chapter 1 provides the background of the research. It states that the AND/OR Process Model is based on the principles of accuracy, scalability, and modularity. The author also makes it very clear that the model is an abstract parallel interpreter for parallel execution of logic programs, not a model for parallel execution of Prolog. Chapter 2 is an introduction to logic programming and Prolog. It describes some differences between logic programming and Prolog. It also discusses control strategies in a logic program and illustrates some of the control techniques used in parallel systems. Chapter 3 provides a survey for parallel execution of logic programs. AND,,OR, and Low Level parallelism are identified. Several models exploiting the parallelism are discussed. The author begins a detailed description of his AND/OR process model for parallel interpretation of logic programs in Chapter 4. In Chapter 4, the author shows that logic programs can be interpreted by independent, cooperating processes which can be executed sequentially to mimic a depth first interpreter by replacing procedure calls with message passing. Chapter 5 and 6 describe in details the parallel AND/OR process model. The author provides algorithms and examples to show how a logic program can be e x ecuted by the model which exploits both AND, and OR parallelism. Clause ordering and backtracking techniques for AND parallelism are also discussed. Chapter 7 provides a discussion of implementation techniques for interpreters based on the model. The problem of g r o w t h control of processes is described in detail. This is one of the first books treating the topic of parallel execution of logic programs and it has done the job well. The author organizes the subjects well and presents the information with incisive statements. AI'though the author does not give formal definitions for logic programming and Prolog[2], a clear, concise, and elegant introduction is provided. The updated survey of parallelism in logic programs provides an overview of numerous systems exploiting AND, OR, and Low Level parallelism. A bibliography is also included for readers to pursue further research. The description of the AND/OR process model provides readers a detailed example of how to decompose a logic program into a set of processes which can be described as actors[3]. It also shows with working algorithms and examples h o w to execute the processes in parallel. In summary, we would recommend this book for researchers and students as a reference or as a general reading in parallelism in logic programs. This is a valuable book for researchers in the area. References [1] John S. Conery, "The AND/OR Process Model for Parallel Interpretation of Logic Programs," Technical Report 204, University of California, Irvine, 1983. [2] Leon Sterling and Ehud Shapiro, "The Art of Prolog," MIT Press, Cambridge, Massachusetts, 1986. [3] Carl Hewitt and Henry Liebeman, "Design Issues In Parallel Architectures for Artificial Intelligence," Proceedings of COMPCONS'84, 1984. The Logical Foundations of Artificial Intelligence. Michael R. Genesereth and NUs Nilsson Morgan Kaufmann 1987 Reviewed by Michael P. Smith Department of Computer Science Duke University Durham, NC 27706 mps@cs.duke.edu This book covers a range of applications of logic to AI, from resolution to reflection. Some of the chapters cover current "hot" topics such as nonmonotonic reasoning and epistemic logic for which textbook summaries have not been available. Each chapter ends with a brief bibliographic essay covering work through 1987. For those w h o haven't kept up with the literature in each of the half-dozen current research areas covered, this book will serve as an admirable vade mecum. It is w e l l designed as a text for a theoretical course in artificial intelligence as well, provided one finds the logical point of view congenial. Genesereth and Nilsson briefly explain their Iogicist approach in an introductory chapter. LFOAI is not a c o m prehensive view of the field. It is concerned exclusively first, with knowledge representation (KR); second, with declarative as opposed to procedural approaches to KR; third, with first-order logic (FOL) (with extensions) as the means of declarative knowledge representation. Many working in AI would disagree with some of these e m phases; probably only a minority share the whole program. For those in this minority, though, the publication of this book is an exciting event. (See McDermott 1987 for a defense of procedural KR.) SIGART Newsletter, April 1988, Number 104 Page 14
/lp/association-for-computing-machinery/book-review-the-logical-foundations-of-artificial-intelligence-by-a6nXuIKLNS