Computer Chess Club Archives


Search

Terms

Messages

Subject: eval short-circut

Author: David Hanley

Date: 16:51:35 11/29/01


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



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.