8 | |||||||||
7 | |||||||||
6 | |||||||||
5 | |||||||||
4 | |||||||||
3 | |||||||||
2 | |||||||||
1 | |||||||||
a | b | c | d | e | f | g | h |
r1bqr1k1/pp2bpp1/5n1p/3p2N1/3B3P/2PB1Q2/PP3PP1/R4K1R b - - 1 15
Having declined playing hxg5 for some moves, ermintrude wrongly judged it was now safe to do so, and lost a few moves later. When it played the knight capture it considered the PV to be
1. ... hxg5 2. hxg5 Ne4 3. Qh5 f6 4. Qh8+ Kf7 5. g6+ Ke6 7. Qxg7 with a score of +1.26 for black.
What it failed to consider after f6 was g6! which a human player would find very easily, and which leads to mate.
When I looked into this I realised what had happened. Ermintrude considers g6 to be a "quiet" move, and as black is a knight up at this point, the evaluation after g6 is short-circuited - no king safety check is done.
In fact, even if it had been done, it wouldn't have made any difference as the maximum value of all positional factors in the "slow eval" is only 75 centipawns and the knight capture would still have been played.
In fact the only way ermintrude could have detected the problem earlier was if it had extended the search after g6. To do this, it would have to somehow recognise that g6 is a deadly threat. The problem is that many such moves might appear to threaten the king, but only a few actually are genuine threats, so I don't do a specific king threat analysis for extensions as it is too expensive.
So I was wondering what do other people do? And how many of the other engines out there would also greedily make the capture at blitz time controls... !