Good Books on AI
I've been wanting to expand my knowledge of AI, and I was wondering if anyone could recommend some Intermediate Level AI books?
AI Background: Understand different Searching Techniques (learned Breadth-First, Depth-First from a Data Structures course - implemented A* on my own from the code I used for the Breadth-First for my data structures course). I have implemented some game-specific AI for my own projects, but I am not sure if I am going about it the right way (or if there is a right way).
I realize that some people will say that pathfinding is not AI, but I am looking for an AI book that doesn't focus on tried and tested pathfinding techniques as I already understand how they work (i.e. Breadth-First, Depth-First, A* and while I have implemented others like Dijkstra's, I hear they are pretty similiar).
I was thinking about buying AI Game Programming Wisdom. I was reading it a little in the bookstore (it seemed like a nice book) and I was able to understand the material I looked at. Are there better books on AI that someone would recommend? I would be interested in anything that assumes you know pathfinding algorithms and dives into more game-specific techniques. It doesn't need to be game-specific either; if there is a good book on gereral theory I would be interested in it as well.
Quote:
but I am not sure if I am going about it the right way (or if there is a right way).
Belief me you are going the right way. Just the plain theory ain't enough.
I started myself with A* as well.
Quote:
I realize that some people will say that pathfinding is not AI
This is absolutely wrong! Pathfinding problems do count as AI. Actually
it is even part of the classical AI. ->Searchproblems
For the very beginning AI which practically do not cover any
searchproblems I suggest:
-Mat Buckland's book on AI Techniques for game programming.
-For a more generic book in game AI I'd rather suggest AI Game Engine Programming from Brian Schwab.
To dig in very deep into AI I suggest Machine Learning from Tom Michell.
But be aware that this book is quite hard to read because it really is
very theoretical and mathematical. So this book goes far beyond game AI.
Most game-AI books cover GA and Neural Networks nowadays because those
topics seem to be liked by the audience.
But note this: They are not always applicable for things.
FSM's and FuSM's are sometimes easier and just more practical then the others.
Naturually it is kinda cool to apply GA for exploring the map.
But ain't it a little bit taken from too far?
Finally they're a bunch of concepts, algorithms and principles which can
be applied in different regions. The best is just learning by doing.
And now you did confont yourself with search-problems. You might want to
contiue on to GA and Neural Networks. They're really amazing.
Back to the books:
I've got all of them. And I think they were all worth the money I've spent.
But this is because it is my major. But if it ain't yours you better be
careful in spending hundres of dollars in books!
I hope my opinion was any help to you.
[Edited by - snufer on April 11, 2005 8:31:30 AM]
Check out the table of contents for my books. They may appeal. See the link by my sig.
The Wisdom books are also excellent.
The Wisdom books are also excellent.
My Website: ai-junkie.com | My Books: 'Programming Game AI by Example' & 'AI Techniques for Game Programming'
Quote: Original post by fup
Check out the table of contents for my books. They may appeal. See the link by my sig.
The Wisdom books are also excellent.
Hey Mat is that you? Your book is really great...(AI Techniques for Game Programming)
I got one suggestion though: Topic Supervised Learning: Instead of explaining
supervised learning with mouse gestures I would have explained the concepts by the minesweeper project as well. (i.e: Collision avoidance with supervised learning that would have been cool...) It is really only my point of view.
But thats really all. Hats off! Great work. Very applicable...
Thanks for the replies. I'll read over the ToC more for AI Game Engine Programming and the Wisdom books. Taking a quick glance at some of the topics in Programming Game AI by Example, I already am using some of them in my programs (FSMs, Fuzzzy Logic) and know about some others (pathfinding, graphs). The scripting with LUA would be new to me, but probably not enough to justify getting the book (other than a great reference). I realize that there are some other topics and great examples, but after browsing through the book at my Univ. library, it really didn't seem to be the level of complexity I was looking for.
Also, when I said, "I am not sure if I am going about it the right way", I should have noted that I am trying to make my NPCs "learn" over time (i.e. Handle cases they're not specifically programmed to). So I'm actually looking for something that contains some information about machine learning or genetic algorithms.
I realize that many games use FSMs as their primary method for AI, but I would like to intergrate either genetic algorithms or machine learning into my next project. I've read that success with machine learning in games has been minimal, but I believe that in a few years AI will be playing a much bigger role in games than it is today. With that said, it wouldn't be a bad thing to know how the AI in different genres of games is implemented, so I'm actually leaning towards AI Game Engine Programming provided that I can verify that it at has some information on the topic of machine learning or genetic algorithms.
Also, when I said, "I am not sure if I am going about it the right way", I should have noted that I am trying to make my NPCs "learn" over time (i.e. Handle cases they're not specifically programmed to). So I'm actually looking for something that contains some information about machine learning or genetic algorithms.
I realize that many games use FSMs as their primary method for AI, but I would like to intergrate either genetic algorithms or machine learning into my next project. I've read that success with machine learning in games has been minimal, but I believe that in a few years AI will be playing a much bigger role in games than it is today. With that said, it wouldn't be a bad thing to know how the AI in different genres of games is implemented, so I'm actually leaning towards AI Game Engine Programming provided that I can verify that it at has some information on the topic of machine learning or genetic algorithms.
Quote:
It doesn't need to be game-specific either; if there is a good book on gereral theory I would be interested in it as well.
Well, it certainly isn't specifically aimed at game AI, but does cover a lot of AI relevant to games, but have you looked at Artificial Intelligence: A Modern Approach?
snufer: thanks. :) Glad you enjoyed the book.
wyrzy: You're not going to find much information on machine learning applied to video games as game developers for many reasons (some good, some bad) are *extremely* reluctant to utilize such techniques. There are some exceptions. You can find an article at my website about how ANNS were used in Colin McCrae's Rally3. There's an article by Richard Evans in AIGPW1 about the architecture of the creatures in Black & White and there are lots of snippets by the creator of Creatures online here (http://fp.cyberlifersrch.plus.com/creaturesarchive/creatures_history.htm)
So, if machine learning is your thing, and you feel comfortable with math then you should check out the following:
An Introduction to Genetic Algorithms, Melanie Mitchell
Reinforcement Learning, Sutton and Barto
An Introduction to Neural Networks, Kevin Gurney
My other book ("AI Techniques...") is a good intro to GAs and ANNs but it's very pragmatic and may not go into the mathematical depth you're looking for. Check it out though if your library has it.
Also, Alex Champandard's book is worth checking out. He has some machine learning stuff in there.
Have fun!
wyrzy: You're not going to find much information on machine learning applied to video games as game developers for many reasons (some good, some bad) are *extremely* reluctant to utilize such techniques. There are some exceptions. You can find an article at my website about how ANNS were used in Colin McCrae's Rally3. There's an article by Richard Evans in AIGPW1 about the architecture of the creatures in Black & White and there are lots of snippets by the creator of Creatures online here (http://fp.cyberlifersrch.plus.com/creaturesarchive/creatures_history.htm)
So, if machine learning is your thing, and you feel comfortable with math then you should check out the following:
An Introduction to Genetic Algorithms, Melanie Mitchell
Reinforcement Learning, Sutton and Barto
An Introduction to Neural Networks, Kevin Gurney
My other book ("AI Techniques...") is a good intro to GAs and ANNs but it's very pragmatic and may not go into the mathematical depth you're looking for. Check it out though if your library has it.
Also, Alex Champandard's book is worth checking out. He has some machine learning stuff in there.
Have fun!
My Website: ai-junkie.com | My Books: 'Programming Game AI by Example' & 'AI Techniques for Game Programming'
[edit]@MDI: I'll take a look at Artificial Intelligence: A Modern Approach(need to get to class)[/edit]
Mat, thanks for the links to those books. Maybe my original post was misleading, but thats more of what I was looking for. I have read about some of the problems to machine learning in games, but I'd still like to experiment in that area. Taking a quick look at all three of them, "Reinforcement Learning: An Introduction" looks to be just what I was looking for (Amazon had the "Look Inside this Book"). It appears to apply the concepts of machine learning to real problems, which is what I am looking to do, as opposed to being completely involved with theory. Once I understand how to apply machine learning to real problems, I believe they could be applied to games as well in a few years when most computers have multiple cores and the graphics and physics in games is nearly realistic.
The math is no problem, its just the the university I'm attending only has 1 course in artificial intelligence, and its at the graduate level, so I can't exactly take that right now (I'm thinking of transfering). I appreciate you pointing out those books.
Mat, thanks for the links to those books. Maybe my original post was misleading, but thats more of what I was looking for. I have read about some of the problems to machine learning in games, but I'd still like to experiment in that area. Taking a quick look at all three of them, "Reinforcement Learning: An Introduction" looks to be just what I was looking for (Amazon had the "Look Inside this Book"). It appears to apply the concepts of machine learning to real problems, which is what I am looking to do, as opposed to being completely involved with theory. Once I understand how to apply machine learning to real problems, I believe they could be applied to games as well in a few years when most computers have multiple cores and the graphics and physics in games is nearly realistic.
The math is no problem, its just the the university I'm attending only has 1 course in artificial intelligence, and its at the graduate level, so I can't exactly take that right now (I'm thinking of transfering). I appreciate you pointing out those books.
A few topics that may eventually make it into game AI in the future can be found in these books.
Swarm Intelligence
by Russell C. Eberhart, Yuhui Shi, James Kennedy
-a great book from the original creators of the Particle Swarm Optimization algorithm
Swarm Intelligence: From Natural to Artificial Systems (Santa Fe Institute Studies in the Sciences of Complexity Proceedings)
by Eric Bonabeau, Marco Dorigo, Guy Theraulaz
-Ants and other natural swarms may pose interesting solutions as well
Evolutionary Computation : Toward a New Philosophy of Machine Intelligence
by David B. Fogel
-This is the book for studying evolutionary computation
Note: This next part is mostly personal opinion
Personally, I feel that most people will start moving towards evolutionary computation. AI is such a vague and self-destructive field that research in it will become harder. Thing is, one researcher once said that to study AI, you must first define what "intelligence" is. However, Knuth posed the question of "what is artificial?" Because of the general ambiguity, personally, I feel it has made it hard to define what is AI and what is not. However, the GAs, swarming, and emergent behavior stuff are actually part of the field of evolutionary computation (EC). Game developer will slowly move in that direction as things get more complex.
Reminder: the last paragraph is mostly personal opinion
Swarm Intelligence
by Russell C. Eberhart, Yuhui Shi, James Kennedy
-a great book from the original creators of the Particle Swarm Optimization algorithm
Swarm Intelligence: From Natural to Artificial Systems (Santa Fe Institute Studies in the Sciences of Complexity Proceedings)
by Eric Bonabeau, Marco Dorigo, Guy Theraulaz
-Ants and other natural swarms may pose interesting solutions as well
Evolutionary Computation : Toward a New Philosophy of Machine Intelligence
by David B. Fogel
-This is the book for studying evolutionary computation
Note: This next part is mostly personal opinion
Personally, I feel that most people will start moving towards evolutionary computation. AI is such a vague and self-destructive field that research in it will become harder. Thing is, one researcher once said that to study AI, you must first define what "intelligence" is. However, Knuth posed the question of "what is artificial?" Because of the general ambiguity, personally, I feel it has made it hard to define what is AI and what is not. However, the GAs, swarming, and emergent behavior stuff are actually part of the field of evolutionary computation (EC). Game developer will slowly move in that direction as things get more complex.
Reminder: the last paragraph is mostly personal opinion
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement