||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: Artificial intelligence, machine learning, C code
Title: AI Application Programming
Author: M. Tim Jones
Publisher: Charles River Media
Verdict: A useful book for AI coding, but short on theory
The world of AI has been undergoing something of a renaissance in the last few years. The focus has shifted away from grand plans to build thinking machines to focus more on algorithms and applications. Some of the most interesting work in AI research is in the area of machine learning, particularly those techniques which draw inspiration from nature (evolutionary computation, genetic algorithms etc) and physics (simulated annealing, spin glasses, non-linear systems). However, much of this work, exciting as it is, is locked away in the academic journals and the research departments of universities. For the programmer outside of academia wanting to get into all of this good stuff things can be tricky. Enter then, this book, which is designed to give the working programmer a fast introduction to a wide range of AI algorithms.
The book covers a wide range of techniques, including neural nets, genetic algorithms, ant colony optimisation, swarm intelligence, simulated annealing, fuzzy logic, intelligent agents and more. In fact the range covers nearly all of the major machine learning/AI algorithms with the exception of Bayesian nets and support vector machines.
Each technique is covered in a separate, largely stand-alone, chapter. In addition to an introduction to the technique, and some background on motivation and history, the core of the chapter is a sample working program. This program, coded in C, uses the technique to solve a simple problem. The code illustrates the central algorithm, which is explained in more detail in the text. Additionally each chapter ends with references and a bibliography.
While the book is not completely free of mathematical content, the emphasis is simply on giving some background rather than on proofs or derivations. It's possible to read the book and make sense of what is going on with just a basic knowledge of algebra. Again, the emphasis is on the the practical appliaction of the concepts and algorithms rather than on the underlying theories. However, if you are looking for a fuller explanation and an understanding of the theories than this is not really the right book, and something like Rob Callan's Artificial Intelligence would be recommended instead.
The real appeal of the book definitely lies in the focus on coding rather than theory. Note that the accompanying CD includes all of the source code, so that the reader can compile, run and experiment with the sample programs. It's also worth checking the web site for the book for corrections as there are a couple of places where errors haven't been picked up.
To conclude, this is a useful book for anyone who wants to get to grips with AI programming. However this is not by any means an AI text book, so anyone looking for a more theoretical introduction to AI should look elsewhere.