[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
computer-go: [Questions] Null Move
Some questions about Null Move:
1. What does "-beta + 1" mean in "val = -AlphaBeta(depth - 1 - R, -beta,
-beta + 1)"? Why set the upperbound to "-beta + 1" when considering a null
move? Especially, why use "1" instead of other values?
2. I have not seen a Web reference talking about the problem of consecutive
null moves. In case, say, 2 null moves are used in a row, e.g., Black ->
White skip to Black -> Black skip back to White, is equivalent to Black ->
White with depth reduced by R * 2. This is like to evaluate with a shallower
depth and use it. Is there a danger to use a value with shallower depth?
3. Go is different from Chess in that Go has co-survival but Chess does not.
When a co-survival is reached, a null move for either side is better than
any move. In this case, will
...
val = -AlphaBeta(depth - 1 - R, -beta, -beta + 1);
if (val >= beta)
return beta;
...
still work? I guess my problem comes from my poor understanding of "val =
-AlphaBeta(depth - 1 - R, -beta, -beta + 1)".
Your help is highly appreciated.
Thanks.
-- Mousheng Xu
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp