有人可以解释这个算法吗?
问题描述:
private int NegaMax(int p) {
int End = GameOver();
if (End != 0)
return End;
int best_value = (p == 1) ? 512 : 2048;
for (int b = 1; b <= 256; b = b << 1) {
int move = (~(X | O) & b);
if (move != 0) {
put(p * move);
int s = NegaMax(-p);
best_value = p * (s & 0xfffffe00) > p
* (best_value & 0xfffffe00) ? ((s & 0xfffffe00) | move)
: best_value;
clear(move);
}
}
return best_value;
}
我的尝试:
我不明白这个算法?
有人可以帮帮我吗?
提前谢谢。
What I have tried:
I don't understand this algorithm ?
Can someone help me please ?
Thanks in advance.
答
引用:
那么你能解释一下我的negamax算法吗?
So can you explain me the negamax algorithm in general please ?
维基百科可以: Negamax - 维基百科 [ ^ ]