ChessBase Light 2007 - part 7

by ChessBase
7/9/2007 – Our ChessBase Workshop series continues with a discussion of engine analysis in ChessBase Light 2007. In Part Seven, you'll learn about an alternative engine analysis display -- "Scroll main line" -- and the useful information it can provide you. Find out more in the latest ChessBase Workshop.

ChessBase 17 - Mega package - Edition 2024 ChessBase 17 - Mega package - Edition 2024

It is the program of choice for anyone who loves the game and wants to know more about it. Start your personal success story with ChessBase and enjoy the game even more.


Another interesting engine-related feature can give you an idea of what the chess engine is considering at specific points in its analysis process. It will show you not only the best line of play at given points, but also the corresponding node count (the total number of positions analyzed) and elapsed time.

After you've launched a chess engine in CBLight (see previous columns in this series for instructions), right-click in the engine analysis pane to display a popup menu. Select "Scroll main line" from this menu:


You'll see a change in the analysis pane. Instead of showing you a view of the best line(s) of play in the engine's estimation, you see (at first) just a single line of play. Another line will be added each time the engine completes a full ply depth of analysis. This line may or may not be the same as the variation displayed immediately above it. In the regular engine analysis pane view, the displayed variation (or variations) is updated each time the engine finds a better initial move or revises its opinion as to the proper play which should follow that initial move; if the engine doesn't find anything better after several additional plies, the displayed variation won't change. But with "Scroll main line" selected, the display updates each time the engine completes another ply (half-move) level of search and begins another.

Let's look at an example. I opened the engine analysis pane to start Fritz10 and, after about a minute, here's what I saw:


You'll notice that the engine's analysis doesn't change from move 39 to move 44 in any of the displayed variations, but the engine changed its mind about White's forty-fifth move (and the subsequent play) as it went deeper into its search.

We can use what we've already learned about the engine analysis pane to see what's happening in this new display. Fritz10 displayed a variation after it completed a fourteen ply search (looking at and evaluating replies fourteen half-moves, i.e seven full moves, deep). This took seven seconds and Fritz evaluated 6,488,000 positions to decide on the best course for both sides. It took three seconds for Fritz to analyze another ply deeper to fifteen plies; it then displayed another variation (along with the corresponding time of ten seconds, depth of fifteen plies, and new position total of more than ten million positions).

So we can see what's happening here: each time Fritz goes another ply deeper into its search, it displays an additional line containing the preferred variation, search depth, elapsed time, total number of positions evaluated, and (perhaps most important), the numerical evaluation of the position at the end of that preferred line of play.

In short, "Scroll main line" provides you with a running update of a chess engine's thought process; a new line is added to the display with each successive ply. There is an exception: if the numerical evaluation of the end position suddenly jumps by a full pawn or more (1.00 or more), either positively or negatively, the engine will immediately add a new line to the scrolling display, and this line will appear in red.

The reason this is called "Scroll main line" is that the engine will continue to run and add lines until you stop it, and all the lines on the display will continue to be visible in this display that can be scrolled up and down; a scroll bar and button on the right of the display allows you to do this.

Although each successive ply adds an exponential number of positions to the total search, you'll notice that the node count total will approximately double with each additional ply instead. This is due in part to the "pruning" an engine does during its search in which it eliminates unpromising subvariations from the search tree as it goes along, disqualifying them from further consideration (this also explains why many chess engines aren't very good at playing material sacrifices).

Another reason why the node count appears to just double is due to the engine's use of hash tables (also known as transposition tables). The engine stores the positions it's already evaluated in temporary memory, along with the numerical scores for these positions. If the engine hits one of these positions again later in its search (due to a different move sequence -- a transposition of moves), it won't evaluate that position a second time since it already has an evaluation in memory for it. It also won't count this position again for purposes of its running tally of the total number of moves analyzed.

We'll have more on engines in ChessBase Light in our next ChessBase Workshop. Until then, have fun!

You can e-mail me with your comments on ChessBase Workshop. All responses will be read, and sending an e-mail to this address grants us permission to use it in a future column. No tech support questions, please.

© 2007, Steven A. Lopez. All rights reserved.


Reports about chess: tournaments, championships, portraits, interviews, World Championships, product launches and more.


Rules for reader comments


Not registered yet? Register