
176
|
第
7
章
状态。
β
越小,则对手在限制玩家方面表现得越好。因为
AlphaBeta
算法有一个最大分
支数深度,所以任何决定都受这个深度限制。
AlphaBeta 搜索算法小结
最好情况和平均情况:
O(
b
ply/2
)
最坏情况:
O(
b
ply
)
bestmove (s, player, opponent)
[move, score] = alphaBeta (s, ply, player, opponent, -
∞
,
∞
)
❶
return move
end
alphaBeta (s, ply, player, opponent, low, high)
best = [null, null]
if ply is 0 or there are no valid moves then
❷
score = evaluate s for player
return [null, score]
foreach valid move m for player in state s do
execute move m on s
[move, score] = alphaBeta (s, ply-1, opponent, player, -high, -low)
undo move m on s
if -score > best.score then
low = -score
best = [m, -low]
if low
≥