Skip to content

April 2, 2012

The false idea that Chess Engine search the right move

In Chess programming, many people seems to think that a modern Chess Engine look for the right move by searching the tree, and it’s all but true.
In fact if you set any Engine to fixed depth of 1-ply, without extension, they will usually give you the best move on first place, or at least a good one, in many positions.

What a Chess Engine is really doing when parsing the tree is trying to find opponent move that refute this first guess, recursively. And for that it apply the same algorithm for opponent moves, beginning by it’s best guess. And if everything is fine, will take the first move on it’s list that is not refuted, or at least seems to give a chance to have a better possible score (as the tree is not fully searched, there’s a part of chance in that!).

Don’t get me wrong, even today with chess program able to beat any human including World Chess Champion, by a huge margin, they didnn’t have the vision of a grand-master. But they are able to have at least some good ideas and check them deeply with their incredible computing power, far deeper than any human. In doing this they avoid moves that seems to be good but reveal themselves erroneous!

Read more from CUDA, OpenCL

Comments are closed.