Machine learning MCT在游戏中搜索不同起始状态的树

Machine learning MCT在游戏中搜索不同起始状态的树,machine-learning,artificial-intelligence,Machine Learning,Artificial Intelligence,我有一个关于MCT的基本问题。我的问题是关于启动状态的处理。 据我所知,搜索树是通过对有效操作进行分支来构建的,每次以相同的状态启动时,都会遍历相同的搜索树。但是,如果游戏的开始状态在每次游戏开始时都不一样呢?(例如,发了不同的卡) 这是否会导致多个根节点本质上导致一个游戏有N个不同的搜索树,其中有N个可能的已发牌组合?这难道不意味着如果开始状态不同,我在以前的游戏中建立的搜索树就没用了吗? MCT如何处理不同的启动状态 提前谢谢。据我所知,MCTS用于快速逼近最小-最大树。这里没有“不同的开始

我有一个关于MCT的基本问题。我的问题是关于启动状态的处理。 据我所知,搜索树是通过对有效操作进行分支来构建的,每次以相同的状态启动时,都会遍历相同的搜索树。但是,如果游戏的开始状态在每次游戏开始时都不一样呢?(例如,发了不同的卡) 这是否会导致多个根节点本质上导致一个游戏有N个不同的搜索树,其中有N个可能的已发牌组合?这难道不意味着如果开始状态不同,我在以前的游戏中建立的搜索树就没用了吗? MCT如何处理不同的启动状态


提前谢谢。

据我所知,MCTS用于快速逼近最小-最大树。这里没有“不同的开始节点”之类的东西-您运行算法给定特定的当前状态,以找到最佳答案/移动。在纸牌游戏中-一旦你看到你的牌等,你就运行它。在不确定的游戏中,通常会出现“问题”,你不确定特定移动的结果(由于游戏规则的随机性等)。这种情况被称为“非确定性游戏”(骰子游戏)或“部分信息游戏”(如纸牌游戏)。对于每一种,都有针对MCT的开发方法


我建议您查看一下,在那里您可以找到大量与MCTS相关的论文。

我知道您在看过卡片后会运行算法。但这只是理论上的,不是吗?在一个实现中,您希望存储树并在将来的运行中使用它来进一步改进它。并不是每次你开始一个新游戏时树都会被重置,因为算法可能需要不止一个游戏来优化树。我认为你混淆了两件事。如果你试图建立最佳的游戏策略,那么是的,你必须存储树。但这并不重要——你可以简单地将其建模为第一个初始状态,它有随机的后继状态——基于卡片。但在“现实生活应用”中,如在线构建树的UCT算法,MCT基于大量模拟,这些模拟是在当前状态的基础上执行的。你实际上并没有“玩”树中所考虑的动作,而是模拟它们(这就是蒙特卡罗所说的)现在我真的很困惑。MCT不是在尝试模拟推出和优化一棵像minmax一样的树吗?只要允许,MCTS就会通过模拟构建树。在“真实应用程序”中,此树将被存储,当需要操作时,您可以在树中查找一个,对吗?一旦执行操作,您将切断树中无法访问的部分,并再次运行它(更新当前树),就像您*通常那样)获得新资源(周转时间)。因此,在初始状态下,您总是知道您的卡。正如我在回答中所说的,游戏可能是不确定的,但“开始”状态总是未知的。那么,你能告诉我,你如何确保每次玩(每一个新游戏)都能获得更好的结果。在之前存储大树构建并与多个播放结果的树合并难道没有意义吗?在一个模拟阶段评估所有可能的结果并不总是可能的,是吗?