我理解这个搜索的基本原理,但是,当alphabeta的beta <=值可以返回beta、中断或继续循环时,beta中断部分让我感到困惑。
发布于 2010-03-28 14:40:57
只是为了好玩,我猜你说的是Minimax和Alpha-Beta截止点,在那里
α-β截止是一种减少Minimax策略中的节点数目的方法。对于节点,它除了计算分数外,还计算alpha值和beta值。
这是一页,它描述此方法,并提供到实现此方法的C程序的链接。希望这里能帮助你解决你的问题,如果我对我的猜测完全不感兴趣,请在你的问题中给出更多的细节。
function MINIMAX(N) is
begin
if N is a leaf then
return the estimated score of this leaf
else
Let N1, N2, .., Nm be the successors of N;
if N is a Min node then
return min{MINIMAX(N1), .., MINIMAX(Nm)}
else
return max{MINIMAX(N1), .., MINIMAX(Nm)}
end MINIMAX;发布于 2010-07-09 00:34:51
当您当前搜索的分支比您已经搜索过的分支更适合您的对手时,β截尾就会发生。曾有人向我解释如下:
假设与你的敌人作战,你会考虑你的一些选择。
在充分搜索了你的第一选择的最佳结果(投掷一拳)后,你确定结果是你的对手最终会戳你的眼睛。我们称之为贝塔..。到目前为止你的对手能做到的最好的。显然,你希望找到一个更好的结果。
现在我们考虑你的下一个选择(丢脸地逃跑)。当探索你的对手的第一个可能的答案时,我们发现最好的结果是你被枪击中背部。这是触发测试截止的地方..。我们停止搜索你的其他对手移动和返回贝塔,因为我们真的不在乎你是否发现在搜索他的其他答复,他也可以核武器你。您已经从前面的选项中选择了眼睛中的戳。
具体而言,这意味着你的程序应该返回beta..。如果它不起作用,您应该与α-beta搜索算法其他地方进行比较。
https://stackoverflow.com/questions/2533219
复制相似问题