Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Razoring?

Author: Peter Fendrich

Date: 16:29:25 01/26/99

Go up one level in this thread


On January 26, 1999 at 19:04:13, Christophe Theron wrote:

>On January 26, 1999 at 14:47:35, Eugene Nalimov wrote:
>
>>On January 26, 1999 at 14:28:57, Christophe Theron wrote:
>>
>>>On January 26, 1999 at 14:02:27, Peter McKenzie 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?
>>>>
>>>>Here is what I call razoring:
>>>>
>>>>Lets say we are doing a search to depth N, that means that at depth (N+1) we go
>>>>into the quiescence search, meaning the side to move has the option of standing
>>>>pat (setting alpha to the static score) or making a capture move.
>>>>
>>>>At depth N, if you have a really bad position and make a harmless move, the
>>>>opponent will be able to make a cutoff at depth N+1 just by standing pat.  With
>>>>razoring, you try to avoid searching those 'harmless' moves.  My implementation
>>>>just goes straight to the quiescence search at depth N if the score is below
>>>>alpha by at least 2 pawns.  The reasoning being that a positional move that
>>>>isn't a capture probably won't be able to raise the score by 2 pawns.
>>>
>>>
>>>What you are describing is called "futility pruning". Razoring is something
>>>different, much more risky.
>>>
>>>
>>>    Christophe
>>
>>I beleive that "futility pruning" is just a special case of
>>"razoring". I used to think that "razoring" is forward pruning
>>where you decide to ignore some moves based on static
>>evaluation of the position (as opposed to null move, where you
>>first search with a lesser depth, and other similar ideas).
>>
>>If I'm correct, than "futility pruning" is just a "razoring"
>>when depth=1. And it's much safer than other variants of
>>"razoring", or at least safer when you cannot spend thousands
>>lines of code for more detailed position analysis before
>>performing "razoring".
>>
>>Eugene
>
>
>I think you are not correct.
>
>Futility pruning is the name of the pruning you do based on static evaluation at
>"depth=1" (1 ply before the horizon). The idea is: "if I'm already in a bad
>position near the horizon, I'd better go into QSearch right now, no use to try
>the non-capture moves". It's not very risky.
>
>"Extended futility pruning" applies the same idea at depth greater than 1 (2
>plies or more before the horizon). It is very risky.
>
>You can find a good description of futility and extended futility pruning in the
>ICCA Journal (not the latest, but the one before I think), it's a paper by Ernst
>Heinz.
>
>Razoring involves a depth reduction. You don't just prune the line based on the
>static evaluation, you just reduce the remaining depth to search from that
>point. It is applied at depth=2. Razoring is risky, but less than extended
>futility.
>
>I think Bob uses it in Crafty (he used it the last time I checked Crafty
>sources, that was version 9.x).
>
>These techniques are suspect, because they generally weaken the "tactical"
>abilities of your program. The tradeoff is that they may help your "positional"
>depth and understanding. But you'd better run serious tests before deciding to
>keep them or not.
>
>
>    Christophe

Risky or not, depends on what conditions you have. Also what kind of program.
With a "dumb" Quiescense and "hard" conditions it doesn't have to be too risky.
With a smarter Qs using things like extended matefinder or tactical moves other
than captures, razoring and futility pruning could be a disaster...

//Peter




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.