定价时序自动机的蒙特卡罗树搜索
1. UCT算法的PTA适配版本
为定价时序自动机(PTA)适配了UCT算法,其伪代码见算法1。选择策略采用标准的UCT公式,节点的期望奖励由利用因子决定,与当前找到的平均成本成反比,且根据当前最佳解决方案进行归一化,确保奖励值在0到1之间,支持领域(成本范围)独立性,无需对奖励分布的先验知识。探索项的重要性由常数C控制。一旦找到解决方案,将给定节点标记为终端节点以避免重新探索。只要底层搜索树是完整的,算法最终能提供最优解(如果存在)。
2. 通用PTA挑战
- 无限转移序列 :在PTA中,由于模型中的循环,可能出现无限转移序列,导致传统的滚动评估可能无法停止。为解决此问题,引入了滚动的最大预算,例如在默认策略中允许的最大步数上限。
- 奖励评估 :有限的滚动长度需要评估非终端状态。幸运的是,PTA包含评估任何状态(包括非终端状态)当前成本所需的所有信息,无论滚动是否到达终端状态,都进行奖励评估和反向传播。
- “死”状态 :PTA中可能遇到没有后继状态的“死”状态。在UCT中,遇到“死”状态时,若在模拟步骤中到达,直接终止滚动;若在扩展步骤中扩展到“死”状态,由于从“死”状态模拟不会产生新信息,会将其及其父状态从搜索树中修剪掉,直到当前分支中没有“死”状态。
3. 策略
在蒙特卡罗树搜索(MCTS)中,搜索树的结构由树策略的展开机制决定,默认策略的模拟过程也使用相同的展开策略。以下是几种不同的策略:
-