PART 1 • Crunching the numbers
this in actual practice, but when you get right down to it, that ' s what we all do as we play – we assess the current position, look at candidate moves for both players( repeating this for as many moves ahead as we can envision), and then reassess the resulting positions.
( And while we ' re here, do you want to know the big difference between how an average player evaluates positions compared to a grandmaster? A grandmaster considers better candidate moves than the average player does. It ' s pretty much as simple as that. [ Grandmaster Yasser Seirawan talks about this in the PBS Nova episode about computer chess.])
Chess computer engines basically do the same thing as humans, just a few million times faster, and by reducing the problem to a mathematical formula. A chess engine uses a complicated formula, called an algorithm, to evaluate a position. Going back to our chess tree example, a computer would look at the position after 4. Bxc6 and then refer to its algorithm to come up with a numerical evaluation of the position. Many, many chess factors are assigned numbers in the engine ' s algorithm. These factors include really simple things, like material – who has more pieces on the board. Other factors include space and mobility( whose pieces can move to, and thus control, more squares), pawn structures( factors such as pawn islands or backward and isolated pawns), King safety( is the opponent ' s King in an exposed spot?), and scores of other similar chess ideas. Each factor is assigned a number by the programmer( and different chess programmers assign different values, which is why all chess engines don ' t play chess the exact same way) – the numbers are plugged into the algorithm, the calculations are made, and BOOM! The position is assigned a numerical value, an evaluation of the position.
In our example, the chess engine would look at the position after 4. Bxc6 and assign it an evaluation. Then it would move ahead one ply and evaluate every Black reply to 4. Bxc6. Then it would move ahead another ply and evaluate all of White ' s responses to every possible Black move, assigning each new board position a numerical evaluation. And on and on, evaluating millions of positions a second( on present day hardware).
But due to the size of the game tree we considered earlier, even Houdini 2, evaluating 3 million positions a second on a home PC, would tend to bog down after just a few moves. Going way back to our chess tree example, in which four moves for each player results in over 650 billion chess positions, it would take Houdini 2 more than two hundred thousand seconds( over sixty hours) to look just four moves ahead if it had to consider every single position. That ' s why chess engines prune the chess tree( and, yes, that ' s the actual technical term. Gardening again). Moves
55 chessking. com