Why are chess engines so strong?
In 1997, IBM's Deep Blue defeated the legendary world chess champion Gary Kasparov and this was a beginning of dominance of computers over humans in chess. But how do engines work? In this article, I am going to outline the basic ideas of how chess engines work, how are they different from artificial intelligence chess, which is stronger, which is closer to human and why they dominate humans.
So is for example Fritz (most of you have used this in Chessbase) an artificial intelligence program? No, in a sence that it has predefined algorithms. The way any engine works is by basically have some way of evaluating the position using only material, and then when searching for a move to play, the engine perform a search in a tree (a tree is an abstract mathematical construct) which evaluates positions as far as it can go and selects the path in the graph that leads to best result. The problem is that chess engines waste a lot of time considering positions, that a human would evaluate quickly. This is why humans are still able to compete with computers, even though a chess engine can calculate billions of positions while a person evaluates two or three. But a chess engine is a idempotent machine; which means that even if you show him that his evaluation is wrong and get back to the same position, he would still show the same best move, the same evaluation. A chess engine does not evolve.
Using advanced techniques in statistics, machine learning and programming one could develop a true learning chess program, that learns from what happens and updates and evolves as new experiences come in. To create such program, one should show it games from database. The technique is called deep learning. Playing with such programs feels like playing with another human.
Which is better? The intelligent, adapting program or the brute force of chess engines? At the moment of writing, the brute force (engines like Fritz, Rybka etc.) is definitely stronger. The best deep learning program plays at International Master level, even some humans can beat it. But chess engines using brute force are very strong, and they are better than any human.
In conclusion, there will be exciting discoveries in this area in the future. A combination of both brute force engines and intelligent deep learning programs would be awesome to see. Sadly, probably chess will not be as enjoyable playing against such a titan.
How about other games like Poker? This is very similar to Chess as it's solely based on human decisions. You are only competing against your opponents, unlike other casino games where you play against the house. So with Poker it is quite easy to develop AI. You can play millions of hands every year online. You can gather all kinds of stats from databases and real games played. The only problem is that poker sites are pretty good at identifying artificial patterns and block these players instantly. That's why online poker is still alive and not yet dead.