Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Razoring?

Author: Robert Hyatt

Date: 06:05:10 01/27/99

Go up one level in this thread


On January 27, 1999 at 04:19:45, Peter McKenzie wrote:

>On January 26, 1999 at 22:08:21, Robert Hyatt wrote:
>
>>On January 26, 1999 at 15:02:10, Peter Fendrich wrote:
>>
>>>On January 26, 1999 at 11:56:50, Steve Maughan wrote:
>>>
>>>>I've heard of this technique but am not sure exactly what it is.  Could someone
>>>>please explain it?
>>>>
>>>>Regards
>>>>
>>>>Steve Maughan
>>>
>>>Like the term "selective program" I don't think there is only one definition.
>>>The first time I heard about razoring in chess programs was in the article:
>>>"Tree-Searching and Tree-Pruning Techniques" by John Birmingham and Peter Kent
>>>at 1977. It was in "Advances in Computer Chess 1" wich I don't have but I got
>>>the article from some other book.
>>>They described razoring like this:
>>>1) In a node make and search the first n (few) moves.
>>>2) The rest of the moves are first evaluated by the static evaluator. If the
>>>evaluator didn't reach alpha they just skipped the move instead of of searching
>>>it.
>>>
>>>At that time it probably was a good idea when the programs reached a few plies.
>>>This old style of razoring is better done by Null moves today, IMHO...
>>>
>>>A more modern approach can be found at Dark Thought's site, especially at the
>>>page: http://wwwipd.ira.uka.de/Tichy/DarkThought/node29.html
>>>They just shortens the depth if the razoring condition is true.
>>>
>>>//Peter
>>
>>The only definition of razoring I remember seeing is the one I use in Crafty:
>>
>>If I am at depth=2 (2 plies from the leaves, IE I have one more ply of
>>full-width stuff to look at before I drop into the q-search code) and the
>
>If you are at depth=2, 2 plies from the leaves, don't you have TWO more ply of
>full-width search left?

Sorry... I just worded that poorly.  I _am_ at depth=2, but I am in the
_middle of the search at that point, which accounts for one of the two plies
you are thinking of.  IE normally I choose a move, make it, and call search
recursively with depth-1, which would then be '1'...  search there would try
any move but since depth-1 would be zero, it would call quiesce rather than
search.

So the point is that for moves that seem hopeless, I drop right into the qsearch
rather than doing one more ply of normal search.  Note that if I do a 6 ply
search, I start depth at 6, not 5... some use depth=0 as the last full-width
ply, I don't... so that can cause some semantical confusion...

I am not sure exactly where, but I found this in an ICCA journal... it was not
an idea I originated.  I want to say Birmingham/Kent, but am not certain as this
was written 3 years ago or so..


>
>>current move is not 'interesting' (not a check, etc.) then I reduce the depth
>>by 1 extra ply which means I drop right into quiesce.  I only do this if the
>>move is uninteresting, and the static eval (including material) is so far below
>>alpha that 'uninteresting' moves have little chance to bring it back up to a
>>point where it won't fail low.
>
>This sounds like what I described in an earlier post, which I'm told is called
>Futility Pruning.  Or perhaps I'm missing something here??
>


this isn't 'pruning' because the move is not tossed out, it is just searched to
on ply less than normal.  That was what convinced me to try it, because if the
position is tactically active, doing this still gives the q-search a chance to
mop up...



>>
>>works pretty well most of the time, and speeds the search by 25-50% generally.



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.