Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Rook Sacrifice and a deadly fail low

Author: Will Singleton

Date: 20:40:36 03/08/04

Go up one level in this thread


On March 08, 2004 at 14:20:24, Robert Hyatt wrote:

>On March 08, 2004 at 13:20:26, J. Wesley Cleveland wrote:
>
>>On March 07, 2004 at 13:47:03, Robert Hyatt wrote:
>>
>>>On March 06, 2004 at 22:20:32, Will Singleton wrote:
>>>
>>>>On March 06, 2004 at 20:45:17, scott farrell wrote:
>>>>
>>>>>On March 06, 2004 at 20:02:13, GeoffW wrote:
>>>>>
>>>>>>Hi Dan
>>>>>>
>>>>>>Thanks for the extensive analysis, that was a lot of output so I summarised the
>>>>>>times to avoid the obvious Bishop takes rook
>>>>>>
>>>>>>
>>>>>>Amy-net-087............00:16
>>>>>>Aristarch 4.41.........00:02
>>>>>>DeepSjeng..............00:04
>>>>>>Delfi-440..............00:13
>>>>>>Dragon_45..............01:23
>>>>>>ELChinito 3.25.........00:06
>>>>>>Glc300.................00:05
>>>>>>Gothmog................01:31
>>>>>>Kke-253................00:08
>>>>>>Ktulu..................00:23
>>>>>>List512................00:04
>>>>>>Patzer 3.61.......... >00:35 not resolved
>>>>>>Quark-232-net..........00:53
>>>>>>Ruffian_202............00:03
>>>>>>Ruffian_210........... 00:04
>>>>>>Smarthink-017a.........00:10
>>>>>>Yace...................01:06
>>>>>>Shredder 7.04..........00:03
>>>>>>
>>>>>>
>>>>>>This is seemingly a good test position to separate the elite programs from the
>>>>>>merely good ones, the real top programs can see and resolve this threat in less
>>>>>>than 5 seconds.
>>>>>>
>>>>>>I have only got to improve my program by a factor of 300 to get there, Arrrrrgh
>>>>>>!
>>>>>>
>>>>>>It looks as though my program is the only one that really suffers from a nodes
>>>>>>explosion though.
>>>>>
>>>>>Instead of trying to solve the fail low at depth 12, and cause a node explosion,
>>>>>on the fail low - go back to either depth 11 to reasearch, or depth 1. This way
>>>>>the hash will know that the captures will fail, and start choosing seemingly
>>>>>poorer moves at lower depths, but the fail low will be solved in many less
>>>>>nodes. After seeing the faillow at depth 12, it might solve it using the hash at
>>>>>depth 9.
>>>>>
>>>>>Scott
>>>>>
>>>>
>>>>I do something like that, and I think it can help for some score drops.  (I
>>>>don't have fail-lows, I have score drops at the root (pvs, window wide open or
>>>>closed).)  Note that the ply changes from 12 to 9 after the bad score, allowing
>>>>a new move selection in a shorter time.
>>>>
>>>>8 191 20 62537 Bxf6 exf6 g6 Bf2 Bc6 Qg4 Qd8
>>>>9 187 35 115687 Bxf6 gxf6 g6 hxg6
>>>>10 173 49 169855 Bxf6 gxf6 g6 hxg6 fxg6 Bf2 Qd8
>>>>11 131 95 334767 Bxf6 gxf6 g6 Qg5 Nd7 hxg6 fxg6 Nxg6 hxg6 Bxg6 Qd8
>>>>12 -293 646 2281714 Bxf6 gxf6 Ng6 hxg6 fxg6 Nxg6 Bc6 Ne7 Rxe7 Qh4 h5
>>>>9 -293 646 2281715 Bxf6
>>>>9 131 765 2698812 b4
>>>>10 105 890 3143214 b4 Rf3 bxa3 bxa3 Bxa3 h6 g6 Rf1 Bc6 Bf2
>>>>11 105 1162 4192271 b4 axb4 axb4 Rf4 b3
>>>>12 99 1968 7109127 b4 axb4 Bxf6 exf6 g6 hxg6 hxg6 bxa5 Rxa5
>>>>13 106 3434 12510952 b4 axb4 axb4 Rf4 Ra2 Qg2 b3 Bb1 Ra1 Bf2 Nd7 h6 g6
>>>>
>>>>That's amateur 2.80 on a p4 2.8ghz.
>>>>
>>>>Will
>>>
>>>
>>>here is a technical issue question:
>>>
>>>you fail low on move x.  you back up 4 plies.  what do you do if move x is
>>>searched first and it fails low instantly???  back up 4 more?  repeat?  etc?
>>>
>>>I found problems trying this in Crafty a good while back.  As in a loop that
>>>won't end until time runs out...
>>
>>I think you misread what he is doing. If he gets the equivalent of a fail low at
>>the root at ply n, he widens the search window and restarts the search at ply
>>n-3(a form of iterative deepening). I tried something similar with Crafty and it
>>helped quite a bit on fail lows. The problem is that after a fail low, the hash
>>table is of little use, esp. with failsoft, and move ordering goes to pot.
>
>
>Perhaps you  missed my point here...
>
>If you reduce the depth in Crafty, _how_ do you guarantee that when you back up
>N plies and start the search, you don't get the fail-low move sorted first to
>search?  If you do, you die.  It will _always_ fail low and you enter a loop
>that won't terminate until time runs out.  That is the problem here, at least in
>Crafty. you get an infinite loop that will eventually have to play the very move
>that failed low...  Not what you intended...
>
>This is a problem because the oroginal hash info on the fail low will cause any
>re-search to a shallower depth to instantly fail low...  and there starts the
>loop.
>
>BTW...  I have seriously hurt my right hand, and as a result, I can't use it for
>at least four weeks as it recovers from surgery.  As a result, my explanations
>will likely  be a bit short and/or cryptic for obvious reasons...  But I'll
>still try to respond as necessary to questions, but typing/programming will be
>very slow for a while.  :(

Sorry to hear about your hand.  As a matter of fact, I went paintballing with my
son on Saturday, and I'm still sore all over. :)

As I mentioned, my approach to score-drops is a kludge that probably should be
handled in a more enlightened way.  But to answer your question, I don't get
repeated score drops because on the reduced ply re-search (plys 9-12 in the
above example), the ab window is wide open for the first move, and the score for
the offending root move is stored and returned as is without a search, until the
ply depth exceeds the original score-drop ply.  It's possible that a different
root move will again cause a score drop on the re-search, but in practice it's
not likely, and I also limit these re-searches to 3 times per search, as well as
reduce the reduction by 1 each time.

Will



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.