我试图实现tic-tac-toe hello-world MCTS游戏玩家,但我遇到了一个问题。
在模拟游戏并选择“最有前途”(漏洞利用/探索)节点时,我只考虑总胜利数(“漏洞利用”部分) - 这会导致某些问题,所得算法根本不具防御性。因此在选择时
选择更糟糕的一个(1; 109)因为我的uct函数贪婪计算avg wins而不是“value”。
我是否正确地认识到了这个问题?我应该从“avg wins”切换到考虑所有结果类型的其他价值指标吗?
欢迎任何建议,谢谢
答案 0 :(得分:3)
由于井字游戏是一种零和游戏(一个玩家的状态值总是等于对手的否定值),你的得分函数也应该反映这一点。
这意味着,在计算平均分数时,您应该使用以下值:
在您的示例中,这将导致以下平均分数:
-10/110 = -0.0909...
-108/110 = -0.98181...
因此,第一个选项将被视为更好的选择