Author: Bo Persson
Date: 01:34:57 10/01/03
Go up one level in this thread
On October 01, 2003 at 01:10:12, Edward Seid wrote: >On September 30, 2003 at 18:05:50, Gian-Carlo Pascutto wrote: > >>If you only have 3 possible scores, I don't think the issue of having to >>research actually plays. You center around 0. If you get a score back, it's 0. >>If you fail high, the score must necessarily be +9999. If you fail low, it's >>necessarily -9999. No need to resolve anything. >> >>The original poster was correct there will be more cutoffs (I think), and if >>the goal is to solve the game, this may be a good optimization. >> >>But for a beginner, things like this should be avoided since it gets complicated >>fast. > >After doing some pencil-and-paper calculations using a NegaMax with alpha-beta >algorithm, I've come to the conclusion that setting alpha = -9999 and beta = >+9999 is a good optimization IN MY PARTICULAR APPLICATION. > >The only valid scores in my application are +9999, zero, or -9999. Therefore, >it isn't possible for a returned score to be out of the range [-9999, +9999]. >In a typical fail-low or fail-high, there's a possibility that the score will >fall outside of the [alpha, beta] range, but that doesn't exist in my >application. > >Consider a 1-ply search with alpha = -9999 and beta = +9999: > >1- If the first candidate move is a win for the root node, +9999 is returned. >Since this score >= beta, then the rest of the candidates aren't considered. > >2- If the first candidate move is a draw for the root node, 0 is returned. >Since this score > alpha, then alpha = score (0), and search continues with the >next candidate. > >3- If the first candidate move is a loss for the root node, -9999 is returned. >This has no effect on alpha or beta, and the search continues with the next >candidate. > >I emphasize that this is good for my application, but may not be good for a real >chess program that requires a heuristic evaluation at a non-terminal node. Yes, the main problem is that the vast majority of positions fall into 4- none of the above If you could get all you positions into one of the categories 1-3, you wouldn't need a search! In a real game your program would need some way to favor positions that look "better than a draw" and avoid positions that look "worse than a draw". The next step would be to try to determine if some moves may lead to positions "much better than a draw", and so on. :-) Bo Persson
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.