by Steve Lopez

A few weeks ago I received an e-mail asking for an article on interpreting Fritz' analysis window in ChessBase 7 and Fritz5. (Please forgive me, but I lost the letter somewhere in my e-mail box, so I have no idea who wrote it). I agreed that this would be a good topic (one I hadn't covered in a long time, not since the days of the old paper version of T-Notes), so we'll tackle it this week. Many books have been written on this topic, so don't expect an exhaustive treatment. We're going to look at just enough to understand what Fritz is showing you in its evaluation window.

To understand what the numbers mean in the analysis window, you'll need to understand a little bit about how Fritz analyzes a position. Fritz doesn't look at "lines of play" or variations in the classic sense. Fritz looks at a board position and analyzes it from the perspective of the side to move. Using a variety of chess principles (material and space being chief among them) that are quantified in mathematical terms, Fritz assigns a board position a numerical rating that tells the program whether the position is better for White or Black.

It then looks at the opponent's possible replies to this position, rating each of those as it did the first position. Then it looks at the possible replies to each of those replies, and on and on.

Basically, to decide on a move, Fritz uses something called minimax to decide on the best line of play. It's a function deserving of an article all its own, so I'll just touch on it lightly here. Simply and briefly put, it averages out all of the numerical ratings of the positions to find the best reply (assuming best play for both sides). After it averages out these ratings, it ranks the moves from best to worst (you can see this ranking on your screen by increasing the number of lines displayed, using the [+] key).

A computer chess term that you need to be familiar with is ply. A ply is a measurement of search depth. One ply is equal to one move on the board (as opposed to "move" in the scorekeeping sense, which refers to one move for each side). Therefore, in a position with White to move, after Fritz has examined and evaluated all of White's possible moves in that position, it's said to have searched to a depth of one ply. After evaluating all of Black's responses to all of White's moves, Fritz has searched to a two ply depth. After evaluating all of White's replies to Black's replies to White's moves, it's searched to a depth of three ply (and so on).

This results in an enourmous number of positions having to be searched. A typical middlegame position will have about thirty possible moves for the player whose turn it is to move. Assuming thirty as an average number, here are the number of positions a computer has to evaluate at different search depths:

1 ply (White's initial move): 30
2 ply (Black's responses): 900
3 ply (White's second move): 27000
4 ply (Black's second move): 810000
5 ply (White's third move): 24300000

You can easily see the exponential progression. Looking at every possible move, a computer program must evaluate over 24 million positions at the relatively shallow depth of five plies.

How does a computer handle this load? By "pruning" the search tree. It's pretty easy for a computer to see that some variations are just plain bad by the second or third ply (moves that lead to the opponent achieving checkmate or the opponent gaining massive amounts of material), so these moves can (usually) safely be eliminated from the search. This reduces the workload on Fritz, but at a price: Fritz tends to miss things like material sacrifices for long-term positional gains. If Fritz was going to look at every possible move and every possible reply (etc.), however, Fritz would still miss these sacrifices as it could never search deeply enough to see the positional advantage (due to the astronomical number of positions it would be forced to evaluate). So it's a trade-off: Fritz trades seeing the occasional material sacrifice for increased vision in other areas (long purely tactical combinations, for example).

Let's remember these concepts as we take a look at what Fritz is telling us in its evaluation display. Here's an example of the display in action:

Take a look at the "depth" display. It shows two numbers separated by a slash ("11/29"). Fritz actually does two types of searches. The number before the slash is the brute-force search, in which Fritz looks at every move, then every possible reply, etc. (of course taking into account the pruning away of bad moves as was described a couple of paragraphs ago). In our example, Fritz is currently evaluation positions eleven plies deep.

The second number is the selective search depth. In this type of search, Fritz evaluates forcing lines such as captures and checks. Due to the forced nature of these lines, Fritz can evaluate them to a deeper level than positions in which an opponent has multiple replies. You might have noticed in your own games that it's easier to evaluate variations that involve captures and checks: since the replies are forced you can go much deeper into your mental search. In our example, Fritz is going 29 plies deep in certain forcing lines.

There are some differences in the way other engines display these depths. Junior displays search depth in 1/3 ply increments. To get the true search depth in plies, divide the displayed number by three (if the display reads "12" then it's actually searching the fourth ply). the 16-bit Doctor? module (usable in CBWin and ChessBase 6) displays the depth in half-ply amounts; divide the number displayed by two to get the actual search depth in plies.

The next entry reads "g2-h3 (4/31)". This is information about the move that Fritz is currently evaluating. I didn't provide the board position, so I'll explain that Fritz is looking at the move 15.Bh3 in our example. The number after the slash in parentheses is the number of total possible moves in the position. In this case, White has 31 possible moves. The number before the slash in this example means that Fritz is considering the fourth possible move of the 31. Fritz bumps the most promising lines (those with the best evaluations) to the top of the list, sorting them in order from best to worst from the point of view of the moving side. You can actually see this in action. Just hit the [+] key until you have four or five variation lines displayed in the window. You'll see the variation lines shift up and down in the list as Fritz' evaluation changes (as its search depth increases, it sees more, and changes the evaluations accordingly). In our example, Fritz has looked at three moves that it previously considered better then Bh3. It will need to look at 27 more moves before moving on to the next ply.

Looking at this number in parentheses tells you how deep Fritz has gone into the search of the current ply. You'll notice that Fritz analyzes much more quickly as it starts reaching the end of the ply (for example, moves 10 through 31 flash by very quickly in our example window). This is because Fritz sees that these lines are very inferior to the top four or five moves it's considering and doesn't need to search them as thoroughly.

The last entry at the top of the display is the speed at which Fritz is evaluating. In this case it reads "60kN/s". The pattern this display always follows is xkN/s:

x = a number
k = 1,000
N = nodes. Nodes are positions.
s = 1 second

In our example, Fritz is searching at the speed of 60 times 1,000 nodes per second, that is 60,000 positions a second. I don't suppose I need to tell you that this is incredibly fast. Fritz enjoys the reputation of being the fastest analyzer on the market.

The lower part of the window is fairly easy to understand. The symbols are standard Informant/ECO chess evaluation symbols. In the example above, the line starting with 15.Bd2 is one in which Black has a large advantage. The second best move for White, 15.Nd2, leads to a variation in which Black is winning. Clearly White is in dire straits here.

The number in parentheses is an exact numerical evaluation of the variation, given in pawn increments down to 1/100th of a pawn. The displayed line starting with 15.Bd2 is one in which White will be down one and one-quarter pawns once the end of the variation is reached. The second line is one in which White will be behind by just over a pawn and a half at the end of the variation.

There is a small light in the upper left-hand corner of the box. It's presently green in our example, but it sometimes turns red. This light changes to red when the numerical evaluation of the best line (the one at the top of the list) changes by more than one pawn (1.00). This is a handy way for Fritz to alert you that there is a tactical shot in the position.

Finally, of course, we see the moves of the concrete variations that Fritz has analyzed. These variations assume the best possible play that Fritz sees for both sides.

The evaluation window in Fritz5 shows these same displays in a slightly different order. There are two additional display features: a "stop" button (allowing you to stop the program's analysis at any point) and a display showing the percentage of the available hash tables Fritz is using to store transpositions.

This should clear up some of the mystery surrounding these displays in both ChessBase and Fritz. Thoroughly understanding the analysis display can greatly enhance your enjoyment of the programs.

Until next week, have fun!

SPECIAL NOTE: The link I gave last week for the Chess Kamikaze Home Page was incorrect. This week's links to it and the Yahoo Chess Kamikazes Club are now correct. Sorry for the inconvenience!

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