Computer analysis - a comparison

Sort:
cigoL

Hi! After having had some wicked suggestions from Chess.com's Computer Analysis, I though it would be interesting to compare a computer analysis of the same game, made by various chess engines. 

As an example game, I suggest this one: 

So, if you have Houdini, Fritz or some other engine, I would very much appreciate if you would run an analysis, and post the result in the comments. Thanks!

-Raveen-

AndyClifton

39 Qxa6 should presumably be "??" (if it's "easily refuted").

cigoL

Thanks Quizzy! Doesn't Fritz write the score after every more? Like +1.3 and so?

-Raveen-
cigoL wrote:

Thanks Quizzy! Doesn't Fritz write the score after every more? Like +1.3 and so?


I ran Fritz's "full analysis" mode which does not store the evaluations.  I will put the game through Fritz's "blunder check" mode, which I believe stores the evaluations and depth (in plys).

Musikamole

This full analysis by Fritz 12 includes references to other games. Unfortunately, the Chess.com Chess Wizard did not catch evaluation marks from the pgn file, like (+/-).


cigoL

Thanks people. This is interesting, but what I was hoping for was a score evulation after every move, like the Computer Analysis here on Chess.com does it. It would be interesting to see if different engines assign more or less then same value to the various positions during the game. 

-Raveen-

-Raveen-

The above analysis is the output of Fritz 12's "blunder check" function.  The number beside each evaluation score must be depth of the analysis for that particuliar move expressed in plys (half-moves).

cigoL

Eureka! That's what I'm talking about! Now we just need people with access to other engines post their results!

What does the number ofter the "/" mean? Like e.g. 3.38/18. And what does e.g. #10/9 mean?

-Raveen-
cigoL wrote:

Eureka! That's what I'm talking about! Now we just need people with access to other engines post their results!

What does the number ofter the "/" mean? Like e.g. 3.38/18. And what does e.g. #10/9 mean?


3.38/18 - 3.38 is the position value in pawn units. White is ahead by 3.38 pawn units (a negative position value means black is ahead). The number 18 refers to the search depth. In this case Fritz analysed all legal moves to a depth of at least 18 plys (9 full moves; a ply is a half-move).  Some continuations may have been investigated deeper.

#10/9 - #10 means there is a mate in 10. I believe the depth is only 9 plys because Fritz discovered the critical mate variations without needing to explore all legal moves to a depth of 20 plys (10 full moves).

cigoL

I see. Thanks a lot! I appreciate it!

HGMuller

Usually the reported depth is reached for the principal variation only (but does not include the moves of the following capture search). Most other lines are searched significantly less deep, perhaps not evento half the reported ply depth. E.g. if a move of the side who's deviation from the PV is going to be refuted does not threaten anything, and the previous moves haven't already gained him something, the branch is considered uninteresting and 2 or 3 ply are subtracted from the target depth each time this happens. Also non-captures not on the PV are often counted as 2 ply (i.e. one ply is deducted of the target depth for each of those).

-Raveen-
HGMuller wrote:

Usually the reported depth is reached for the principal variation only (but does not include the moves of the following capture search). Most other lines are searched significantly less deep, perhaps not evento half the reported ply depth. E.g. if a move of the side who's deviation from the PV is going to be refuted does not threaten anything, and the previous moves haven't already gained him something, the branch is considered uninteresting and 2 or 3 ply are subtracted from the target depth each time this happens. Also non-captures not on the PV are often counted as 2 ply (i.e. one ply is deducted of the target depth for each of those).


The quotation below is Fritz 12's explanation of the search depth that Fritz 12 displays while analyzing a position. The search depth figures presented throughout the blunder check analysis posted above must be the "brute force" depth because the ply counts are so low. For example, on move 20. Bc4 ... Fritz's infinite analysis function will display a search depth of 19/44 in a matter of seconds.

I am not 100% sure what the following sentence means: "For instance a display of “depth = 12/30” means that the program has looked at every continuation to a depth of 12 ply (six moves), while some promising or dangerous continuations are being examined up to a depth of 30 ply." Is this the same as saying Fritz analyzed all legal moves to a depth of 12 ply? If anyone knows I would be interested to hear the answer.

"The search depth tells you how many moves deep the search has progressed. The value is in “ply” or half-moves. The first number gives you the “brute force” depth, the second is the depth to which certain critical lines have been investigated. The value is in “ply” or half-moves. For instance a display of “depth = 12/30” means that the program has looked at every continuation to a depth of 12 ply (six moves), while some promising or dangerous continuations are being examined up to a depth of 30 ply."

-Raveen-
[COMMENT DELETED]
fburton

Have you looked at Kongsted's book How to Use Computers to Improve Your Chess? He talks about how engines differ in their analysis/evaluation, giving examples in various situations. Only problem is it was published in 2003 so is not up-to-date - though what he wrote then still applies today.

HGMuller
Quizzy wrote:
... For example, on move 20. Bc4 ... Fritz's infinite analysis function will display a search depth of 19/44 in a matter of seconds.

I am not 100% sure what the following sentence means: "For instance a display of “depth = 12/30” means that the program has looked at every continuation to a depth of 12 ply (six moves), while some promising or dangerous continuations are being examined up to a depth of 30 ply." Is this the same as saying Fritz analyzed all legal moves to a depth of 12 ply? If anyone knows I would be interested to hear the answer.

Taken litterally it would indeed mean it has searched every possible sequence of 12 legal half-moves. All engines do alpha-beta pruning, though, meaning they won't consider branches that cannot affect the root score. This means that even on the second ply many moves will not be considered at all. (e.g. from the opening position, after 1.a3 it would never get to considering 1... d5, because it consideres the move (a3) refuted after searching 1... e5.)

But even taking that into account, engines are usually lying about their depth. There is no way an engine can reach 19-ply full-width alpha-beta in a few seconds for a middle-game position. A typical Chess middle-games position has 30-40 legal moves. With perfect alpha-beta pruning (seldomly achieved...) only one side searches all moves, as the other one just limits itself to playing the single move that refutes it. So you branch out a factor 30 for every two ply. So to reach 19 ply takes around 30 to the power 10, or about 10 to the power 15 positions to be visited. Even computers millions of times faster than those we have today could not do that; 2 million positions per second on a single core is very fast; on 8 cores you might get 10 million nodes per second, only 10 to the power 7. Hash-table hits to prune transpositions would lower that a little, but as hash hit-rates in the middle-game are typically only about 16%, it does not have a major impact, and is already more than accounted for that I calculated with 30 moves / position, rather than 40.

So, like everyone else, Fritz is lying about the depth.

Note the reported depths in the blunder check are not low at all. Present-day hardware is not capable to reach more than 10 ply full-width (alpha-beta) search in a few seconds.

-Raveen-

Thank you for the detailed response.

cigoL

fburton, thanks. I'll have a look at that. :)