We list a few books and articles recommended for additional reading on the topics of this book. We've grouped related entries together.
General artificial intelligence:
Winston, P. H., Artificial Intelligence. second edition. Reading, Mass.: Addison-Wesley, 1984. Useful for basic understanding of artificial intelligence.Charniak, E. and McDermott, D., Introduction to Artificial Intelligence. Reading, Mass.: Addison-Wesley, 1985. A well-balanced, reasonably detailed treatment of the field at a more advanced level than ours. Also a good source for further information. Uses examples in Lisp.
Gevarter, W. B., Intelligent Machines: An Introductory Perspective of Artificial Intelligence and Robotics. Englewood Cliffs, N. J.: Prentice-Hall, Inc., 1985. A short summary of the key ideas in artificial intelligence.
Reitman, W., (ed.), Artificial Intelligence Applications for Business. Norwood, N. J.: Ablex, 1984. An interesting collection of articles surveying of the major commercial applications of artificial intelligence.
Feigenbaum, E., and McCorduck, P., The Fifth Generation: Artificial Intelligence and Japan's Computer Challenge to the World. Reading, Mass.: Addison-Wesley, 1983. A non-technical, general-audience book arguing for the critical importance of artificial intelligence in the world's future. Controversial but interesting reading.
The language Prolog:
Clocksin, W. and Mellish, C., Programming in Prolog. second edition. Berlin, B.R.D.: Springer-Verlag, 1984. A well-written introduction to Prolog as a programming language, including features not covered in our book. Uses a dialect containing ours.Sterling, L. and Shapiro, E., The Art of Prolog. Cambridge, Mass.: MIT Press, 1986. A more detailed introduction to Prolog.
Bratko, I., Prolog Programming for Artificial Intelligence. Reading, Mass.: Addison-Wesley, 1986. Despite its title, mostly a programming language textbook in the manner of Clocksin and Mellish. But it has additional chapters on implementing search in Prolog (Chapters 11, 12, 13, and 15) corresponding to much of our Chapters 9 and 10, a chapter (Chapter 14) on expert systems covering parts of our Chapters 7 and 8, and some material on resolution (Section 16.3) corresponding to the program in our Chapter 14.
Ennals, R., Artificial Intelligence: Applications to Logical Reasoning and Historical Research. New York: Wiley, 1985. A good non-threatening introduction to Prolog for students without strong computer science backgrounds. Helpful for people finding the early chapters of our book tough going.
Clark, K., and McCabe, F., Micro-Prolog: Programming in Logic. Englewood Cliffs, N. J.: Prentice-Hall International, 1984. An introduction to the Micro-Prolog dialect.
Cohen, J., "Describing Prolog by Its Interpretation and Compilation, Communications of the ACM, 28, 12 (December 1985), 1311-1324. A good survey of Prolog from a programmer's point of view.
Subareas of artificial intelligence:
Waterman, D., A Guide to Expert Systems. Reading, Mass.: Addison-Wesley, 1986. A good introduction to expert systems, though not very technical. Extensive bibliography.Hayes-Roth, F., Lenat, D., and Waterman, D., (eds.), Building Expert Systems. Reading, Mass.: Addison-Wesley, 1983. A more detailed consideration of issues in building expert systems.
Winograd, T., Language As a Cognitive Process, Volume I: Syntax. Reading, Mass.: Addison-Wesley, 1983. Overview of the grammar (syntax) side of the natural language subarea.
Schank, R. and Abelson, R., Scripts, Plans, Goals, and Understanding. Hillsdale, N.J.: Lawrence Erlbaum, 1977. An integrated discussion of natural-language semantics, frames, and planning. Quite readable.
Special Section on Architectures for Knowledge-Based Systems, Communications of the ACM, 28, 9 (September 1985), 902-941. Contains three good overview articles on frames, rule-based systems, and logic programming.
Ballard, D. and Brown, C., Computer Vision. Englewood Cliffs, N.J.: Prentice-Hall, 1982. An overview of the vision subarea of artificial intelligence.
Wos, L., Overbeek, R., Lusk, E., and Boyle, J., Automated Reasoning: Introduction and Applications. Englewood Cliffs, N. J., Prentice-Hall, 1984. Discusses use of a general-purpose theorem prover (based on extensions of resolution) for making inferences for interesting problems. A friendly book with lots of interesting examples, but its theorem-prover is more powerful than Prolog and so programming it is different.
Maier, D., "Databases in the Fifth Generation Project: Is Prolog a Database Language?", in New Directions for Database Systems, Ariav, G. and Clifford, J., eds. Norwood, N.J.: Ablex, 1986, 18-34. Good survey of the considerations necessary to make Prolog efficient with large databases of facts and rules.
Fishman, D., "The DBMS--Expert-System Connection", in New Directions for Database Systems, Ariav, G. and Clifford, J., eds. Norwood, N.J.: Ablex, 1986, 87-101. Explains how database design considerations are important for expert systems.
Michalski, R., Carbonell, J., and Mitchell, T., eds., Machine Learning: An Artificial Intelligence Approach. Palo Alto, Ca.: Tioga, 1983. Collection of articles summarizing the learning subarea.
Goldberg, A., and Robson, D., Smalltalk-80: The Language and Its Implementation. Reading, Mass.: Addison-Wesley, 1983. An overview of the object-oriented programming language Smalltalk.
Winston, P., and Horn, B., Lisp, second edition. Reading, Mass.: Addison-Wesley, 1984. A sequel to Winston's Artificial Intelligence which shows how to write some interesting artificial intelligence programs in Lisp. It illustrates well how Lisp programming is different from Prolog programming.
General background:
Mendelson, E., Introduction to Mathematical Logic. Princeton, N.J.: Van Nostrand, 1964. Just one of many good textbooks on logic from a mathematical perspective.Tenenbaum, A., and Augenstein, M., Data Structures Using Pascal. Englewood Cliffs, N.J.: Prentice-Hall, 1981. Good coverage of the basics of data structures and recursion.
Zwass, V., Introduction to Computer Science. New York: Barnes and Noble, 1981. Basic survey of the fundamentals of computer science necessary for understanding artificial intelligence.
Wulf, W., Shaw, M., Hilfinger, P., and Flon, L., Fundamental Structures of Computer Science. Reading, Mass.: Addison-Wesley, 1981. A more advanced presentation than the preceding. Good coverage of data structures, recursion, and implementation of traditional programming languages.
Kolman, B. and Busby, R., Introductory Discrete Structures with Applications. Englewood Cliffs, N.J.: Prentice-Hall, 1987. Survey of the mathematical fundamentals necessary for artificial intelligence.
Longley-Cook, L., Statistical Problems and How To Solve Them. New York: Barnes and Noble, 1970. Just one of many good introductions to statistics and probability. This one is quite friendly.
Lindsay, P. and Norman, D., Human Information Processing. New York: Academic Press, 1972. Well-written introduction to the tie-ins between artificial intelligence and research in human cognitive psychology.