Computer Chess Club Archives


Search

Terms

Messages

Subject: AlphaBeta has a bug.

Author: Bas Hamstra

Date: 12:19:00 08/25/99


Well at least the popular ab approaches have a bug.

Suppose you had no tricks, no extensions, no nothing. Just ab and a qsearch on
top of it. You set an aspiration window at the root, say [200, 300].

Now *if* the true ab value lies within this window, it should find it, right?

WRONG!

The fact that everyone has a

      if(Eval >= Beta) return Beta;

somewhere in the qsearch, makes that this no longer must be true. Reason:
suppose you sacrifice lots of material, but can win more material back, due to
severe mating threats, or whatever. With the window [240, 260] the qsearch
concludes at some point to return Beta because of the material advantage (3
pieces sacced), resulting in a fail-low on the [240, 260] window. However whith
a wider window it can NOT do this, and finds the true value of 246. It now sees
the material can be won back with rent.

My conclusion is that a fail low on [240, 260] followed by a result of 246
on [-inf, inf] is completely normal and unavoidable in many cases. It also
explains this:

  fail low on [240, 260]
  fail high on [-inf, 241]
  value = 246 on [-inf, inf]

I don't like it. Suppose you start ab with [-inf, inf] and after a while
alphabeta itsself has established a window of [x, y], halfway the search.
Shouldn't the same phenomenon be possible?



Regards,
Bas Hamstra.













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.