Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Interesting mate test for hashing

Author: Robert Hyatt

Date: 20:25:22 09/11/99

Go up one level in this thread


On September 11, 1999 at 23:03:25, Bas Hamstra wrote:

>
>I'm working on it too, based on your advice... I understand the principle: it's
>cheaper to prove a move is worse than the first move, than to determine it's
>exact score.
>
>You say PVS gives you as least 10% over alphabeta%. Others have reported that
>MTD(f) gives you at least 10% over PVS (someone mentioned 15%).
>
>ab      100.000 nodes
>PVS     90.000 nodes
>MDT(f)  81.000 nodes ???
>
>What is your opinion on this? Is there any reason to not do MDT(f) right away?
>


mtd(f) has its own unique problems.  (a) you need a stable evaluation, not
one that varies widely in the scores it produces.  (b) you have hashing issues
to resolve, in that you really need to store two bounds, since every mtd(f)
search fails high or low, and since you keep re-searching after shifting the
root window...  you need both bounds so that when you get a fail-low in a
position, you can also remember the fail-high that happened when the window
was different...  (c) lazy eval is a killer because you need to use fail-soft
to get the best bound back to the root, and lazy eval tears this up badly...

so there are lots of problems to solve...  I don't use mtd(f) and don't plan
to do so.  Whether you get that 10% depends on a _lot_ of things.  When I tried
this, the best I got was 1/2 the speed of my PVS code... because of my eval and
lazy exits mainly...  I'm not willing to reduce the size of my tree by maybe
10% with mtd(f) but make my program 2x slower by turning off lazy eval.



>My intuition says this: if everyone *still* sets an aspiration window for PVS,
>it must somehow be *non* optimal. Don't you agree? For you have seen it still
>searches more than necessary (on average, in games), and try to restrict that by
>setting an initial window. An optimal method wouldn't need that. Do you have any
>interesting philosophies on that issue?
>



I obviously use aspiration search + PVS.  And think that it is very good.
Whether mtd(f) is better is an open question.  IE it took me a long while
to make bitboards really competitive.  I suspect that mtd(f) is the same
in that regard...  you have to commit to it and make it work.  And in doing
so you may eventually get that 10%.  But in doing so, note that you do have
to totally abandon lazy eval if your eval can produce significantly wide scoring
swings...



>Regards,
>
>Bas Hamstra.



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.