我在游戏中使用了 MinMax 算法,因为有很多可能性 MinMax 递归需要太长时间,即使是“alpha-beta pruning”
我的代码看起来像这样:
min(state,depth,alpha,beta):
if stopingCond:
return value
for moves in allmoves:
state.do(move)
beta = min(beta, max(state,depth,alpha,beta) )
if alpha >= beta: return beta
return beta
max(state,depth,alpha,beta):
if stopingCond:
return value
for moves in allmoves:
state.do(move)
alpha = max(beta, min(state,depth,alpha,beta) )
if alpha >= beta: return alpha
return beta
我知道有时您可以使用for
循环而不是递归,但我找不到转换它的方法。
如果有人有一个好主意,我会很高兴听到它!
谢谢,