Author: Brian McKinley
Date: 17:06:03 09/28/98
Go up one level in this thread
On September 28, 1998 at 16:48:57, John Coffey wrote: >On September 28, 1998 at 15:05:52, Chris Carson wrote: >>Take a look at the following links: >> >>http://www.xs4all.nl/~verhelst/chess/ - click on "Chess Tree Search" >> >>http://www.npac.syr.edu/copywrite/pcw/node341.html >> - click on "Sequential Computer Chess" >> >>http://www.maths.nott.ac.uk/personal/anw/G13GT1/compch.html >> >>Best Regards, >>Chris Carson > >Thanks these are helpful. The first one contains the pseudo-code >that I had already seen. Wihtout fully understanding how >it works, I can use it as a starting point. Some questions ... > >int AlphaBeta (pos, depth, alpha, beta) >{ > if (depth == 0) > return Evaluate(pos); > best = -INFINITY; > succ = Successors(pos); > while (not Empty(succ) && best < beta) > { > pos = RemoveOne(succ); > if (best > alpha) alpha = best; > value = -AlphaBeta(pos, depth-1, -beta, -alpha); > if (value > best) best = value; > } > return best; >} > >This code I understand, but ..... > >my question is about the following .... > >"A fail low is when you search a position and return a score <= alpha. A fail >high is when you return a score that is >= beta." > >What are the significance of "fail low" and "fail high" and how do they >affect the search? > >John Coffey The example you gave in the first post was a fail high. This happened when you search the second branch and the score was worse for white. Negative 3 would be the value of beta at that point and negative 2 is greater than negative 3. This is where move ordering becomes important. Finding the "best" successor as soon as posible will reduce the number of nodes you need to search if the node does not fail low. Brian
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.