Synopses & Reviews
This entertaining book is designed for the reader who enjoys thinking about new technologies and how to use them in solving practical problems. It provides reusable software modules for specific applications, as well as the methodology and spirit required to master problems for which there is no obvious solution. This book is for AI novices who want to learn new technologies and increase their capabilities and for AI professionals who want reusable application-oriented software modules to use in building their own systems. Each chapter contains background information and theory, a discussion of sample programs, program listings and output, additional information on the sample programs, and suggested exercises. Chapters use engaging real-world examples such as speech and handwriting recognition using neural networks, natural language processing with an example database interface, expert system shells, computer chess game, chaos theory, and fractal generation programs. The text assumes a reading knowledge of LISP and the implementation ability of a set of graphics primitives used for simple graphics operations. While all examples are implemented in Common LISP, the examples are also portable to other LISP dialects. The neural network and fractal examples are also portable to other languages such as C and Pascal.
Synopsis
While creativity plays an important role in the advancement of computer science, great ideas are built on a foundation of practical experience and knowledge. This book presents programming techniques which will be useful in both AI projects and more conventional software engineering endeavors. My primary goal is to enter- tain, to introduce new technologies and to provide reusable software modules for the computer programmer who enjoys using programs as models for solutions to hard and interesting problems. If this book succeeds in entertaining, then it will certainly also educate. I selected the example application areas covered here for their difficulty and have provided both program examples for specific applications and (I hope) the method- ology and spirit required to master problems for which there is no obvious solution. I developed the example programs on a Macintosh (TM) using the Macintosh Common LISP (TM) development system capturing screen images while the example programs were executing. To ensure portability to all Common LISP environments, I have provided a portable graphics library in Chapter 2. All programs in this book are copyrighted by Mark Watson. They can be freely used in any free or commercial software systems if the following notice appears in the fine print of the program's documentation: "This program contains software written by Mark Watson." No royalties are required. The program miniatures contained in this book may not be distributed by posting in source code form on public information networks, or in printed form without my written permission.