[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