Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What to do with Horizon effect?

Author: Ian Osgood

Date: 10:56:35 11/02/98

Go up one level in this thread


On October 31, 1998 at 20:49:27, Robert Hyatt wrote:

>On October 31, 1998 at 19:53:46, Andrew Dados wrote:
>
>>
>>On October 31, 1998 at 16:45:01, Inmann Werner wrote:
>>
>>>I have problems with "nearly mate" positions, where the opponent can do some
>>>checks, so the mate gets beyond the horizon.
>>>
>>>One Example (really interesting!)
>>>
>>>
>>>Position (LCTII CMB 01)
>>>   xrxxxxkx
>>>   xqxxbpxx
>>>   xxxpxxpx
>>>   xxpPxxxx
>>>   PxNxxxxR
>>>   xxPxxQPx
>>>   xPxxxPKx
>>>   xxxxxxxx
>>>
>>>Best: c4d6/e7d6/f3f6 white wins
>>>
>>>In depth 7 , my program should find the solution, but it does not! The problem
>>>is, that black can make checks to bring the mate beyond the horizon. At each
>>>check, I extend the search for 1 ply, but it is not enough.
>>>
>>>The computer thinks:
>>>C4d6/e7d6/f3f6/b7d5+/g2h2/d6g3+!!/h2g3/d5d3+/g3h2/g8f8/    no h4h8 and black
>>>"stands good"
>>>7 plys plus 3 plys the checks end up at 10!!
>>>
>>>This things really often happen, and I am reall unhappy with it. When I tried to
>>>extend at a check with 2 plys, this problem was solved very early. But the
>>>overall searchdepth goes dramatically down, so the program plays worse.
>>>On an attack, it is nearly always possible for the opponent to slow down the
>>>attack with "senseless", but forced moves.
>>>I thought about something like:
>>>This is a mate in 1, therefore don“t let you disturb with "senseless " moves.
>>>But I have no thought, how to implement such a thing.
>>>Suggestions?
>>>
>>>Werner
>>
>>     One solution I find acceptable is whenever you make null move generate all
>>checks at next ply even if null throws you to quiescence... that way null
>>returns 'being mated' score - and based on that you can extend your search
>>deeper...hopefully going beyond all delaying moves.
>>
>>Andrew
>
>
>this is *very* difficult... here is a cute horizon effect game played by
>a crafty "clone" on icc:
>
>[Event "ICC 5 0"]
>[Site "Internet Chess Club"]
>[Date "1998.10.24"]
>[Round "-"]
>[White "Box"]
>[Black "Warp9"]
>[Result "1/2-1/2"]
>[WhiteElo "2923"]
>[BlackElo "2694"]
>[Opening "Sicilian: Nimzovich-Rossolimo attack (without ...d6)"]
>[ECO "B30"]
>[NIC "SI.31"]
>[Time "14:40:09"]
>[TimeControl "300+0"]
>
>1. e4 c5 2. Nf3 Nc6 3. Bb5 d6 4. O-O Bd7 5. c3 Nf6 6. Re1 a6 7. Bf1 Bg4 8. d3 e6
>9. Nbd2 Be7 10. a3 O-O 11. b4 Nd7 12. Bb2 f5 13. Qb3 fxe4 14. dxe4 Kh8 15. h3
>Bxf3 16. Nxf3 Rf6 17. Rad1 Qf8 18. Be2 Rg6 19. Bc1 cxb4 20. cxb4 Qf7 21. Be3 Rf8
>22. b5 axb5 23. Qxb5 Rb8 24. Nd4 Nxd4 25. Bxd4 Ne5 26. Kh1 Qf8 27. Ba7 Rd8 28.
>Qxb7 Rd7 29. Qa6 Rd8 30. Qb5 Bh4 31. Rf1 Bg5 32. a4 Ra8 33. Bb6 Rc8 34. a5 Bf4
>35. g3 Rh6 36. Qb1 Rxh3+ 37. Kg2 Rh6 38. a6 Nd7 39. a7 Nxb6 40. Ba6 Rc3 41. Qxb6
>Bxg3 42. Qb8 Rf3 43. a8=Q Kg8 44. fxg3 Rxg3+ 45. Kxg3 Rg6+ 46. Kh2 Rh6+ 47. Kg2
>Rg6+ 48. Kh3 Rh6+ 49. Kg4 Rg6+ 50. Kh5 Rh6+ 51. Kg5 Rg6+ 52. Kh5 Rh6+ 53. Kg4
>Rg6+ 54. Kh3 Rh6+ 55. Kg3 Rg6+ 56. Kh2 Rh6+ 57. Kg3 {Game drawn by repetition}
>1/2-1/2
>
>
>back up to before white plays 44. fxg3...  here is the position:
>
>
>       +---+---+---+---+---+---+---+---+
>    8  | Q | Q |   |   |   | *Q| *K|   |
>       +---+---+---+---+---+---+---+---+
>    7  |   |   |   |   |   |   | *P| *P|
>       +---+---+---+---+---+---+---+---+
>    6  | B |   |   | *P| *P|   |   | *R|
>       +---+---+---+---+---+---+---+---+
>    5  |   |   |   |   |   |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    4  |   |   |   |   | P |   |   |   |
>       +---+---+---+---+---+---+---+---+
>    3  |   |   |   |   |   | *R| *B|   |
>       +---+---+---+---+---+---+---+---+
>    2  |   |   |   |   |   | P | K |   |
>       +---+---+---+---+---+---+---+---+
>    1  |   |   |   | R |   | R |   |   |
>       +---+---+---+---+---+---+---+---+
>         a   b   c   d   e   f   g   h
>
>The move crafty played was fxg3...  and when you look at it, the white king
>is going to have nowhere to go... the f-file is totally sealed off by the
>black queen (after fxg3 rxg3 Kxg3) and the king has to live on the g/h file.
>I first thought crafty should see this as Rg6 Kh4 Rh6 Kg4 Rg6 Kh5 Rh6 Kg6 and
>now we get a repetition.  But crafty found something better (horizon-wise)
>by diagonally running the king up the board to h4-g5-h5-g4-h3-g2-h1-g1-h2 and
>notice we have not repeated *yet*.  yet we have searched a full 16 plies deep
>counting the checks, plus the original 4 plies starting with fxg3...  this is
>a difficult problem to solve.  I solved it because I said "f file is closed
>by the king, and I can't advance and capture the rook since it is protected
>at g6/h6 by a pawn, and I have nothing to interpose...  It takes crafty
>something like 10 plies, which won't happen in a 5 minute game...  Btw Qxf8
>is a much easier win, but it doesn't win the bishop (and get repetitioned
>either of course)...
>
>So horizon effect is here to stay... just pushed off to extreme depths...

Greetings,

Has anyone tried using different search algorithms at root nodes to gain
quiescence?  I ask because algorithms such as proof-number search have been
found to be quite efficient at resolving long sequences of forced moves which
occur in games such as Go and suicide chess.

In positions having long series of checks, as seen in this PV, you would be
proving that the checks are perpetual (and searching for the counter-proof
that you can escape the checks).

Ian



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.