Can computers think? Well, some might ask if people can think... Is thinking a form of computation? Can mere symbolic processing be equated with thought? These questions have dogged the intellect at least since the days of von Neumann [1,2]. Hector J. Levesque, the author of this text, has an emphatic point of view affirmed by the title, and he does not spend time on philosophical debate with the other side. Thinking emphatically can be represented computationally, and the author shows the logical basis for the formulation as well as the programmatic implementation potential using PROLOG.
After two chapters on the conceptual basis for this approach, Levesque introduces the use of PROLOG over several increasingly detailed chapters, which will serve most introductory users of the language very well. Side details on installations, language variants, and language interface are addressed in appendices.
Seven chapters continue with stimulating case studies, which use PROLOG to demonstrate the ability to simulate thought through programmed computation. These studies cover topics that include interpreting visual scenes, understanding natural language, planning courses of action, and playing strategic games.
The philosophical and ethical meat is in the eight-page final chapter, “Can Computers Really Think?” Unfortunately, this is perhaps the least fleshed out section of the book, and the author gives little attention to the deep ethical and societal dimensions implicit in the book’s earlier material. Much more could have been accomplished in this dimension; however, given its orientation, this is an excellent resource for those who seek to represent “thinking” through computation in PROLOG. It is well worth reading.