[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ref.: Re: computer-go: [Question] Alpha-Beta Pruning & Null Move
Actually, this is not what null move does at all if you are talking
about null move pruning. Null move pruning is simply a technique to
estimate a lower (or upper) bound on the score that a tree search
would likely return. It has to work with alpha/beta searches in order
to produce cutoffs. And it's speculative, it can give you incorrect
results but at least in chess it is so fast and so reliable that it
easily compensates for the occasional errors.
I guarantee that null move pruning will prune a huge portion of the
search tree in a global searching Go program, and probably be correct
almost all of the time. HOWEVER, any good pruning algorithm HAS to be
right "almost all" the time or it's useless. The only question in my
mind is how much is "almost always" in GO and is it enough to be
useful?
It's very important how you think about algorithms like this. Null
move pruning is not about pruning "moves", it's about pruning sections
of the search tree. The pruning is based on expectations set by the
alpha beta window. You might prune after playing the very best move
possible in some position but again, it's not the move itself you are
pruning, it's really your evidence that this line won't meet some goal
established by what has already been discovered in the search tree.
With null move pruning you don't care (or even know) which moves are
good or bad, you only care which positions it makes sense to explore
(just like alpha/beta pruning.)
There are silly approaches like looking at the n best moves as judged
by some criteria (and completely ignore the rest.) I belive this is
almost certainly doomed to failure as a way to constrain a global
search. If you are using a search at all, you are admitting that you
don't have the ability to judge the quality of moves (which we
probably all admit we can't do very well.) And yet you are judging
the quality of moves to speed up the search. These are the types of
programs that may actually play worse with increased depth.
Don
Date: Sat, 21 Apr 2001 14:00:16 +0200
X-Authentication-Warning: host1.webarna.es: Host 213-99-105-42.uc.nombres.ttd.es [213.99.105.42] claimed to be 213.99.105.42
From: Joan Pons Semelis <joan@xxxxxxxxxxxxxxxxx>
X-Mailer: ProxiMail version 1.0 Beta 2c for USR PalmPilot
URL: http://www.proxinet.com/
Sender: owner-computer-go@xxxxxxxxxxxxxxxxx
Precedence: bulk
Reply-To: computer-go@xxxxxxxxxxxxxxxxx
Content-Type: text
Content-Length: 393
If I've understood correctly null-move will be useful mainly to prune the moves that are worst than pass.
This really looks interesting in chess, but in go it's hard to have this kind of moves.
And being usually of the type
"don't put your-self in atari"
are easily avoided by more heuristical means.
--
Joan Pons i Semelis
joan@xxxxxxxxxxxxxxxxx
--
Joan Pons i Semelis
joan@xxxxxxxxxxxxxxxxx