Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Programmers: beginner tree search questions

Author: Russell Reagan

Date: 14:19:52 09/30/03

Go up one level in this thread


On September 30, 2003 at 17:03:46, Edward Seid wrote:

>In the example where the terminal nodes are either -9999 or zero or +9999, it
>does make a difference.  Setting alpha/beta to +/-10000 performs the same as
>+/-infinity.  If using +/-9999, then it's possible for the score to equal either
>alpha or beta.  Shouldn't that result in faster cutoffs or is my logic wrong?

I think it is a good idea to make INFINITY equal to some value that is bigger
than your score fore MATE_SCORE. I know that Bruce Moreland does this in Gerbil
"in order to avoid unforeseen problems". He sets INFINITY to 40000, and mate to
32767.

When you do an alpha-beta search, and the score that you get back is less than
or equal to alpha, or greater than or equal to beta, then you have to do a
re-search. Normally this is what you have to do during an aspiration search, and
during a "normal" search this isn't a problem because theoretically, your search
should not be capable of returning a value of +/- INFINITY. But if INFINITY
equals MATE_SCORE, then it is possible for a call to alpha-beta with alpha =
-INFINITY and beta = +INFINITY to return a score that is equal to the alpha or
beta value that you passed in to your alpha-beta function, and this will mean
you can't reliably detect mates, and who knows what other "unforseen problems"
might plague you.

Read Bruce's page on Aspiration Windows, if you haven't already.

http://www.brucemo.com/compchess/programming/aspiration.htm



This page took 0.01 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.