« January 2006 »
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
15
17
18
19
20
22
23
24
25
26
27
28
29
30
31
    
       
Today

FEEDS

SEARCH



LINKS




CONTACT
tilmannsblog
Template by
Helquin

Friday Jan 13, 2006

AI Application Programming


AI Application Programming Techniques I recently reviewed an interesting book for Stickyminds.Com:

AI Application Programming, 2nd edition
Author: M. Tim Jones
Pages: 473	Published: 2005
Publisher: Charles River Media	ISBN: 1584504218
M. Tim Jones' book “AI Application Programming” is a practical and inspiring introduction into a variety of artificial intelligence programming techniques. This book is ideal for readers who want to become familiar with a variety of artificial intelligence application programming techniques without delving into much detail on any one technique.

Locust Swarm - Swarm Intelligence M. Tim Jones reviews 15 Artificial Intelligence (AI) programming techniques from Classifier Systems to Simulated Annealing. Jones begins by reviewing the history of AI from the 1940s to the present, and he concludes his book by a review of the present state of AI. The main part of the book is dedicated to the overview of programming techniques.

Each technique is described in general terms to convey the purpose and motivation of each technique, and to provide the context of who developed the technique and why. With this background we move on to a brief overview of how the procedure operates, guided by diagrams and small example problems. One of the most useful resources this book provides is source code in the C programming language for a simple implementation of each technique. Jones walks us through the more interesting functions of each implementation to illuminate programming techniques used to transform the technique from idea to executable. The complete source is provided on a CD which is included with the book. There is an even balance between the general description of each technique and the source code review.

Alife - Artificial Life The A-Star path finding algorithm is covered first in Jones book, followed by the newer Simulated Annealing technique which aims to find global maxima instead of suboptimal local maxima. Next, we find the fascinating Particle Swarm Optimization method which can track moving targets, and the Adaptive Resonance Theory which finds application in personalization solutions that can help recommend likely choices in shopping application and other similar systems. The Classifier System serves to link conditions to actions, and the Ant Algorithm explores environments to find hidden targets. The book also covers the equally useful techniques of Neural Networks, Reinforcement Learning, Genetic Algorithms, Artificial Life, Rule-Based Systems, Fuzzy Logic, Natural Language Processing, Bigram Model, and finally Agent-Based Software.

Fuzzy Logic This book has many advantages not easily found in other texts. The organization of the material is clear and simple. One chapter is dedicated to each technique with a few well-designed subsections with various details. Each chapter stands on its own, and the reader can easily focus on just a small number of techniques of interest, or skip over some of the techniques.

Working source code in the C programming language is included for each technique, and this code makes the book immediately useful for anyone beginning to develop software with artificial intelligence capabilities. The source code of the key functions of every programming technique is reproduced in the book as part of each chapter along with the author's review of the code at a fairly detailed level.

Every AI programming technique is also illustrated with a variety of diagrams, tables and session transcripts from program runs. Jones' writing style is unassuming and straight forward, and that is all the more helpful considering the complexity of the subject matter. Another key feature is the fairly broad selection of over a dozen different techniques, helping readers appreciate the diversity of practical artificial intelligence programming techniques.