我在学Alpha-Beta的搜索的时候,网上给出的示例代码是这样的:
int AlphaBeta(int depth, int alpha, int beta) {
if (depth == 0) {
return Evaluate();
}
GenerateLegalMoves();
while (MovesLeft()) {
MakeNextMove();
val = -AlphaBeta(depth - 1, -beta, -alpha);
UnmakeMove();
if (val >= beta) {
return beta;
}
if (val > alpha) {
alpha = val;
}
}
return alpha;
}
这里不太清楚为什么
if (val >= beta) {
return beta;
}
这里可以有效而且不遗漏的剪枝,Bfs之后越看越懵逼,请问有没有dalao能简单说一下QAQ
(验证码:fw35)