Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Razoring?

Author: Peter McKenzie

Date: 10:54:07 01/27/99

Go up one level in this thread


On January 27, 1999 at 09:05:10, Robert Hyatt wrote:

>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...

Bob, what you describe as razoring (which is also what I thought was razoring
and I haven't even read the crafty sources :) matches the definition of Futility
Pruning as given by Ernst Heinz in his recent ICCA article (also on the
excellent web page http://wwwipd.ira.uka.de/Tichy/DarkThought/).

I guess they call it 'pruning' because, by jumping to the q-srch one ply
earlier, you are tossing out moves that you would have searched had you not
jumped to the q-srch.

I'm still unsure of exactly what Ernst's (and others who share his definition of
 Futility Pruning) definition of razoring is.  Maybe its when you just return
alpha instead of jumping to the q-srch?

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



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.