Believable Stupidity In Game AI
Gamasutra is running a feature written by Mick West, co-founder of Neversoft, about creating game AI that is dumb enough to defeat, yet intelligent enough that its "mistakes" are similar to those a real player would make, thus preserving the illusion that the AI is not just throwing the game.
"The simplest way to introduce stupidity into AI is to reduce the amount of computation that it's allowed to perform. Chess AI generally performs billions of calculations when deciding what move to make. ... The problem with this approach is that it decreases the realism of the AI player. When you reduce the amount of computation, the AI will begin to make incredibly stupid mistakes — mistakes that are so stupid, no human would ever make them. The artificial nature of the game will then become apparent, which destroys the illusion of playing against a real opponent. ... By reducing the amount of computation, we create an AI opponent that is trying to win, but has been crippled in a way that leads to unrealistic gameplay."
The solution I found fascinating:
So the idea is that the AI needs to calculate precisely where you are, and then rather than hit you if the preferences are set to "hard" or miss you on the "easy" setting, probabilistically make a decision based on what a weaker or stronger human player would do. It's was a great read!
Gentlemen! You can't fight in here, this is the war room!
That's not what I got out of the article.
What I took away was have your opponent play it's strongest, but make exploitable situations for the player. Make a pool shot so they human starts in a good position. Make a chess move that, while beneficial, opening a big possible hole for the player to exploit. Make the FPS bot run for cover at the wrong moment, but not randomly/suicidally.
(those are all from the article)
Basically make the AI make human like mistakes (mistakes in strategy) instead of "computer like" mistakes (just lowering their accuracy, not looking far ahead, etc).
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
Actually, he is saying the opposite. He is saying that by reducing the number of calculations per second, you create an unrealistic opponent. Instead, you must do additional calculations to model the mistakes that a human would make. Our problem is not that we don't do enough calculations, but that we make mistakes in our calculations. We are inaccurate, we jump to conclusions, we get excited, or calculate one branch of the tree very deeply while ignoring another one. Those types of things are tough for computers to do.
Well, I don't know Kasparov and I'm not a history expert, but I'm willing to bet that because he beat Deep Blue in 1996, he just figured he could do it again with no problem. He probably underestimated how much Deep Blue had improved, but that's just my speculation.
I don't know Kasparov's motivations for playing Deep Blue at all, honestly. Beating Deep Blue wouldn't have won him any fame ("Oh look, he beat a computer. Computers suck at chess anyway."), but losing would look bad for him. He had nothing to gain and plenty to lose. I know after he lost the match, he demanded a rematch, but IBM refused and put Deep Blue out of commission. IBM had nothing to gain by beating Kasparov again, and their stocks had already started going up when the news got out that they had beaten the grandmaster (to their great pleasure, history did indeed forget the shady details I mentioned before, just as they hoped).
At the time that Deep Blue was being used, there was more of a focus on brute force search than tricky AI game play. Deep blue searched an average of 130 million nodes a second using a iterative-deepening alpaha-beta search, sometimes able to look 40 moves ahead. IBM declined a rematch after that game, but thanks to improvements in AI, a standard desktop PC running improved search algorithms is now a suitable match for even a grandmaster.
Deep blue also contained an 'opening book' of 4000 positions and 700,000 grandmaster games indexed.
Source: Artificial Intelligence A Modern Approach: Russell, Norwig