Don Daily wrote
I noticed a trend in computer chess towards throwing out more and
more moves. Years ago it was only alpha/beta pruning but then later
null move pruning, then other kinds of pruning and now the tree
is being cut in many places. Chess search trees now look much
more like the intial (highly selective) approach that was rejected
just a few decades ago.
Yes, the current chess-searches are not anymore brute force at all. E.g. the
History Heuristic as its implemented selects basically the first k (k==3)
moves. But in contrast to the original pruning methods its "soft-pruning".
The search depth of the remaining moves is reduced by R (R==1). An incorrect
pruning decission is not taken "forever". The general idea is to use
information from the search tree to shape the search tree. Ulf Lorenz from
the Univ. Paderborn considers the search tree as an adaptable error filter.
In Suzie we (Peter Woitke, Stefan Mertin and Chrilly) use Null-Move Pruning,
Multi-Cut and Futility Pruning. History Pruning does not work so far.
move-ordering is not very good and the History-Heurisitic relies on the
fact, that the k+1...n-th have a very low probability to generate a cutoff.
The poor move-ordering is related to a significant odd-even effect. Suzie
evaluates the last move too high. In chess the simple "capture the highest
piece with the lowest one" (MVLV) rule is very effective and simple. There
is no similar simple rule in Go. This has also a major impact on search
efficiency.
Suzie searches currently about 10KNodes/sec. The typical search depth is 7.
This is for 9x9 not very impressive. With better move-ordering depth 8-9
should be possible.
A major problem is quiescence search. We have not found so far a simple and
efficient rule. Either the rule is too selective or the quiescence explodes.
Again in chess MVLV is very effective. Each capture reduces the search tree
and the quiescence-search terminates by itself. Generating just captures is
in Go not sufficient. The tactical searcher in the evaluation takes captures
already into account. But if one generates forcing moves like e.g.
building/destroying 2-eyes, semiais ... there is no natural termination
limit.
Another surprising result is, that we have found so far no reasonable
search-extensions. This is related to the relative unstable evaluation. The
programm gets too much possibilities to "cheat". But this should hold also
for the pruning techniques. The pruning methods have a clear positive
effect. Depth 7 means, Suzie searches at most 8 Plies (7 normal and 1
quiescence-moves). In chess a 7 Ply search can also 15 Plies long.
UCT and Monte Carlo. It's not as much Monte Carlo any longer.
Yes, ecaxtly. I also think that the difference is fuzzy. Both methods fit
into the adaptable error filter model of Ulf.
Chrilly
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/