Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Threat Extension and Tree Explosion

Author: Scott Gasch

Date: 16:21:34 05/23/02

Go up one level in this thread


On May 23, 2002 at 14:47:19, Peter McKenzie wrote:

>On May 23, 2002 at 05:13:42, Andrew Williams wrote:
>
>>On May 23, 2002 at 03:40:29, Steve Maughan wrote:
>>
>>>I have recently been tinkering with threat extensions (TE).  I'd definitely like
>>>to include some form of TE but I have encountered some problems of tree
>>>explosion.
>>>
>>>What is happening is that the null move routine is detecting a mating threat and
>>>I'm extending by one ply at ply[x].  I then try a move (at ply[x]) that doesn't
>>>aviod the threat. In reply the opponent plays a sub-optimal move at ply[x+1]
>>>that does not lead to mate even though a forced mating move does exist.  At
>>>plt[x+2] I then detect a threat and extend again...
>>>
>>>This sequence leads to a tree explosion.  Is there any common wisdom as to how
>>>to avoid this?  Some ideas that I've had are:
>>>
>>>1) Only extend by a fraction - inelegant solution IMO
>>>2) Store the rely to the null move that gave the checkmate and make this the
>>>Killer move for the next ply - didn't seem to work well - still some tree
>>>explosion.
>>>
>>>Has anyone any ideas?
>>>
>>>Thanks,
>>>
>>>Steve
>>
>>Why not restrict your search to one threat extension per line? ie Keep track of
>>whether you've had a TE in the current path, and if so don't check for it again.
>
>I do this in Warp, and I'm not that happy with the it.  Its seems pretty
>artificial, and doesn't scale well with deep searches.
>
>I'm planning to try partial ply pretty soon.
>
>I suspect Steve has a move ordering problem though.  An interesting issue.
>

Personally, I like the proposal of saving the nullmove response (that caused a
FH on the next ply) as one of the killers.  I do something similar... when I get
a FL score back from the nullmove I grab the nullmove response.  If it took a
piece I store the square the piece was taken on and pass it into the move
generator as a potentially dangerous place to have a piece.  Combined with
partial incremental attack tables this "danger square" idea improves move
ordering significantly, IMHO.

My first instinct as to why a full ply extension for nullmove mating threat is
causing someone an explosion, though, is that something is wrong with move
ordering.  Personally I do a 3/4 ply extension here... but when I get back home
from work tonight I'll put it back at a full ply and post some node counts.

Scott








This page took 0.01 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.