Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question about Lazy eval

Author: Alessandro Damiani

Date: 06:22:17 10/06/99

Go up one level in this thread


On October 06, 1999 at 04:59:47, Inmann Werner wrote:

>On October 05, 1999 at 16:10:49, Robert Hyatt wrote:
>
>>On October 05, 1999 at 15:32:02, Inmann Werner wrote:
>>
>>>On October 05, 1999 at 10:40:49, Robert Hyatt wrote:
>>>
>>>>On October 05, 1999 at 05:25:21, Bas Hamstra wrote:
>>>>
>>>>>What are good ways to cut down the number of evals? I saw Bob Hyatt post that he
>>>>>could easily double NPS when using "Lazy Eval".
>>>>>
>>>>>What is a correct way to do that? Is there more to it than the qsearch "delta"
>>>>>type of pruning?
>>>>>
>>>>>
>>>>>Regards,
>>>>>Bas Hamstra.
>>>>
>>>>
>>>>The idea is that in general, your eval _must_ return scores > alpha and
>>>>< beta, or they are not useful, correct?  (please ignore this if you use
>>>>mtd(f) of course, as it is more complicated then).  Suppose alpha=-.30 and
>>>>beta=+.30.  When you get into your eval, if you can figure out that you
>>>>can't possible bring the score within that window, you can return the
>>>>appropriate bound quickly.  IE if you come in and material is at -9.00 (You
>>>>have lost a queen somewhere in this path) then do you have an eval term that
>>>>can add +9.00 to the score to bring it inside the window?  If not, you can
>>>>either return -9.00, or the more safe -.30, since the score is at least
>>>>that bad.
>>>>
>>>>You can use this at several points to bail out after you are sure you can't
>>>>get "in the box" with the score...
>>>
>>>why is giving back -0.30 a more safe way then returning the material_balance of
>>>-9.00, what I do now?
>>>
>>>Werner
>>
>>
>>Question is, "which is closer to the right value?"
>>
>>for some positions, your -9 is closer.  For others, the -.030 might be
>>closer (ie if the -9 can be offset by an unstoppable pawn, for
>>example...)
>>
>>I prefer to be 'conservative here' as I will remember that -9 and it might be
>>overstated...
>>
>>I'd rather guess "score is < -.30" than "score is < -9.00"...
>
>But it is anyway a cutoff. (not the right word, i think)
>Problems can occur with hashtables, if the position is searched again with a
>wide open window, where -9 is a right value to accept. (or -0.30)
>But anyway, if I use -9, i forgot all about positional evaluation, if i use -.30
>the move may be choosen without any evaluation reason, forgetting the "lost
>queen".
>For me something like a unsolvable problem, one should not think to much about,
>cause solving it takes to much speed, produces more problems.
>If I write in the hashtables "not accurate value", the entry gets senseless and
>coming to the position causes full research. If I write in the wrong value I
>have to live with it.
>
>Werner

I think lazy evaluation is worst for algorithms with null-window searches. Like
every change to the search tree (forward pruning, extensions, ...) lazy
evaluation may introduce search anomalies: in PVS/NegaScout the test with
null-window tells you that score>x and the research tells you score<=x.
Contradiction!

Now I am doing without lazy. Not forever.

Alessandro




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.