• Engine puzzle position

    From Rainer@21:1/5 to Martin Brown on Sat Jul 22 13:46:35 2017
    XPost: rec.games.chess.analysis

    On 22/07/2017 10:16, Martin Brown wrote:
    On 21/07/2017 21:23, Rainer wrote:
    On 21/07/2017 17:14, Martin Brown wrote:

    I have stumbled upon a position where quite a few engines - I
    thought at first it was just x64 types but Fritz 10 also sees
    the same phantom "Good move" which evaluates as a draw where
    none exists. The position is hopelessly lost but that isn't the
    point. Something is wrong.

    I found it analysing a lost game where there was a clear and
    bizarre discontinuity in the evaluation function that made no
    sense to me.

    Crafty x64 23.05 also sees the wrong right move but x32 20.14 is
    OK.

    r2r4/1p2p1kp/p5p1/3BNbPn/8/2N4P/PPP2P2/R3K2R b KQ - 0 21

    It is a close run thing between 22. ... Rac8, or 22 ... Nf4 but
    the phantom move which evaluates as a draw is 22. ... Bc8

    If you actually play this move Bc8 then the evaluation becomes
    correct again with white to move. There is something odd about
    this position that breaks some engines. Any ideas what it might
    be?

    My guess is that it is some sort of draw by repetition bug
    common to several of the engines since the offending thread
    displays as just a single move with no continuation line : [...]

    You didn't post the game, so I have to ask: is there a position
    repetition after 21...Bc8? If so, a zero score would be
    acceptable.

    The material balance is such that the winning side should not be
    looking for a draw and the losing side has no way to force perpetual
    check. The score for the move 22. ... Bc8 is totally anomolous (as
    is the fact that it does not have any continuation line in the
    annotation).

    It might be relevant that the strongest continuation for white is
    0-0-0 and there may be a bug in the logic around queens side
    castling somewhere. Almost none of the engines see anything other
    than "best" is 21. ... Bc8 0.0 (and see no further than that)

    This is the result of applying blundercheck threshold 20cp 4s to the
    entire game (opening blunder in blitz) but played on in the hope of
    winning something back.
    [...]

    [game score weeded]

    [Event "Blitz 5m+5s-4m+2s"]
    [Site "?"]
    [Date "2017.07.21"]
    [Round "?"]
    [White "Deep Fritz 14"]
    [Black "Martin"]
    [Result "1-0"]
    [ECO "B08"]
    [WhiteElo "1812"]
    [BlackElo "1815"]
    [PlyCount "75"]
    [EventDate "2017.??.??"]
    [EventType "blitz"]

    1. d4 d6 2. e4 Nf6 3. Bd3 g6 4. Nf3 Bg7 5. h3 Nbd7 6. Nc3 O-O 7. e5 dxe5
    8. dxe5 Nh5 9. g4 Nf4 10. Bxf4 f6 11. exf6 Nxf6 12. Bc4+ Kh8 13. Qxd8
    Rxd8 14. Bxc7 Rd7 15. Be5 a6 16. g5 Nh5 17. Be6 Rd8 18. Bd5 Bxe5 19.
    Nxe5 Kg7 {1st occurrence} 20. Bb3 Bf5 21. Bd5 Rab8 (21... Bc8 {position repetition}) 22. a4 e6 23. Be4 Nf4 24. Rc1 Rd4 25. Bxf5 exf5 26. Rd1 Rb4
    27. Rd7+ Kg8 28. Nd5 Re4+ 29. Kf1 Rxe5 30. Nxf4 Re4 31. Nd5 Rxa4 32.
    Nf6+ Kf8 33. Rxh7 Rd8 34. Kg2 Rd2 35. Re1 Re4 36. Nxe4 fxe4 37. Rxb7 e3
    38. Rxe3 1-0

    It's what I suspected: 21...Bc8 repeats the position, hence the draw
    score. UCI engines are always fed with the full game history, so they
    can detect the repetition.

    NB: there is a decades-old controversy whether it's ok to return a draw
    score after the first position repetition, or if this should be done
    only after the second repetition. One can argue either way, I'll let
    that aside.

    Cheeers,
    Rainer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)