Milhouse misses a win…

White to move and win...

White to move and win...

I was playing a sparring match between Milhouse and Cake, and Milhouse arrived at the position on the right as White with White to move. Inexplicably, it played 27-23, squandering away the win by avoiding the obvious 2 for one shot into the forced win by playing 19-16 and forcing the exchange.

Oddly, when I extracted this position from the log and replayed it, I got the right move:

milhouse: id
         1:  [-3]
... researching after failing high.
         3: 19-16 12x19 [137]
         5: 19-16 12x19 23x7  26-31 [134]
         7: 19-16 12x19 23x7   6-10  7-2  26-31 [137]
         9: 19-16 12x19 23x7   6-9   7-2  26-31  2-6  31-27 [137]
        11: 19-16 12x19 23x7   6-9   7-2  26-31  2-6  31-27 20-16 27-32 [132]
        13: 19-16 12x19 23x7   6-10  7-2  26-31  2-6  10-15  6-10 15-19 10-15 19-23 ... [144]
        15: 19-16 12x19 23x7   6-10  7-2  26-31 20-16 31-27  2-6  10-15 16-11 27-32 11-8  [145]
        17: 19-16 12x19 23x7   6-10 20-16 26-31  7-2  10-15 16-11 15-19  2-6  19-23 11-7  [129]
        19: 19-16 12x19 23x7   6-10 20-16 26-31 25-22 10-15  7-2  31-27 16-11 15-19  2-6  [128]
        21: 19-16 12x19 23x7   6-10 20-16 10-15  7-2  15-19 16-11 26-31 25-22 31-27 21-17 [128]
... researching after failing high.
        23: 19-16 12x19 23x7   6-10 25-22 10-15  7-2  26-30  2-7  15-19  7-11 19-23 11-15 [7420]
        25: 19-16 12x19 23x7   6-10 25-22 10-15  7-2  15-19  2-7  26-30  7-11 19-23 11-15 [7428]
... researching after failing high.
        27: 19-16 12x19 23x7   6-10 25-22 10-15  7-2  15-19  2-7  26-30  7-11 19-24 11-15 [7512]
        29: 19-16 12x19 23x7   6-9  25-22  9-14 20-16 26-31  7-2  31-27 16-11 27-32  2-6  [7516]
final score = 7516
175.253 seconds elapsed.
... 47783648 nodes searched, 24123999 nodes evaluated
... avg branching factor 1.80
... 388604 nodes ordered
... 3684106 pv hits, 2544492 pv misses (59.15%)
transposition tables
... 23596225 gets (2540472 tier0 / 6252127 tier1 / 14803626 failed)
... 9901700 puts (1812362 tier0 / 8089338 tier1) (2856247 alpha, 139002, 6906451 beta)
... 20062999 chinook database accesses.

I don’t know what went wrong during the game. Very odd.

Addendum: Okay, I’m confused. Perhaps I’m reading the analysis Cake did of the game incorrectly, because 27-23 wasn’t a valid choice here. I’ll try to decipher what’s up later.

Additional progress has been made on milhouse though: thanks to some thoughtful hints from Ed Trice (thanks Ed) I think I finally resolved the problem with Chinook DB access once we hit the endgame. I have added a quiescence search to resolve capture positions properly, and it seems to past nearly all of the tests it used to fail. I say nearly all, because I have discovered a single test which still fails, shifting back from a loss to a draw, and back to a loss as iterative deepening occurs. Not sure what that’s about yet.