Alpha Beta修剪返回修剪后的值

问题描述

我是python的新手,我试图对一组值执行alpha-beta修剪,我的输出应该是从树中修剪的值,这是输出返回根节点的最佳值的代码,但是我希望输出是被修剪的子节点的值。如果有人可以引导我完成该操作,那将是非常不错的。

谢谢

示例: 输入: 2 4 13 11 1 3 3 7 3 3 2 2 输出: 3 6 7 10 11

代码:

MAX,MIN = 1000,-1000

def minimax(深度,nodeIndex,maximizingPlayer, 值,alpha,beta):

# Terminating condition. i.e 
# leaf node is reached 
if depth == 3: 
    return values[nodeIndex] 

if maximizingPlayer: 

    best = MIN

    # Recur for left and right children 
    for i in range(0,2): 
        
        val = minimax(depth + 1,nodeIndex * 2 + i,False,values,alpha,beta) 
        best = max(best,val) 
        alpha = max(alpha,best) 

        # Alpha Beta Pruning 
        if beta <= alpha: 
            break
    return best
    

else: 
    best = MAX

    # Recur for left and 
    # right children 
    for i in range(0,2): 
    
        val = minimax(depth + 1,True,beta) 
        best = min(best,val) 
        beta = min(beta,best) 

        # Alpha Beta Pruning 
        if beta <= alpha: 
            break
    return best

驱动程序代码

如果名称 ==“ 主要”:

values = [2,4,13,11,1,3,7,2,2] 
print("The optimal value is :",minimax(0,MIN,MAX)) 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...