Thursday, 5 March 2015

Somewhere over the ... horizon

In the early days of computer chess, the "horizon effect" was an ever present danger to programs. Essentially, the horizon effect was when a program was faced with an unstoppable threat it would sometimes play a move that pushed the threat to beyond the depth of its search, making it disappear. The problem with this is that the threat would still exist, popping up after the next move, and the move that delayed the threat might be a bad one anyway ( eg White is going to lose a queen by force in 5 moves, so the program sacrifices a pawn to delay it by one move, and beyond its search depth).
Eventually the problem was "solved" by both the increase in search depth, as well as improvements in search techniques (ie capture extensions).
However it still happens these days, but often in another way. There are a number of positions where even strong engines get the evaluation wrong due to not being able to see far enough. It isn't that the engine is pushing the threat further down the road with bad moves, just that the winning idea takes quite a number of moves to execute. For humans, spotting the key idea can be quite simple, and our more abstract thought processes then allow us to recognise the eventual outcome well before a computer does.
In fact an example of this occurred last night at the ANU Chess Club. Mark Hummel (someone who has written his own chess engine btw) decided to be a little adventurous and sacrifice his queen in return for a charging passed pawn. Eventually the pawn was halted at d2, and the material balance crystallised as R+B v Q. The problem for White was that the pawn was blockaded by the queen, and any move away just allowed Black to queen. Feeding this into the computer, the engine kept returning 0.00 as the evaluation for quite a while. It was only when the program spotted the idea of protecting the pawn with the bishop (freeing up the rook) did it finally realise that Black was simply winning, something that Hummel spotted a number of moves earlier.


Hathiramani,Dillon - Hummel,Mark [C56]
ANU Challengers, 04.03.2015

Start positionPrevious MoveNext MoveEnd positionPlay movesStop playing
1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Bc4 Nf6 5. O-O Nxe4 6. Re1 d5 7. Bxd5 Qxd5 8. Nc3 Qh5 9. Nxe4 Be6 10. Bg5 h6 11. Bh4 Bc5 12. Qd3 Bb6 13. Re2 O-O 14. Rae1 Ne5 15. Nxe5 Qxh4 16. Ng3 Qf6 17. Nc4 Bd5 18. Re5 Bxc4 19. Qxc4 d3 20. Rf5 d2 21. Rd1 Rae8 22. Rxf6 Re1+ 23. Nf1 Rxd1 24. Qe2 Rxf1+ 25. Kxf1 Rd8 26. Qd1 gxf6 27. c3 f5 28. g3 h5 29. Kg2 Bc5 30. Kf1 b5 31. a3 a5 32. b4 axb4 33. axb4 Bf8 34. Kg2 Bg7 35. h4 Bxc3 36. Qxh5 d1Q 37. Qg5+ Bg7 38. h5 Qd5+ 39. Kh2 Rd6 0-1



1 comment:

Anonymous said...

26.Rxb6!=