Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: eval short-circut

Author: Robert Hyatt

Date: 18:11:32 11/29/01

Go up one level in this thread


On November 29, 2001 at 19:51:35, David Hanley wrote:

>In my program i decided that instead of calculating the material balance at each
>leaf i can just adjust it at each capture/promotion.  That seems to work pretty
>well, and i figured that an average on one op per inside node would be a lot
>cheaper than 64 per leaf.
>
>I realized later that many leaves will be reached with material balances far
>outside alpha & beta.  So, my thinking was to write code much like the
>following:
>
>if ( material < ( alpha - (2*pawn)))
>  return alpha - 1;
>if ( material > ( beta + (2*pawn)))
>  return beta + 1;
>
>Since i'm assuming positional factors will not exceed 2 pawns, i think this
>should not change the reults ever, and the values alpha-1 and beta+1 should not
>affect the search, falling outside the window, as it were.
>
>Now this does complicate quiescence a bit, but i think it's still something i
>can sort out.
>
>I was thinking furthermore that i can do a lot of the positional eval ( central
>control, pawn advancement, etc ) during the search.  That way, i can probably
>get a much more acurate compute-free guess at the current positional score, and
>short-circut positions less outside alpha & beta.
>
>Seems like a pretty straightforward technique, but i've not heard of it before.
>Is it fatally flawed?  I don't recall seeing it in a book or in someone's
>sources.
>
>
>
>dave


It is a rudimentary approach to lazy eval, plus quiescence futility pruning...

It definitely is sound, but watch the "window" as you improve your eval. The
window will have to widen.



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.