Lecture 14 Monte Carlo Tree Search
Simulation-Based Search
仅针对当前状态计算动作
- 到目前为止,课堂上计算的是整个状态空间的策略。
- 关键思想:可以优先考虑一些额外的局部计算,以便现在做出更好的决策。
Simple Monte-Carlo Search
- 给定一个模型 和一个模拟策略 。
- 对于每个动作 :
- 从当前(真实)状态 模拟 个回合:
- 通过平均回报评估动作(蒙特卡洛评估):
- 选择当前(真实)动作的最大值:
- 这本质上是在进行一次策略改进步骤。
Simulation-Based Search
Expectimax Tree 期望最大化树
- 我们能否做到超过一步的策略改进?
- 如果有一个 MDP 模型 。
- 可以通过构建一个期望最大化树来计算当前状态的最优 值。
- 限制:树的大小按 进行扩展,其中 是搜索的深度。
Forward Search Expectimax Tree 前向搜索期望最大化树
- 前向搜索算法通过前瞻选择最佳动作。
- 它们构建一个以当前状态 为根的搜索树。
- 使用 MDP 的模型进行前瞻预测:
- 不需要解决整个 MDP,只需从现在开始解决子 MDP。
Monte-Carlo Tree Search (MCTS)
- 给定一个模型 。
- 构建一个以当前状态 为根的搜索树。
- 采样动作和下一个状态。
- 通过从根状态开始执行 次模拟回合,迭代地构造和更新树。
- 在搜索结束后,选择搜索树中具有最大值的当前(真实)动作:
- 检查你的理解:这个方法与蒙特卡洛模拟搜索有何不同?
Upper Confidence Tree (UCT) Search 上置信界树(UCT)搜索
- 在模拟回合中如何选择要采取的动作?
- UCT:借鉴赌博文献中的思想,将每个节点视为一个多臂赌博机(MAB)问题。
- 在节点 处保持每个动作奖励的上置信界:
其中 是在节点 选择动作 的次数, 是在节点 处执行动作 后获得的第 次回报(折扣奖赏的总和),
- 对于节点 处的模拟回合 ,选择具有最高上界的动作/臂,然后进行模拟并扩展(或评估)树:
- 这意味着用于模拟回合(并扩展/更新树)的策略可以在每次回合之间变化。
蒙特卡洛树搜索(MC Tree Search)的优点
- 高度选择性的最佳优先搜索。
- 动态评估状态(与例如动态规划不同)。
- 使用采样来克服维度灾难。
- 适用于“黑箱”模型(仅需样本)。
- 计算效率高,随时可用,并且可以并行化。