Author: Robert Hyatt
Date: 10:27:05 11/03/98
Go up one level in this thread
On November 02, 1998 at 13:56:35, Ian Osgood wrote:
>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
Such search methods can look brilliant *when* there is a forced tactical
sequence. But they can look idiotic when there is not... because there are
many positions where there are 10 consecutive checks that lead to *nothing*
and trying to follow them causes problems by wasting huge amounts of time...
Best solution is either better extensions or faster hardware. The hardware
I *know* I will get...
This page took 0.02 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.