I have written AI programs before, so I have some real life knowledge of this. However, let get something straight about the computers beating man at chess.
Deep Blue beat the greatest chess player on earth. However, Deep Blue was a super computer with specialized hardware that was made specifically for playing chess. On top of that, Deep Blue had the storage capacity to actually store every possible permutation of the board at a certain level (say, 14 pieces left on the board or something like that.) Therefore, Deep Blue new very early on which states could lead to a win, and would try to force the board to a winning state, even if that state was 100 moves away from the end of the game. Deep Blue played a perfect game, analyzing every game board, and could look tens of turns into the future to see how a single move could be affected if the alternate player played perfectly.
In other words, before you even have a couple of pieces of the board, deep blue could have led you to a winning state and there is no human on earth that can make the sort of computations to tell that in two minutes. The algorithm simply searched for a winning board (marked as such by the programers) and the computer searched for ways to get to that winning board. Not that impressive.
Neural Networks, or genetic algorithms, are the current hype in AI. Essentially you create decision trees with many inputs and many layers. There are weighting functions between each layer of these nodes, and thresholds. Inputs are taken and passed from node to node, with essentially random weighting functions altering the values between nodes. Eventually you get 1 answer out of the entire network.
I built one for a game called mancala. I won't go into details of the game, but essentially there were about 12 different values that I used as inputs to my neural network. My weighting functions were random at first, and I made essentially 100 players with random weighting functions that would play against one another. The top 50 winning players would have their weighting functions altered very slightly, and then repeat. I did this for 50 generations of players over the course of 1 week on my home PC. The result? The first generations of players played randomly and were trivial to beat. The 50th generation of players were incredibly hard and I *never* beat the number one player at the game. My sister in law, who kicks my butt rotuinely, beat the number 1 player once out of 5 games. Amazing results.
The idea is that these inputs matter, but how much? How do they have an affect on one another? The neural network allows them to interact with each other, and the weighting functions allow them to interact at different levels. For example, if a node had a weighting function of .00000001, then its input obviously matters very little in the final outcome.
Edited for spelling crap