junxiaosong / AlphaZero_Gomoku

An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
MIT License
3.25k stars 965 forks source link

MCTS权重更新问题 #77

Closed sky88088 closed 5 years ago

sky88088 commented 5 years ago

请教一下为什么在update_recursive里要先更新父节点?似乎没看到更新过程中有依赖关系?

junxiaosong commented 5 years ago

leaf_value通过递归会一路从叶子节点传到根节点,会在update函数中更新路径上每一个节点的相关信息

sky88088 commented 5 years ago

leaf_value通过递归会一路从叶子节点传到根节点,会在update函数中更新路径上每一个节点的相关信息

这个没问题,我是指为什么要先更新父节点,再更新子节点,因为代码注释里有特意强调(If it is not root, this node's parent should be updated first.)。但从原理上,这条路径上的更新顺序应该是无所谓的。

junxiaosong commented 5 years ago

嗯,确实和顺序无关,直接从子节点往上更新也是可以的

sky88088 commented 5 years ago

嗯,确实和顺序无关,直接从子节点往上更新也是可以的

好的,谢谢