21、人工智能:博弈树与极小极大算法实现

人工智能:博弈树与极小极大算法实现

1. 博弈树概述

在博弈中,连接格子中的任意两个相邻点,代表当前博弈时刻的真实博弈树会有许多分支,每个玩家的每一种可能走法对应一个分支。在树的每一层都是如此,不仅自己有很多走法可供选择,对手也一样,并且在树中每个可走的节点,每种走法都会有其对应的分支。只有在游戏接近尾声,几乎所有线段都已画出时,可能的走法数量才会缩减到两个和一个。

由于页面空间有限,我们无法画出博弈树的每一个分支,通常只展示几个走法来阐释博弈树的概念和思考过程。我们可以想象博弈树能延伸到任意深度,不仅要考虑自己的走法和对手的回应,还要考虑对对手回应的回应,以及对手对这个回应的回应,以此类推,不断构建博弈树。

2. 构建博弈树

博弈树与决策树有重要区别。决策树基于特征进行分类和预测,而博弈树只是描述每一种可能的未来。由于目标不同,构建方式也不同。在构建博弈树时,我们只需生成游戏中每一种可能走法的列表。以下是使用嵌套循环生成所有可能走法的代码:

allpossible = []
gamesize = 5
for i in range(1,gamesize + 1):
    for j in range(2,gamesize + 1):
        allpossible.append([(i,j),(i,j - 1)])
for i in range(1,gamesize):
    for j in range(1,gamesize + 1):
        allpossible.append([(i,j),(i + 1,j)])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值