by Steve Lopez

Many years ago, it was not uncommon for chessplaying programs to provide, ahem, limited information in their engine displays. You'd click on a function designed to show what the chess engine was "thinking" and you'd get one move. That's it -- just a single move. Not a variation, no alternative moves, sometimes not even a numerical evaluation -- just a move. Needless to say, this wasn't very satisfying, much less informative.

Today's chess programs are designed to provide much more extensive information; sometimes this info's even available in a variety of selectable formats. For example, consider the basic engine display in ChessBase 8:

This is the standard "vanilla" display you'll get when you hit ALT-F2 to start the default engine, or hit F3 and select an engine from the list. You get a bit more information in this display than just a single move (as was the case with old chess programs from years ago). You get a variation line (in this case, it ends after just four plies because there are two or more fifth ply moves which have equal evaluations), an Informant-symbol evaluation of the line, a numerical evaluation of the line, search depth information (for both the brute force and selective searches), the amount of time the engine spent analyzing the position to reach that evaluation (six seconds in this case), and the number of positions examined by the engine. This last figure is expressed in kilonodes, meaning thousands of positions. In this display, we see that Shredder5.32 examined 152 kilonodes -- 152,000 positions.

But suppose instead that you're examining a position and have a specific move in mind; you'd like to know how that move rates in comparison to other possible moves in that position. The engine display allows you to see more than just a single variation. Use the "+" button in the engine display (or the "+" key on your keyboard) to increase the number of variations shown in the engine display:

For example, you may have been considering 21.Be3. You can see from this sample display to the right that it's not the best move for White (at least not in the opinion of that particular engine) as it leads to Black gaining an edge of 15/100ths of a pawn. The move 21.Rfc1 is the best that Shredder has found. A bit of quick arithmetic tells us that 21.Rfc1 is better than 21.Be3 by 22/100ths of a pawn -- not a huge swing by any means, but significant enough.

You can increase and decrease the number of variations displayed by clicking the "+" and "-" buttons in the display or by using the "+" and "-" keys on your keyboard.

Sometimes it might be useful to see a step-by-step analysis of how an engine reached its evaluation of a position. What was the engine "thinking" as each ply was added to the search depth? There's a way to display this information as well. Right-click in the engine analysis pane and select "Scroll main line" from the popup menu. The next time you start the analysis engine, you'll see a display that looks like this:

This scrolling display shows you what the engine was considering as the best move at each step of the search process. It will display a separate line for each ply depth in its analysis, as well as show the points at which the engine's evaluation changed. You'll see not just the variations themselves, but also get information on the ply depths, elapsed times, and the number of positions considered.

In the example to the left, we see that Shredder thought that 21.Rfc1 Bd7 was the best variation after just one second during a search that was seven plies deep. A second later, after a bit deeper search, Shredder extended the variation to include the moves 22.Bd2 Qb6. In the next line, we see the best variation as it stood at the end of the seven ply search: 21.Rfc1 Bd7 22.Bd2 Qb6.

Looking ahead a bit, we see that Shredder changes its mind partway through the eighth ply of its search -- the moves 21.Rfc1 Bd7 remain the same, but the move 22.Bd7 has been replaced by 22.a3. After looking a bit deeper into the position, Shredder has decided that moving the pawn to a3 is a better move than 22.Bd7. It finishes the eighth ply search with 21.Rfc1 Bd7 22.a3 h6 23.Bh4 as the best line of play it's found so far.

Things begin to change rapidly as Shredder's search deepens. The ninth ply begins with 22.Bd2 still displayed as the best initial move for White, but Black's best reply has changed to ...Ne4 with a long variation following. After another second (and another 200,000 positions examined), Shredder changes its mind completely: the initial move 22.Bd2 has been replaced by 22.a3. This remains the best initial move up into the eleventh ply but the subsequent moves change from ply to ply. You can easily follow these changes as the program thinks -- new information is added to the bottom of the display as it's generated. You can easily use the right-hand scroll bar to scroll the display up to earlier variations if you want to review them.

This display is extremely useful for tracking changes in an engine's analysis. In fact, this is the default display used in engine vs. engine games in the Fritz interface. Many users are interested in more than just the results of a game between two engines; they also want to see what the engines are thinking as they consider their moves. This display allows you to view the changes as they occur in an engine's analysis.

Until next week, have fun!

You can e-mail me with your comments, suggestions, and analysis for Electronic T-Notes.