【发布时间】:2018-10-16 03:00:16
【问题描述】:
所以我使用 UCT 在蒙特卡洛树搜索算法中实现了一个转置表。这允许保持游戏状态的累积奖励值,无论在整个树中遇到的位置和次数。这提高了针对特定游戏状态收集的信息的质量。
唉,我注意到这在 UCT 的开发与探索选择阶段产生了某些问题。简而言之,分配给状态的 UCT 分数考虑了访问父状态的次数与访问子状态(我们正在为其计算 UCT 分数)的次数之间的比率。从这张图中可以看出, 当从转置表中拉入一个状态到树的一个新创建的分支中时,这个比例完全不正常,子状态已经被访问了很多次(来自树中的其他地方)并且父状态被访问的次数要少得多,这在技术上应该是不可能的。
因此,使用转置表并保持状态的累积奖励值有助于算法的利用部分做出更好的选择,但同时它以潜在有害的方式扭曲了算法的利用部分。你知道有什么方法可以解决这个意想不到的问题吗?
【问题讨论】:
-
交叉发布:stackoverflow.com/q/50194982/781723,cs.stackexchange.com/q/91537/755。请do not post the same question on multiple sites。每个社区都应该诚实地回答问题,而不会浪费任何人的时间。
-
我的错,我不知道这是一个规则。我希望能够领先于“这个问题超出了这个社区的范围,你应该尝试将它发布到另一个社区”的评论,我每发布一个问题就会收到 ;-)
-
没问题,你不可能知道。您可以选择一个您希望它出现的站点。如果您对它出现在 SO 上感到满意,您不需要做任何事情——只需让您知道未来。如果您希望它出现在 CS.SE 而不是 SO,您可以在此处删除 SO 上的副本,然后标记 CS.SE 上的副本以重新打开。
-
我希望它出现在最有机会获得一些高质量答案的地方,但我不知道那在哪里,因此我将它发布在两个社区中。我想让我们把它留在这里看看会发生什么。
-
相关论文:“UCD:有根有向无环图的置信上限”hal.archives-ouvertes.fr/hal-01499672/document
标签: algorithm tree hashmap graph-algorithm monte-carlo-tree-search