其他分享
首页 > 其他分享> > 2021秋季--机器学习

2021秋季--机器学习

作者:互联网

第一节:alpha与博弈树入门

一、博弈入门

零和博弈(zero-sum game),又称零和游戏,与非零和博弈相对,是博弈论的一个概念,属非合作博弈。指参与博弈的各方,在严格竞争下,一方的收益必然意味着另一方的损失,博弈各方的收益和损失相加总和永远为“零”,双方不存在合作的可能。
也可以说:自己的幸福是建立在他人的痛苦之上的,二者的大小完全相等,因而双方都想尽一切办法以实现“损人利己”。零和博弈的结果是一方吃掉另一方,一方的所得正是另一方的所失,整个社会的利益并不会因此而增加一分。

博弈树搜索:①二人零和 ②有限确定性 ③信息完备(即信息对称)
博弈树是一种特殊的与或图。

二、极小极大算法

在这里插入图片描述
极小极大算法需要最小化对方收益,在假定对手每次回应都正确的情况下,如何从中找出对我方最有利的走步的搜索方法。
值得注意的是,不管设定的搜索深度是多少层,经过一次搜索以后,只决定了我方一步棋的走法。等到对方回应一步棋之后,需要在新的棋局下重新进行搜索,来决定下一步棋如何走。
常用max表示己方,min表示对手;max层节点从子节点选择最大的值,min层节点从子节点总选择最小的值;+oo表示max胜利,-oo表示min胜利。

在这里插入图片描述

极大极小算法的性质:
  1. 完整性:树是有限的
  2. 最优性:对抗最佳对手
  3. 时间复杂度:O( b m b^{m} bm)
    其中:m为最大树深,b为分支因子
    (一般为近似值,无确切值)
  4. 空间复杂度:O(bm)
    其中:m为最大树深,b为合理行动
    如果能同时产生所有后继,则深度优先探索
  5. 限制性:遍历整棵树并不是可行的,同时,时间也有限制。

值得注意的是,不管设定的搜索深度是多少层,经过一次搜索以后,只决定了我方一步棋的走法。等到对方回应一步棋之后,需要在新的棋局下重新进行搜索,来决定下一步棋如何走

关键改进:利用评估函数而不是效用函数。

三、α-β剪枝

实际问题中遇到的博弈树往往都是较复杂的多叉树,暴力搜索无法满足时间限制,因而可以使用剪枝算法来减小要检查的博弈树的大小,从而改进搜索。

MIN-MAX过程是把搜索树的生成和格局估值这两个过程分开来进行,即先生成全部搜索树,然后再进行端节点静态估值和倒推值计算,这显然会导致低效率。

实际上把生成和倒推估值结合起来进行,再根据一定的条件判定,有可能尽早修剪掉一些无用的分枝,同样可获得类似的效果,这就是α-β过程的基本思想。

α-β剪枝得到方法得到的结果与不剪枝完全相同,只是提高了效率。

定义

AlphaBeta剪枝算法是一个搜索算法旨在减少在其搜索树中被极大极小算法评估的节点数。这是一个常用人机游戏对抗的搜索算法。它的基本思想是根据上一层已经得到的当前最优结果,决定目前的搜索是否要继续下去。

其中α代表的是下界,β代表的是上界,即在(α,β)的范围内进行搜索。初始值是(α,β)= (-∞,+∞)
所以:
(1)对手(min)负责更新上限( β \beta β),目的是使上限尽可能的小,留给 player A最不利的局面。
(2)己方(max)负责更新下限( α \alpha α),目的是使下限尽可能的大,保证最次的情况下也可以提高分数,留给自己最好的局面。

当 α \alpha α> β \beta β时,剪枝,即放弃此节点及其子节点。

非常详细的图解:alpha-beta剪枝算法流程详解
概括起来就是:一般从左向右遍历,由根节点出发先自上而下传值,而后向上更新,再向下传递,当 α \alpha α> β \beta β时剪枝,相邻两层的 α \alpha α β \beta β值互换。

注:由于是利用递归,因此其实每次剪枝时子节点都是与先辈比较,而非只与父辈比较。

α \alpha α- β \beta β算法的时间复杂度分析:

最差情况:O( b m b^{m} bm)
最优情况:O( b m / 2 b^{m/2} bm/2)
时间复杂度分析
在最优情况下,就考虑如何要让剪枝剪得尽量容易且剪掉的节点尽可能多。

在根节点为max的情况下,无论如何都必须要遍历第一个Lv1的子节点的所有节点,假设第一个Lv1的子节点将下界更新了,这一步所需复杂度为T(n-1),根节点区间为 [c, oo)。

然后就需要遍历其他所有Lv2的子节点后得到最小的上界。此时,我们再次假设:遍历完第一个Lv2的子节点后,其余Lv2的子节点可被剪枝掉,则由引理可知:这一步每个孙子节点所需复杂度为T(n-2)。

则最优情况下的时间复杂度:T(n) = T(n-1) + T(n-2) * (m-1)

四、练习题

1. Find the Winning Move

题目链接

2.Triangle War

题目链接

以上参考:
博文1
博文2
博文3

标签:秋季,剪枝,博弈,--,复杂度,搜索,2021,alpha,节点
来源: https://blog.csdn.net/pikapuka/article/details/120377110