Friday, January 21, 2011

AI playing games

http://www.wired.co.uk/magazine/archive/2011/02/play/the-brain-game

http://www.npr.org/2011/01/08/132769575/Can-A-Computer-Become-A-Jeopardy-Champ

http://www.npr.org/2011/01/16/132959095/googles-artificial-intelligence-translates-poetry

These are some interesting applications but fairly specialized solutions to a bounded problem.
Even the translation engine is fairly straight forward, ignoring the internal complexity of the parts of the solution.  All the AI's are still a matter of selective brute force attacks. There is some variation in the ways they optimize the data either before, during or after the brute force is applied but its not particularly novel.


The GO engine optimizes the search tree by selective pruning. The fact that they are using a trained algorithm to generate the pruning system is a good solution to a large permutation problem.  It would be interesting to see what the training data set was derived from. The article suggested it was 250,000 games played since somewhere back in the day.

I would be more interested in an algorithm that classified each games that was played by length of moves and "Cleaverness".

It would also be interesting to break each game up into blocks of moves of say 20 moves. Then evaluate each block of moves for how each player "felt" about the strength of their position at in each block. You could even go down to the strength of each particular move made in the block.  This would give you the ability to select moves and whole games based on the way that the games progressed. The ebb and flow of dominant vs weak positions.
It would be much more interesting to be able to build and engine that could take a weak position and turn it into a strong position or play a strategy that played a strong position into a weak position but knowing it was possible to take a win from it.

This kind of strategy would not always produce an unbeatable computer opponent but it would produce an AI that could "play" with the game in a more whimsical fashion. Think of it more as a training partner rather than an opponent. You could ask it for a hard game with a win end or an easy game with an uncertain end for instance.

Having the AI be able to choose from a set of possible moves that it could use to engage and excite the opponent would be so much more interesting and engaging than just having an AI that beat you by being faster at processing a search tree.

No comments:

Post a Comment