自学围棋的AlphaGoZero,你也能用PyTorch造一个|附代码实现(5)
2023-05-04 来源:飞速影视
写成代码的话——
1def select(nodes, c_puct=C_PUCT):2 " Optimized version of the selection based of the PUCT formula " 3 4 total_count = 0 5 for i in range(nodes.shape[0]): 6 total_count = nodes[i][1] 7 8 action_scores = np.zeros(nodes.shape[0]) 9 for i in range(nodes.shape[0]):10 action_scores[i] = nodes[i][0] c_puct * nodes[i][2] * 11 (np.sqrt(total_count) / (1 nodes[i][1]))1213 equals = np.where(action_scores == np.max(action_scores))[0]14 if equals.shape[0] > 0:15 return np.random.choice(equals)16 return equals[0]
结束 (Ending)
选择在不停地进行,直至到达一个叶节点 (Leaf Node) ,而这个节点还没有往下生枝。
1def is_leaf(self):2 """ Check whether a node is a leaf or not """34 return len(self.children) == 0
到了叶节点,那里的一个随机状态就会被评估,得出所有“下一步”的概率。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号