news 2026/5/1 7:38:36

蒙特卡洛树搜索(MCTS)3-代码框架

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
蒙特卡洛树搜索(MCTS)3-代码框架
class NodeMCTS: def __init__(self, *node_info): self.node_info = node_info self.parent = 'parent' # 视情况取舍 self.children = {} # key:动作 value:节点 self.can_expand = True # 否表示node无法拓展,是终止态或者满孩子 self.is_terminal = False # 终止态标记 # 与搜索过程相关的动态属性 self.win_count = 0 self.visit_count = 0 # 不需要可去掉 self.q = 0 self.u = 0 def action_to_max_uct_child(self): """ 获取指向最大uct孩子的动作 """ pass def check_flag(self): """ 检查节点布尔变量状态 """ pass def add_child(self, action=''): """ 可指定动作添加孩子,或随机 """ pass def uct_calculation(self): """ 按uct公式计算uct(注意分母为0的情况 """ pass class TreeMCTS: def __init__(self, *node_info): self.root = NodeMCTS(*node_info) self.update_nodes = [] # 表示需要更新的Node路径 def select(self): """ 个人认为此次有两种实现思想:深度优先,广度优先 深度优先是比较贴近mcts算法的描述的,即总是选择孩子进行拓展:如果node只有一个孩子,拓展该孩子;多个孩子则选择uct最大的 另一种是自己琢磨的,仅供讨论:综合考虑node与孩子的uct值,如果node自身uct大于每个孩子,选择node拓展(如果可拓展) """ pass def expand(self): """ 添加孩子到树里或不作为,同时把模拟起点的node传给simulate函数 """ pass def simulate(self, start_node)-> bool: """ rollout或仿真实验 """ pass def feedback(self, is_win): """ 更新本次模拟起点及其所有祖先的visit_count,win_count """ pass def train(self, deadline: int): """ 设置迭代次数 """ for _ in range(deadline): self.select() self.expand() is_win = self.simulate() self.feedback(is_win) def output(self): """ 输出算法结果,根据某个指标执行select函数即可,比如节点q值、访问次数、uct值等 """ pass

之前日记1和日记2,介绍了mcts的一些原理,现在经过我几个月对mcts的利用,是时候分享我关于其代码实现的想法了。总的来说,我认为mcts的灵活性是很高的,或许这也是相关论文里没有说明mcts的具体实现路径的原因。只要思路遵循4阶段迭代,价值公式的内核类似uct即可。这是关于mcts经典版本的框架,其中关于select方式提出自己的个人想法,欢迎各位指导欢迎交相互流。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 4:06:51

​九科信息企业自动化智能体,让AI落地为生产力

在企业数智化转型的关键阶段,AI技术如何从概念走向实用,成为衡量转型成效的核心标准。九科信息推出的企业自动化智能体,以“RPA大模型”为核心技术架构,构建动态决策闭环,激活企业既有数字化资产价值,为降本增效提供切实可行的解决方案。RPA大模型筑牢智能执行根基传统自动化工…

作者头像 李华
网站建设 2026/5/1 4:07:29

Job 对应的 Pod 运行成功后未被删除 小结

在 Kubernetes 中,Job 对应的 Pod 运行成功后未被删除、且挂载了存储卷的情况下,会明确占用集群资源,具体影响分维度说明,并给出清理和优化方案: 一、核心资源占用分析资源类型是否占用具体影响节点磁盘/存储✅ 是挂载…

作者头像 李华
网站建设 2026/5/1 4:07:05

从原始数据到功能注释,生物信息Agent全流程解析,彻底搞懂序列分析链

第一章:生物信息Agent的核心概念与架构设计生物信息Agent是一种面向生物数据处理与智能分析的自主计算实体,具备感知、推理、学习和执行能力,广泛应用于基因组学、蛋白质结构预测及药物发现等领域。其核心在于将传统生物信息学流程与人工智能…

作者头像 李华
网站建设 2026/4/30 18:06:23

基于Hadoop的国产电影数据分析与可视化演示

文章目录 前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S 四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论 五、项目代码参考六、数据库代码参考七、项目论文示例结语 前言 💛博主介绍&a…

作者头像 李华
网站建设 2026/4/23 5:01:03

基于PZT和FBG的多点电压传感系统

1.研究背景与意义智能电网已被公认为电力系统改造与发展的核心方向。要实现电网智能化,首先需要持续监测电力系统中的诸多参数以保持对电网的可控性。电压作为确保系统安全高效运行的关键基础参数,其监测至关重要。要实现电力系统的整体电压控制与故障定…

作者头像 李华
网站建设 2026/5/1 6:14:00

近期做 AI Agent 的十条“带血”经验总结

在过去的一年里,AI Agent(智能体)经历了从“无所不能的科幻预期”到“漏洞百出的工程现实”的剧烈震荡。作为一名深度参与多个 Agent 项目落地的开发者与观察者,我见证了无数炫酷的 Demo 在复杂的业务逻辑面前折戟沉沙。 我们逐渐…

作者头像 李华