foreach child of node//极小节点 α :=max(α, alphabeta(child, depth-1, α, β, not(Player) )) ifβ ≤α// 该极大节点的值>=α>=β,该极大节点后面的搜索到的值肯定会大于β,因此不会被其上层的极小节点所选用了。对于根节点,β为正无穷 break(*Beta cut-off*) returnα else//极小节点...
这属于Alpha剪枝,可能是剪掉的节点是极大节点的原因吧。相应的也有Beta剪枝,图中忽略了。 下面的维基百科伪代码,其中两个值,α表示搜索到的最好的值,β表示搜索到的最坏的值。 function alphabeta(node, depth, α, β, Player) ifdepth=0or nodeisa terminal node returnthe heuristic value of node ifPlayer...
这属于Alpha剪枝,可能是剪掉的节点是极大节点的原因吧。相应的也有Beta剪枝,图中忽略了。 下面的维基百科伪代码,其中两个值,α表示搜索到的最好的值,β表示搜索到的最坏的值。 function alphabeta(node, depth, α, β, Player) if depth = 0 or node is a terminal node return the heuristic value of n...
这属于Alpha剪枝,可能是剪掉的节点是极大节点的原因吧。相应的也有Beta剪枝,图中忽略了。 下面的维基百科伪代码,其中两个值,α表示搜索到的最好的值,β表示搜索到的最坏的值。 1function alphabeta(node, depth, α, β, Player)2ifdepth =0or nodeisa terminal node3returnthe heuristic value of node4ifPl...
这属于Alpha剪枝,可能是剪掉的节点是极大节点的原因吧。相应的也有Beta剪枝,图中忽略了。 下面的维基百科伪代码,其中两个值,α表示搜索到的最好的值,β表示搜索到的最坏的值。 function alphabeta(node, depth, α, β, Player) ifdepth=0or nodeisa terminal node...