Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: how to back up the PV with minimal work.

Author: Tord Romstad

Date: 02:40:20 01/22/04

Go up one level in this thread


On January 21, 2004 at 20:53:00, Robert Hyatt wrote:

>On January 21, 2004 at 18:21:28, Tord Romstad wrote:

>>I use MTD(f), hence I *never* get any "true scores" anywhere in the tree.
>
>Why?  I played with mtd(f) for several months right after Don Daily started
>his "you got to try this" many years ago...  I got exact scores, because the
>last two searches have a common "edge" and that "edge" is the true score.

OK, in that sense I get true scores, of course.  But I don't see any
good way to guess whether this is going to happen at a specific node.

>>  My
>>intuition
>>regarding PVS is not very good (I have used MTD(f) almost since the beginning),
>>but
>>I don't see any reason not to use IID at all expected fail-high nodes in a PVS
>>search,
>>too.  At a fail-high node, you can return a value before all moves are searched.
>> If
>>your move ordering is perfect, you will only need to search one move.  It
>>therefore
>>makes sense to make some extra effort to make sure that the first move searched
>>will really return a score >= beta, and the most obvious way to do this is to
>>first
>>do a search with reduced depth.  What am I missing?
>>
>
>for the majority of moves, it is easier to find a capture refutation than to
>do an N-iteration search...

For this reason, I don't to IID when there is a hanging piece which are
sufficiently valuable that capturing it will almost certainly cause a
fail high.  Basically, I do IID when I expect a fail high and have no
obvious candidate (hash table moves, winning captures, safe promotions,
mates in 1, etc.) for a move to search first.

>I tried it both ways (plus other ideas) when I
>first did this.  What I am doing right now has really proven to be effective
>with no particular down-side or risk...
>
>For normal fail-high positions we have already been doing iterated searches
>for previous depths, so hopefully we get decent ordering here most of the
>time using normal ideas.  The critical positions are the PV nodes, because
>there searching a good move first is not good enough.  We need the _best_ move
>first.  At normal fail-high positions, we only need a move good enough to cause
>a cutoff, not the best move.  IID will provide the best move generally, but at
>significant cost.

No, IID will not generally provide the best move, at least not the way I
have implemented it.  It will only give you a move good enough to fail
high at a reduced search depth.  Usually, this move will fail high even
at full search depth.

>>Another thing that has always puzzled me is that reducing the depth by only 1
>>ply
>>gives better results for me than reducing by 2 plies, like you and almost
>>everybody
>>else do.  I have tested this very thorougly, and depth-1 always seems to be a
>>bit
>>better.  Really weird.
>
>I tried it both ways years ago.  I found the depth-2 worked better for me.  I
>ran the test set (a bunch of positions) with IID off, using D-1 and D-2, and I
>chose the case that produced the shortest time overall...  for me that was D-2.
>I should probably test it again just to see if things have changed, as it is
>certainly possible after so many versions under the bridge. :)

Perhaps it's time for me to try D-2 again, too.

Tord



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.