在这个信息集蒙特卡洛树搜索的实现中,为什么玩家看不到对方的牌?

人工智能 蒙特卡罗树搜索 组合游戏 不完全信息
2021-10-20 02:15:56

在阅读了这篇关于具有不确定性元素的不完全信息博弈的蒙特卡洛方法的论文后,我无法理解确定性步骤作者实现Knockout 博弈算法中的应用。

确定性被定义为从不完美信息博弈的实例到完美信息博弈的实例的转换。这意味着所有玩家都应该在确定步骤之后看到对方的牌。

为什么玩家在上面的代码中看不到对方的牌?

2个回答

GameState 类中所有用于表示状态的方法都是stubs,没有这些,MCTS 算法根本不会做任何事情。特别是,DoMove 方法只是改变轮到谁,而不实际采取任何行动。

可能玩家看不到对方的牌的原因是这不是一个完整的实现。有人要么仍在努力,要么半途而废。

MCTS 只需要“看到”关于奖励的状态。所有游戏机制都从 MCTS 中抽象出来,而 MCTS 只能访问操作和奖励。MCTS 播放器本身不访问状态,它只是根据反向传播奖励选择动作。对于部分观察到的 MCTS,玩家甚至无法访问状态奖励,而是只能访问信息集上的预期奖励。因为玩家看不到信息集中每个状态的奖励,而只是对所有信息集的预期奖励,所以他无法从信息集中明智地选择特定状态。玩家根据某种分布从信息集中选择随机状态。这意味着玩家“看不到”信息中的哪个状态被实际实现了。