强化学习之基于表格型方法的规划和学习(七)-- 启发式搜索、预演算法、蒙特卡罗树搜索

注:本节内容是对Sutton的《Reinforcement Learning:An Introduction》第八章的理解整理~ 这里是第九、十、十一节

启发式搜索

启发式搜索是在搜索过程中加入别的表征量,帮助搜索更加快捷准确,不需要像之前一样全部遍历。

在启发式搜索中,对于每个遇到的状态,都建立一个树结构,该结构包含了后面各种可能的延续。将近似价值函数应用于叶子节点,以根状态向当前状态回溯更新。
和回溯更新在当前状态的状态动作节点处停止。计算了这些节点的更新值后,选择其中最好的值作为当前动作,然后舍弃所有更新值。相当于原来只是走一步看好不好,现在是走多步综合评价结果好不好。

贪心策略、soft-greedy策略、UCB动作选择方法与启发式搜索并没有什么不同,只是它们规模更小。
为了计算给定模型和状态价值函数下的贪心动作,必须从每个可能的动作出发,将所有可能的后继状态的收益考虑进去并进行价值估计,然后再选择最优动作。
与传统的启发式搜索类似,此过程计算各种可能动作的更新价值,但不会尝试保存他们。可以将启发式探索视为单步贪心策略的某种扩展。

采样比单步搜索更深的搜索方式的根本原因是为了获得更好的动作。

预演算法

预演算法 (rollout) 是一种基于蒙特卡罗控制的决策时规划算法。这里的蒙特卡罗控制应用于以当前环境状态为起点的采样模拟轨迹。
预演算法通过平均许多起始于每一个可能的动作并遵循给定的模拟轨迹的回报来估计动作价值。动作价值被估计准确时,对应最高估计值的动作被执行,之后重复这一过程。
可以视为蒙特卡罗模拟序列用soft-greedy算法实现动作的寻找。

蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)

树结构和预演算法结合起来。
见参考链接
参考链接:https://www.cnblogs.com/pinard/p/10384424.html

posted @ 2021-10-11 21:42  芋圆院长  阅读(398)  评论(0)    收藏  举报