Ways to avoid "Draw Death" in Computer Chess

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Ways to avoid "Draw Death" in Computer Chess

Post by Laskos »

hgm wrote:For the purpose of this discussion a blunder is just a move in the far tail of the distribution. Classifying moves as blunder or not in the example, each with a different distribution, was just a way to get an overall distribution that is not a pure Gaussian, but has longer tails.

It is true that score loss per move is a bit ill defined, as game theoretical the only scores are mate scores. So in this model we are selling ourselves to a heuristic evaluation. Large score losses will be mostly caused by tactical errors; at some point the engine will unwittingly do a move that unavoidably results in the loss of a piece, while another move could have saved it. Deeper search at that position would have solved the problem, and engines that are better because of deeper search thus make these errors less frequently. Because distant unavoidable losses are more rare in the game tree than close ones. OTOH, in positionally poor positions (low mobility, poor center control) unavoidable material losses of any kind get more frequent in the tree.

Perhaps the model of adding independent per-move errors is entirely wrong, and most games are won by slowly outperforming the opponent positionally in small steps, to steer him to a part of the tree where blunder possibilities are more frequent, so that he has a higher probability to fall for one. The density of blunders will not go completely to zero in equal or even better positions, though.
To approach perfect chess, I took drawn late endgame positions which Stockfish plays almost perfectly (although the scores are still mostly heuristic). Zurichess Appenzeller (1800 ELO CCRL) plays them pretty miserably in self-games, getting only 30% draws. So, on this sort of "openings" we can talk of Zurichess as "regular engine" and Stockfish "almost perfect engine". In this case the pathological behavior is obvious:

Image

So, all those nice tails I produced earlier are due to the arbiter (Stockfish) being itself far from perfect in regular chess.
Leo
Posts: 1080
Joined: Fri Sep 16, 2016 6:55 pm
Location: USA/Minnesota
Full name: Leo Anger

Re: Ways to avoid "Draw Death" in Computer Chess

Post by Leo »

Sven wrote:One way to avoid "Draw Death" would be the appearance of one single engine that plays significantly stronger than the current top engines, say 100 or 200 Elo points. As of today this seems to be unlikely, but can we really exclude it? In the past there were already times of stagnation, then suddenly a heavy improvement came up when nobody thought it were possible.

I think today we are far away yet from knowing what the best openings really are, and there are also some endgame types that are not always evaluated correctly by top engines. Think about fortresses for instance, or about complex endgames with rooks, minor pieces and pawns for which we still lack any proven theoretical knowledge due to lack of EGTBs for more than 6 or 7 pieces. For me these are two good reasons for not believing that we are already close to "perfect play" in computer chess. It might be "perfect-looking play" only. All we know, in my opinion, is that we have a couple of very strong engines that are really hard to beat with today's chess programming knowledge and hardware.

Once that new mega engine appears (and as a programmer I hope this will happen one day, although it will probably not be my own engine ...) I expect that parts of these mathematical models may become outdated, or will have to be reviewed at least.
I very much agree with your comments. People are worried to much about draws in my opinion.
Advanced Micro Devices fan.