Today there is a growing recognition of computer science as a laboratory science. In addition to the mathematical theory that supports techniques in subareas such as artificial intelligence, the student needs wor work with actual programs and problems to get a feel for the technology. This book grew out of the perception that hands-on experimentation coordinated with textbook explanations of principles and of actual programs can provide and ideal learning combination for students of a artificial intelligence. The purpose of this book is to provide an up-to-date and didactically coherent introduction to the principles and programming methods of artificial inteliggence. It is appropriate for and undergraduate or first-year graduate course. While it is...