• Quick note - the problem with Youtube videos not embedding on the forum appears to have been fixed, thanks to ZiprHead. If you do still see problems let me know.

AI programming books: What are some good ones?

Wowbagger

The Infinitely Prolonged
Joined
Feb 2, 2006
Messages
15,660
Location
Westchester County, NY (when not in space)
I've been a professional software developer for many years now. I've done a bit of everything, on a bunch of different platforms. (Business information systems, mostly.) And, I consider myself generally very well rounded in the realm of software design. Except maybe in one area:

I have discovered that there seem to be huge gaps in my knowledge of artificial intelligence systems - more specifically, the algorithms, and strategies for implementing them.

Since this is one particular field I had not been keeping tabs on, I wouldn't know a great AI book from a humdrum one, at first glance. I was kinda, sorta hoping some folks here could assist me.

I want books with insights into developing algorithms for various things: neural nets, complex adaptive agents, fuzzy logic, and other buzz words like that, etc. (I've already done a lot of simple "rule-based" stuff, of course. That's what most of programming is.)

I also want something relatively modern. Something published within the past couple of years would be preferable.

I do NOT want a book that just glosses over how to utilize preexisting libraries of AI systems. I want to challenge myself with working out some of the nitty-gritty "intelligence" parts, myself.

I do not currently have any professional need for this knowledge, at the moment. This is only to expand my own, personal horizons, in a specific, exciting area I had not previously dabbled in too much.

So, in short, what I am asking is this: What are some good AI programming books?
 
I'm not sure what sort of AI you're interested in; old-skool pre-AI winter stuff, or the more modern machine learning approaches?

If it's the latter, I think Data Mining: Practical Machine Learning Tools and Techniques by Witten and Frank is a pretty good overview. It covers most of the popular algorithms and validation methods, with the exception of neural networks. It also provides some documentation for the GPL'ed Java API weka, so if you want something to tinker with, there's already code there. Much of it is very poorly written, mind you (the code, not the book).

If you want to know about neural networks, Tom Mitchell's Machine Learning covers them. I also recall that the discussion of the basic optimisation methods (backpropagation, steepest descent, conjugate gradient) was pretty lucid. It also covers a bit of PAC learning theory, if you want to get theoretical.

Finally, you could give Hastie, Tibshirani and Friedman's Elements of Statistical Learning a go. This is takes a much more statistical approach to the algorithms, you may find it a bit too mathematical. It's not quite as easy to read as the others. That said, it does include pseudocode descriptions for most of the algorithms, which you might find helpful. Also, I think regression methods are covered best in this book.

I've read a couple of other machine learning books, but none of them added a great deal to the material covered above. You'll get a pretty good coverage of some major areas of machine learning: neural networks, support vector machines, decision trees, genetic algorithms, clustering.

Not seen much action on fuzzy logic and agents in my area of research, though. It looks like there's some material on agents in Norvig and Russell's Artificial Intelligence: A Modern Approach, but I've only flicked through it in the library. It is both expensive, and looks very "textbooky", and I've heard mixed things about it.

ETA: forgot to say, if you only wanted to buy one book, I'd plump for the Witten and Frank book.
 
I'll look into those mentioned thus far.

I've also got a few recommendations from friends, but I left them on one of my other computers. I will throw together a list of of them, soon.

For those who wish to know: I have no preference as to what platform the book targets: Windows, Linux, Mac, or something else. As long as it is relatively modern (no DOS or Win 3.1 books, please).
The language doesn't matter either: C++, VB, Java, or whatever: they're all good, as long as they are relatively modern (no COBOL books, please).
 
Just download R and read some tutorials. Build up your strength with data you cook up ourself. Then try to replicate results from journals with robust data disclosure policies like AER. Then hit those same datasets with different methods (an MLP network instead of logistic regression, a MARS model instead of a linearized model, ...) and you are cooking.
 
A couple of folks I know recommended this book, which I was able to flip through:

AI Application Programming by M. Tim Jones (2nd Ed.):
http://www.amazon.com/gp/product/15...5680-1014442?_encoding=UTF8&v=glance&n=283155

So, I think I will start with that, for now.
I might get a few good AI theory in the near future, but I figured getting into a sampling of actual programming would help steer the direction of my AI desires a bit more.

I am also going to get a couple of AI game programming books, for the same reason. Game AI might not work exactly the same as practical AI, but perhaps I could get started by throwing myself into gaming code for a little while, and engage in more serious and complicated stuff in the future.
At least that strategy worked for me when learning graphics coding.
 
Last edited:
A couple of folks I know recommended this book, which I was able to flip through:

AI Application Programming by M. Tim Jones (2nd Ed.):
http://www.amazon.com/gp/product/1584504218/ref=pd_rvi_gw_2/002-3425680-1014442?%5Fencoding=UTF8&v=glance&n=283155
Looks like it has an emphasis on optimisation algorithms. Still, they're pretty cool, especially particle swarm and artificial ants.

I am also going to get a couple of AI game programming books, for the same reason. Game AI might not work exactly the same as practical AI, but perhaps I could get started by throwing myself into gaming code for a little while, and engage in more serious and complicated stuff in the future.
I suspect gaming AI is one of the more complicated areas!
 
Looks like it has an emphasis on optimisation algorithms. Still, they're pretty cool, especially particle swarm and artificial ants.
Yeah, cool stuff.

Perhaps I will also get a pure theory book, as well. But, this will give me a good jump start.

I suspect gaming AI is one of the more complicated areas!
Yeah, the same is true for graphics! Gaming graphics are usually much more complicated than practical application graphics.

I suspect a bit of theory is different between gaming AI and practical AI, as well. But, we'll see.
 
If you're going to look for some books on AI applied to games, I strongly recommend the "AI Game Programming Wisdom" series. (I'd provide you with a link but a) I can't post links yet and b) I can't access amazon at work :p)

They're definitely not for everyone, since the format is quite strange : each book consists of a series of articles by profesional game developers, usually explaining a particular technique they have used in a commercially available game (and not little sharewares either... we're talking Half-Life, Age of Empires, etc. here). It's more of a 'cookbook' approach that a primer text on the theory of AI, but it's an interesting approach. It also makes for very easy and entertaining reading, since you can pick up the book, spend 15 minutes reading one article and put it down again.

I bought both volume 1 and volume 2 while working on my final school project (6 months spent developing a simplified racing game in a team of 8 students) and found them useful and entertaining; while no article really goes in depth into the detail of a particular technique, it's a great approach of the subject, with some fascinating insight into applying AI to games.
 
If you're going to look for some books on AI applied to games, I strongly recommend the "AI Game Programming Wisdom" series. (I'd provide you with a link but a) I can't post links yet and b) I can't access amazon at work :p)
I've seen those books. I think I prefer AI Game Development by Alex J. Champandard and AI Game Engine Programming by Brian Schwab, for now. I got used copies, to save me some money. Maybe I'll load up on others later.
 

Back
Top Bottom