I remember hearing a while back about the DARPA challenge that had life size cars navigating desert roads. While many failed, there were many that also succeeded. More recently DARPA had its urban challenge (http://www.darpa.mil/grandchallenge/index.asp) and some cars completed that course as well. It was pretty hilarious to watch some of them crash and burn or get stuck in a loop. Even though the cars could make it through the urban challenge, I don't think they could make it in the center of Cairo with the rapidly changing traffic patterns and so much action. Maybe if it went really really slowly...
Datamining is also quite possible. Neural networks are often used as they are particularly good at finding patterns in data efficiently but, if I remember correctly, they need to be trained before hand and often require lots of data.
"I play FIFA '09, or watch my roommate play, enough to know that the AI in that game certainly makes a great game of soccer even if it cheats somtimes ;D."
ReplyDeleteI hate it when AI in video games obviously resorts to cheating to gain an edge on the player in the harder difficulty settings. I still wonder why game developers use this approach rather than making their AI use better strategies. Maybe that is just me being ignorant on how hard it really is to make competent game AI. Hopefully we will learn a little bit about this in class.
It appears that making a strong AI for video games is exceptionally difficult (for many games anyway). Certainly it has some obvious advantages because it is a computer like near instant reflexes and perfect accuracy, but when it has to come up with strategy, we move into the realm of hard AI problems.
ReplyDeleteIn strategy games like C&C/Starcraft/etc the world is non deterministic and the agents have incomplete information, so approaches that work for chess/checkers/tictactoe are not particularly helpful. I don't know of a really good way to build a competent AI in this genre, and I don't think anyone else does either.
I have looked at the AI for Warcraft 3 (another strategy game with the same properties) and what they do is build in specific actions to take in reaction to what it sees. At the start of the game, it has a set of moves to perform, then it adjust them based on what the opponent does. The way it adjusts them is not very smart at all, since they are so specific (if you see this unit, build that unit for example). They are limited by what was specified by the programmer, which can only go so far.
In the end, they resort to 'cheating' to make it stronger by increasing the rate it gets resources. However, to any human that knows how it is programmed to react, it still becomes trivial to exploit no matter how much it cheats.