rss
 
comment(s)

archives
J|F|M|A|M|J|J|A|S|O|N|D
(20##) 10 9 8 7 6 5 4 3 2 1 0 <
 
DesktopWeb FormText   AI book recommendationsSun, 03 Oct 2004 18:10:49 GMT # 

just finished 2 more, and both are highly recommended: AI Application Programming (M. Tim Jones) and AI Techniques for Game Programming (Mat Buckland)

Application Programming is a tour of various 'weak AI' techniques. i know 'weak AI' sounds negative ... but it is not. the book covers: Simulated Annealing, ART, Ant Algorithms, Backprop Neural Nets, Genetic Algorithms, Artificial Life, Expert Systems, Fuzzy Logic, Hidden Markov Models, and Intelligent Agents. there is a chapter on each one of these techniques. each chapter does a great job of introducing the concept and giving a simple example to start off. the minimum amount of math is provided, and if necessary, examples of the math is given. then the chapters move into a more complex example with C source code to explain what is going on. each chapter ends explaining what problems that technique is best applied to and a list to other resources. e.g. the GA chapter started out with an example on Genetic Algorithms but ended up with an example on Genetic Programming. this is a wonderful book for programmers that want to start learning AI

Game Programming goes more in depth with Genetic Algorithms, Neural Networks, and combinations of both. it is mostly about AI, and the examples just happen to be about Games. it starts out with basic Windows Programming in C++ (just skip those chapters). the 2nd part is about Genetic Algorithms and how you can evolve your programs to learn algorithms. the 3rd part is about Neural Networks. it starts out with MultiLayer Adaline Networks at 1st, and uses genetic algorithms to train them in a somewhat unsupervised way. then it uses BackPropogation Neural Nets and supervised training. finally, it introduces EANN (Evolutionary Artificial Neural Networks). EANNs use evolutionary techniques to determine what the topology of the Neural Net should be. e.g. how many layers, how many nodes in each layer, what the connections should be, and their weights. this was new to me ... and honestly i'm not ready for it yet ... but i do know there is already a C# implementation called SharpNEAT