[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
computer-go: alpha-beta cautions
The effectiveness of alpha-beta is strongly influenced by the quality
of the initial ordering, which is to say, by how good your evaluation is
WITHOUT alpha beta.
Alpha-beta doesn't find "good" moves that are better than your evaluation.
If your evaluation is worthless, alpha-beta will effeciently find the most
worthless choice.
Alpha-beta doesn't help AT ALL unless you can search at least 3 ply,
and doesn't really kick in until you can do 5 ply, and it's worst
case behavior is "no improvement". This means that to benefit from
alpha-beta you have to be able to afford at least a 3 ply exhaustive search
in your time budget, but you might get lucky.
The problem for go evaluators is that the state of the art is poor
unless something dramatic happens, such as a if group is removed.
This is true for local tactics, and massively true for whole-board
evaluations. (This is also the case for chess programs, which get
most of their evaluation quality by counting the wood. Chess programs
rarely allow the sum of all other factors to exceed 1 pawn in value).
There is a very small area where alpha-beta can help; where seeing a few
moves deeper allows you to see that "something dramatic" actually happen;
but if your evaluator makes dramatic pronouncements, and is WRONG,
alpha-beta will distil your bad evalutions into bizarrely wrong moves.
The bottom line: if you have a good program, proper use of alpha-beta
can make it run substantially faster. If you have a weak program,
alpha-beta will not help you at all. Alpha-beta cannot turn a weak
program into a stronger one.