学习课堂笔记——蒙特卡洛树搜索的初步了解

蒙特卡洛树搜索

蒙特卡洛树搜索属于对抗搜索的一种,是将上限置信区间算法(UCB)应用于游戏树所产生的一种搜索的方法。

一 、多臂赌博机(单一状态蒙特卡洛规划)

多臂赌博机的问题就是在单一状态下面对多种选项时,如何选择来得到最大收益
即面对k个赌博机,每次拉下赌博机的扭柄时获得的收益为R,那么问题就是下一次如何选择赌博机来获取最大收益
多臂赌博机的收益取决于过去发生的事实+未来收益期望,即利用+探索,如何理解呢:

  • 利用(过去决策的回报)
  • 探索(未来收益的最大化)

悔值函数

在这里插入图片描述
悔值函数即我们过去一共所能获得的最大收益 - 我们实际获得的总收益,通常来说,悔值函数的方差越小,那么选择的结果越让人满意

二 、上限置信区间(UCB)

上面说过多臂赌博机的收益取决于过去发生的事实+未来收益期望,即利用+探索

  • 利用(过去决策的回报)
  • 探索(未来收益的最大化)

UCB策略可以很好的平衡利用探索,通常在做决策的时候只要选择UCB值更高的那一个选项即可

公式

在这里插入图片描述
即UCB = 过去j次的选择产生的平均收益 + 过去时间里这个选择被选择的次数
通俗解释:我们更倾向于选择过去的选择中产生更高收益的选项,又倾向于选择过去时间内被选择次数少的选项
在这里插入图片描述
还可以加上常数C,来界定二者的比例

三 、蒙特卡洛树搜索

蒙特卡洛树搜索即将上限置信区间的策略应用于游戏树中产生的一种搜索方法,采用采样方法而非穷举方法搜索
蒙特卡洛树搜索包含四部分

  • 选举(Selection):用UCB来选择最具潜力的节点
  • 扩展(Expansion):选择到最后如果游戏还没有终止,那么就拓展一个新的未被访问过的节点(c)
  • 模拟(Simulation):从新的节点出发(c),继续模拟游戏
  • 反向传播(Back-Propagation):当游戏结束后,用模拟的结果来反向回溯,把游戏的结果告知每一个经过的节点,即更新这些节点的总访问次数和获胜次数

学习课堂笔记——蒙特卡洛树搜索的初步了解_第1张图片

两种搜索策略

  • 搜索树策略:从已有的搜索树中选择或者扩展一个节点,对应选举和扩展
  • 模拟策略:从非叶节点出发模拟游戏,获得仿真的结果

蒙特卡洛树围棋示例

学习课堂笔记——蒙特卡洛树搜索的初步了解_第2张图片

这里每一个节点都代表一种走法,每个节点都有如图A/B的信息,A = 走过这步后黑棋最后获胜的次数,B = 总次数

1.黑棋先走,通过UCB计算如下,选择UCB值最大的走法,故黑方选择7/10的节点
7/10
图为7/10节点的UCB局面奖赏值
在这里插入图片描述
图为5/8节点的局面奖赏值
在这里插入图片描述
图为0/3节点的局面奖赏值

2.当走到叶子节点1/1时对局仍未结束,需要进行扩展节点,扩展出的新节点的A/B值为0/0
3.经过此扩展节点继续向下模拟游戏
4.当最终结果产生后,假设白棋获胜,则进行反向传播,即从叶子节点回溯到根节点,经过每一次途径的节点时,使节点的B = B + 1,A值不变即可

以后有想补充的再进行补充

你可能感兴趣的:(AI学习笔记)