The aim of this book is to introduce people with little or no computing background to artificial intelligence (AI) and cognitive science. It emphasizes the psychological, social, and philosophical implications of AI and, by means of an extended project to design an Automated Tourist Guide, makes the connection between the details of an AI programming language and the `magic' of artificial intelligence programs, which converse in English, solve problems, and offer reasoned advice.
The book covers computer simulation of human activities, such as problem solving and natural language understanding; computer vision; AI tools and techniques; an introduction to AI programming; symbolic and neural network models of cognition; the nature of mind and intelligence; and the social implications of AI and cognitive science.
Each chapter will, in general, present a particular AI topic, with sections on the background to the topic, methods, and applications. These do not assume any previous knowledge of a computer language, and are intended for the reader who wants to gain an understanding of the field without plunging into programming. The foreword and chapter 1 offer an overview of artificial intelligence and cognitive science. The fundamental AI techniques of pattern matching, knowledge representation, and search are covered in chapters 2-4, and these chapters need to be read thoroughly in order to get a grounding in the subject. Chapters 5-9 deal with applications of AI and the techniques of reasoning with stored knowledge. They can be read out of order, or to different depths, although the programming appendix for a chapter will use terms introduced in earlier ones. Chapter 10 is a fairly self-contained discussion of AI and the philosophy of mind. Chapter 11 speculates on the future of AI and its social implications.
Most of the chapters contain an appendix which presents the topic in terms of an AI programming language. The language we have chosen, POP-11, is not the most widely used one for AI (although it is rapidly growing in popularity), but it is a language both for beginners and for advanced research. These aims are not contradictory, since both beginners and advanced programmers need tools that are well designed, and that reveal the structure of the problem at hand. POP-11 is particularly suitable as a way of describing programs on paper, since its appearance is similar to the popular teaching language PASCAL, and it encourages clear, well-structured programs. You do not need to have access to a computer running POP-11; the programs that we use as examples can be followed on the printed page.
Wherever possible we have used plain language and avoided technical terms unless they are an essential part of the vocabulary of AI. Such words are printed in boldface and included in the glossary.
Although this book is intended to give you a good feel for the issues and practicalities of AI and cognitive science, it does not attempt a full coverage of the subject. Nor in general does it go into the details of programming or computer science. It should be seen as the text for a course on ``Foundations of AI and Cognitive Science'' or as a preliminary to more technical texts such as those by Charniak and McDermott (1985), Rich (1983), and Winston (1984) for AI, and Stillings (1987) for cognitive science.
The book arose from a 10-week course for first-year arts undergraduates at Sussex University, also called ``Computers and Thought.'' Most of the students have no previous experience of computing, and many of them are deeply suspicious of what they see as attempts to replace people with computers. As well as introducing them to the tools and methods of AI we have tried to show that, by building models of the mind, we can uncover the fascinating range and detail of human cognition; by attempting, and failing, to build thinking machines we gain respect for living, thinking beings.
One person took prime responsibility for each of the chapters (apart from chapter 5, which was jointly written by David Hogg and Chris Hutchison). Mike Sharples wrote the main draft of chapters 1, 8, and 11. David Young wrote the main draft of chapters 2 and 4. Steve Torrance wrote the main draft of chapters 3 and 10. Chris Hutchison wrote the main draft of chapters 6 and 7. David Hogg wrote the main draft of chapter 9. After comments from independent reviewers, the manuscript was reworked by the original authors and by Mike Sharples, to create a consistent style and to tidy up cross references. We believe we now have the best of both worlds: one coherent textbook, built from chapters written by specialists on their own subject areas.
Over the years the ``Computers and Thought'' course has been revised and polished by many people. We have drawn on course material produced by Aaron Sloman, Steve Hardy, Benedict du Boulay, and Tom Khabaza. We should like to thank them and the other staff, the POPLOG team who developed POP-11, the reviewers who provided detailed comments on the chapters, and the students at Sussex University who have provided the fertile soil for this book. Particularly, we want to thank Robert Bolick of The MIT Press for championing the book and for his patient and helpful advice, Harry Stanton of MIT Press/Bradford Books for easing it through all the stages of production, and Nick Franz for spending many hours with LaTeX turning a manuscript into a book.