本科计算机科学与技术专业《人工智能》深度博弈树搜索策略教案_第1页
本科计算机科学与技术专业《人工智能》深度博弈树搜索策略教案_第2页
本科计算机科学与技术专业《人工智能》深度博弈树搜索策略教案_第3页
本科计算机科学与技术专业《人工智能》深度博弈树搜索策略教案_第4页
本科计算机科学与技术专业《人工智能》深度博弈树搜索策略教案_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科计算机科学与技术专业《人工智能》深度博弈树搜索策略教案

一、课程定位与背景

(一)学科归属与课程坐标

本教案定位于本科计算机科学与技术专业三年级核心必修课《人工智能》的进阶专题模块,在课程体系中处于“经典搜索算法”与“现代学习推理”的衔接枢纽位置。学生此前已完成数据结构与算法、概率论与数理统计、机器学习导论等前置课程,并系统学习了广度优先搜索、深度优先搜索、启发式搜索、对抗搜索中的极小化极大算法及Alpha-Beta剪枝技术。【基础】本单元将在经典博弈树搜索基础上,引入深度神经网络与蒙特卡洛树搜索的深度融合体,即深度博弈树搜索策略。该内容是人工智能领域近十年最具突破性的技术范式,直接关联AlphaGo、AlphaZero、MuZero等里程碑系统的原理内核,是学生从“算法使用者”向“系统架构者”跃迁的关键训练载体。

(二)学情深度剖析

授课对象为本科三年级计算机专业学生,普遍具备Python编程能力,熟悉NumPy、PyTorch或TensorFlow基础调用。通过课前匿名问卷调研发现:约72%的学生能独立写出递归形式的极小化极大算法,但其中仅18%的学生能清晰解释蒙特卡洛方法在博弈决策中的应用逻辑;几乎所有学生都听说过AlphaGo,但对其中的树搜索与神经网络耦合机制存在大量模糊认知甚至误解。【难点】学生思维定势表现为将“搜索”与“学习”视为两个孤立模块,尚未建立“用学习结果引导搜索扩张、用搜索数据反哺学习迭代”的闭环意识。此外,学生对大规模组合博弈中“探索与利用”的数学权衡普遍感到抽象,需要借助可视化工具与手算练习将其具象化。

二、教学目标矩阵

依据OBE成果导向教育理念,结合布鲁姆认知目标修订版与辛普森动作技能领域分类,设定以下三位一体目标体系。

(一)知识与技能目标

1.准确复述蒙特卡洛树搜索(MCTS)选择、扩展、模拟、回溯四阶段的操作语义,并能够在给定博弈状态图上手动执行至少三轮迭代计算。【基础】【高频考点】

2.推导置信上限树(UCT)公式中探索项与利用项的数学来源,解释常数C对搜索行为偏向性的调节原理。【重要】

3.辨析策略网络(PolicyNetwork)与价值网络(ValueNetwork)在深度博弈树中的功能差异:前者输出先验概率以引导搜索分支方向,后者输出状态胜率期望以截断模拟深度。【非常重要】

4.独立实现面向九宫格博弈(Tic-Tac-Toe)或四子棋(Connect4)的深度博弈树搜索原型程序,要求将预训练残差网络嵌入MCTS的选择或模拟阶段,并对比纯MCTS的决策效率提升。

(二)过程与方法目标

1.通过“手算追踪—算法伪代码—程序填空—完整实现”的阶梯式认知路径,构建从经典博弈树到深度博弈树的思维迁移模型。

2.运用计算思维将复杂博弈决策问题分解为“树策略设计”“神经网络推理”“回溯更新规则”三个子问题,形成模块化系统设计方法论。【非常重要】

3.在小组编程实践中体验调参与优化迭代:调整探索常数、温度参数、网络置信阈值,观察搜索树形态与决策质量的变化,建立直觉与数学表征的联结。

(三)情感态度与价值观目标

1.感悟人工智能算法演化史中“暴力计算”向“知识引导”的范式转移,理解科学研究中问题重构对技术突破的驱动作用。

2.强化科技自主创新意识,通过剖析我国在深度强化学习框架(如MindSpore、PaddlePaddle)及开源博弈平台(如OpenDILab)的贡献,树立攻克基础软件与算法“卡脖子”环节的专业抱负。

三、教学重点与难点分层

(一)教学重点

1.蒙特卡洛树搜索的标准四阶段工作流及其伪代码实现。【基础】【高频考点】

2.策略网络输出作为先验概率嵌入UCT公式的变形方式,即改进公式UCT=Q+C*P(a|s)*sqrt(lnN)/(1+n)的物理含义。【重要】

3.价值网络完全替代随机模拟从而将MCTS改造为“零次模拟”搜索的工程效益分析。

4.深度博弈树搜索在完全信息零和博弈中的通用性,及其与强化学习自对弈训练框架的协同逻辑。

(二)教学难点

1.探索与利用困境在树搜索策略中的动态量化:为何采用对数项而非线性项?置信区间构造的概率统计背景。【难点】

2.神经网络反向传播更新与MCTS节点统计量回溯更新在训练阶段的双环路耦合——如何用搜索产生的更优策略样本优化网络,再用优化后的网络提升搜索质量。【难点】【非常重要】

3.大规模动作空间下(如围棋19×19)搜索效率与精度的帕累托边界认知,以及温度参数、狄利克雷噪声注入等工程技巧的必要性。【热点】

四、教学方法与媒介生态

(一)教法设计

本教案采用BOPPPS有效教学结构结合PBL项目式学习范式。将180分钟课堂重构为六个循环递进单元:导入(Bridge-in)以认知冲突短片激发动机;目标(Objective)显性化呈现四阶能力阶梯;前测(Pre-assessment)通过在线表单诊断UCT公式理解盲区;参与式学习(ParticipatoryLearning)占时120分钟,包含原理精讲、手算演练、编程工坊三层活动;后测(Post-assessment)以代码自动评测与选择题即时反馈;总结(Summary)以思辨议题收尾并延伸至课后项目。

(二)学习媒介与工具栈

1.仿真实验环境:基于Colab或校内JupyterHub部署OpenSpiel开源博弈库,并预置Tic-Tac-Toe及Connect4强化学习环境接口。

2.代码协作与评测:GitHubClassroom建立个人作业仓库,配置Python单元测试脚本,即时反馈MCTS节点更新正确性。

3.可视化认知工具:自主研发TreeVis轻量级前端,可实时绘制搜索树节点访问频次热力图与价值估值变化曲线。

4.微课资源包:包含《UCT公式的置信区间解释》《残差网络如何提取棋盘特征》《自对弈数据管道构建》三个切片视频,总时长26分钟,发布于学习通平台。

五、教学准备清单

(一)教师端准备

1.预制代码框架:提供MCTS基类模板,预留_uct_score、_expand、_backup抽象方法;提供预训练简化残差网络权重文件(pth格式),网络输入为3×3×4张量(Tic-Tac-Toe特征平面),输出策略向量9维、价值标量1维。

2.搭建云端编程环境:配置CUDA11.3、PyTorch1.12及以上版本,挂载共享数据盘存放历史对局记录。

3.设计分层任务卡:基础卡——完成纯MCTS使随机对局胜率超80%;进阶卡——嵌入价值网络并观察搜索深度变化;挑战卡——实现策略网络引导UCT并对比主变分叉比。

4.预设诊断题库:围绕UCT公式中sqrt与log函数自变量取值范围、神经网络的非法动作掩码处理设置5道干扰项选择题。

(二)学生端准备

1.前置复习:马尔可夫决策过程贝尔曼方程、策略梯度定理简要推导、交叉熵损失函数定义。

2.环境测试:执行教师发布的check_env.ipynb,验证PyTorch能否调用GPU,并成功加载预训练残差网络输出确定值。

六、教学实施过程(核心篇幅)

本模块共计4学时,每学时45分钟,总计180分钟。全程遵循“认知冲突引爆—原理精细解构—网络嫁接工程—系统迭代验证—元认知升华”五阶推进逻辑。

(一)第一阶段:认知冲突与问题场构建(第1学时0分钟至15分钟)

教师首先在大屏投影展示1997年IBM深蓝超级计算机照片,强调其通过暴力搜索每秒评估两亿个局面击败卡斯帕罗夫。随即切换至2016年AlphaGo与李世石对局第五盘第37手定式截图,此手棋被职业九段称为“来自未来的着法”,人类棋谱库前无古人。【非常重要】教师设问:国际象棋平均分支因子约35,深蓝可穷举后续12步;围棋分支因子约250,穷举3步已达1562万种局面。若仅靠硬件算力堆叠,需要多少个深蓝并联才能在围棋上击败人类世界冠军?学生快速估算后陷入沉默,认知冲突成功建立。

此时不急于公布答案,组织相邻两位学生开展“一分钟极速辩论”,正方观点:必须发明全新搜索算法;反方观点:现有算法加上超级计算机仍有可能。辩论结束后教师使用点击器随机抽取两名学生简述本组倾向及理由。教师顺势归纳关键词云:采样、概率、直觉、学习。随后板书写下本课核心概念双语标识——深度博弈树搜索(DeepGameTreeSearch)及其子概念蒙特卡洛树搜索、策略网络、价值网络。

(二)第二阶段:蒙特卡洛树搜索原理解构与手算操演(第1学时15分钟至第2学时20分钟)

此阶段细分为三个递进子环节。

1.选择机制与UCT公式精微剖析(35分钟)

教师启动TreeVis可视化工具,以分支因子为3的假想博弈树为例,逐步播放四次迭代中根节点对各子节点的访问次数变化。学生清晰看到访问次数少的节点被选中的概率逐渐提升,访问次数多的节点若胜率不佳则后期被冷落。教师停驻画面,问:这种“公平性”如何量化表达?自然引出置信上限树(UCT)公式。

教师板书记录核心表达式:UCT_j=Q_j+C×√(lnN_parent/n_j)。对其中Q_j、N_parent、n_j逐一释义。随即从频率学派置信区间视角推导:二项分布置信上限近似为p̂+z_α/2×√(p̂(1-p̂)/n),在零和博弈胜率p̂≈Q_j,且忽略方差具体形式时,可简化为p̂+k/√n。再将根节点总访问次数N_parent引入以应对非平衡树,最终演化出对数项形式。【难点】此推导过程不要求全体学生完全复述,但需理解探索项与利用项对抗的本质。

为巩固理解,全体学生在学案空白处完成计算练习:根节点访问次数100,子节点A:n=70,Q=0.6;子节点B:n=30,Q=0.7;设C=1.4,精确计算UCT_A与UCT_B。教师巡堂发现典型错误——误将log计算为常用对数而非自然对数、忘记对Q值进行分母归一化等,当即集中纠正并强调对数底数无关紧要因为常数C可吸收比例因子。【基础】【高频考点】

2.扩展与模拟阶段的工程近似思想(25分钟)

教师使用Flash动画模拟围棋局部战斗中MCTS扩展到三级节点的过程,强调并非生成全部合法动作,而是每当访问到一个未完全扩展节点时,仅添加一个合法子节点(或按特定策略添加少量节点)。这彻底区别于经典博弈树的一次性生成全部子节点。学生产生新的认知冲突:如何保证没有错失强手?教师解释:通过迭代—估值—回溯,若某未被扩展的分支实际很强,会在后续迭代中通过其他路径的估值间接传递信息,或由策略网络先验概率将其激活。

模拟阶段(Simulation)在标准MCTS中采用快速走子(rollout)。教师以九宫格为例,手动模拟一次随机走子至终局:当前盘面剩余4个空位,随机落子、随机回应,直至棋盘填满判定胜负。学生直观感受到随机模拟的方差极大,对围棋等深棋类动辄上万次模拟的耗时之痛产生共情。此铺垫为第三阶段神经网络替代模拟埋下强力动机。【重要】

3.回溯更新的递归逻辑与工程实现(20分钟)

教师以单一叶节点获得胜率1.0为例,在黑板上绘制从该叶节点至根节点路径,沿途所有节点访问次数n+1,胜值总和Q累计加上本次结果。学生四人小组合作,对一个固定3层子树进行三轮仿真数据回溯填表,分别计算更新后各节点Q值。教师强调:回溯必须严格沿路径逐级进行,不可跳跃;Q值通常存储为累计胜值总和,而非平均胜率,以避免浮点累积误差。此细节在后续编程调试中至关重要,故列为【重要】标记。

(三)第三阶段:深度神经网络嫁接——从随机模拟到价值近似(第2学时20分钟至第3学时30分钟)

此阶段承载本课最核心的认知跨越,因此采用“逆向拆解—正向建构—协同训练全景”三幕剧结构。

第一幕:逆向拆解——为什么随机模拟必须被替代?(15分钟)

教师展示一组预计算数据:在3×3Tic-Tac-Toe中,纯MCTS每次模拟需随机落子约5.4步到达终局;在15×15围棋中,平均对局长度超200步,且随机走子结果与最优走子结果相关性极低。学生通过箱线图看到随机模拟估值方差远高于胜率本身。教师追问:人类棋手为何不用大量随机模拟?学生脱口而出:人有棋感。教师立刻定义“棋感”就是函数f(s)→[0,1]的胜率预测。由此引出价值网络(ValueNetwork)——以棋盘为输入,直接映射到胜率标量。【非常重要】

第二幕:正向建构——策略网络如何引导搜索方向?(35分钟)

教师展示残差网络结构图:输入层为19×19×17特征平面(围棋标准输入),经过20个以上残差块,分叉为策略头(PolicyHead)和价值头(ValueHead)。策略头输出全连接层,通过softmax函数产生所有合法动作的概率分布。此时学生自然发问:概率高的动作一定是好手吗?教师解释:策略网络提供的是先验偏好,类似于人类棋手快速扫描盘面后形成的几个感觉选点。这些先验概率P(a|s)被直接嵌入UCT公式的选择项中,实现“概率引导的树搜索”。教师板书改进UCT:UCT=Q+C×P(a|s)×√(lnN)/(1+n)。【非常重要】对比原公式,此处增加了先验概率乘性因子,使高概率节点即使初期访问少也能获得较高UCT值,加速聚焦优质分支。

为了具身理解,全体学生在学案上比较同一父节点下两个子节点:子节点P=0.7,n=5;子节点P=0.1,n=10;父节点N=100,Q均为0.5,C=1.5。计算改进UCT值并讨论策略网络如何改变搜索偏好。学生通过计算发现:即使访问次数悬殊,高P值节点UCT仍可能超越低P值节点,这意味着搜索不再完全依赖回溯统计量,而是接受外部先验知识的引导。

第三幕:协同训练闭环——自对弈数据如何迭代优化网络?(30分钟)

此为本课【难点】和【热点】的双重巅峰。教师通过一部5分钟手绘风格动画演绎AlphaZero训练流程:1.当前神经网络指导MCTS进行自对弈,产生大量对局记录;2.将对局中每个盘面s的状态作为输入,MCTS搜索后得到的动作访问次数分布π作为策略标签,对局最终结果z作为价值标签;3.神经网络更新参数,使其输出的策略p更接近π、价值v更接近z;4.新网络再次指导MCTS,产生质量更高的自对弈数据。学生被这个“自己教自己”的环路深深吸引。教师此时进行概念巩固,要求小组讨论并绘制数据流向因果链。两个小组被抽中在白板绘制:左端是神经网络,输出(p,v)给MCTS;MCTS输出(π,z);再送回神经网络作为训练目标。教师点评并强调:此闭环正是深度博弈树搜索具备超越人类知识能力的根源。【非常重要】

(四)第四阶段:三阶编程工坊——从填空到创造(第3学时30分钟至第4学时30分钟)

此阶段将前序理论完全投射至代码层面,采取“脚手架逐步拆除”策略。

1.基础级任务:纯MCTS对抗随机走子(30分钟)

教师发布GitHubClassroom作业链接,学生拉取仓库,目录结构包含node.py、mcts_pure.py、game.py。node.py已定义Node类属性(visit_count,total_value,parent,children),mcts_pure.py中mcts_search函数主体已完成迭代循环,但_uct_score、_expand、_backward函数体为pass。【基础】

学生任务:补全_uct_score中UCT公式实现(注意处理n_j=0时返回无穷大);补全_expand随机选取一个合法动作添加子节点;补全_backward沿路径累加访问次数与胜值。教师同步观察代码自动评测面板,实时统计通过单元测试人数。约20分钟后,通过率超85%,教师集中展示一份典型错误代码:未将C值类型转换为浮点数导致整数除法截断,借此强调Python2遗风在Python3中的隐蔽陷阱。

2.进阶级任务:价值网络嵌入模拟(25分钟)

教师提供预训练模型tic_tac_toe_value.pth,并给出value_network.py,内含ValueNet类,forward方法接受batch×3×3×4张量,返回batch×1胜率值。【重要】

学生修改mcts_pure.py派生为mcts_value.py,重写模拟函数:遇到叶节点时调用value_network.predict(state)获得价值,直接作为模拟结果回溯,不展开快速走子。此环节常见bug:张量维度未增加batch维度、未切换model.eval()模式导致dropout层非确定性输出。教师巡视针对性指导。完成学生立即运行基准测试,发现价值MCTS在100次迭代下对抗纯MCTS胜率由52%提升至81%,课堂爆发兴奋讨论。

3.挑战级任务:策略网络引导UCT选择(20分钟,可延展至课后)

此任务不强制全体完成,但作为区分度指标。【非常重要】

教师提供策略网络policy.pth,输出层为9维logits。学生需完成:将logits经softmax转换为概率P,并对非法动作掩码置零后重新归一化;在UCT公式中嵌入P(a|s)乘性因子;处理首次访问节点P值的存储位置。预留难点:当子节点尚未创建时,如何根据策略网络概率选择扩展哪个动作?教师提示可在选择阶段遇到未扩展节点时,依概率分布采样决定扩展哪个合法动作,而非均匀随机。完成此任务的小组将在课程末尾获得两分钟演示机会。

(五)第五阶段:元认知复盘与前沿议题投射(第4学时30分钟至45分钟)

此时全体学生已历经高强度认知与操作,教师需将具象经验升华为可迁移的方法论。

教师提出三个递进式思辨命题,要求以学习小组为单位在课后论坛提交300字以上回应,优秀观点置顶加精:

[1]若策略网络输出的先验概率完全精准(即P(a|s)=真实最优动作概率1),MCTS是否成为冗余?AlphaZero论文显示即使使用极强策略网络,搜索仍能带来稳定提升,请从“决策校准”角度给出解释。【热点】

[2]在价值网络完全替代模拟后,MCTS的回溯值完全来自网络估值,是否存在自举(bootstrapping)偏差累积风险?如何利用临时差分学习加以改进?

[3]深度博弈树搜索在非完全信息博弈(如无限注德州扑克)中的核心障碍是什么?为何需引入公共信念博弈树或反事实遗憾最小化?

教师不做定论式解答,而是提供MuZero论文链接及DeepStack算法概述,引导学生在更高维度理解“搜索”作为模型架构可微分组件的新思潮。

七、教学评价量规与证据采集

(一)形成性评价频谱

1.概念诊断卡:课前发布5道选择题,涵盖MCTS与经典博弈树差异、UCT函数单调性、探索常数作用。后台数据汇总显示正确率低于60%的条目将在课堂重点重讲。

2.编程过程评价:基于GitHubClassroom自动运行单元测试,纯MCTS任务包含9个测试用例,覆盖边界条件(空子节点、负值Q、C取0)。系统每5分钟抓取一次代码提交,生成通过率趋势图。

3.课堂应答系统即时反馈:在UCT公式推导、网络嵌入环节各插入2道概念题,正确率低于70%时立即暂停讲授,切换至同伴教学法。

(二)终结性评价设计

单元项目作业:学生以3人小组为单位,从以下选题三选一:(A)在九宫格博弈中复现AlphaZero简版,要求自对弈提升策略网络初始胜率超15个百分点;(B)在四子棋环境中比较原始MCTS、价值MCTS、策略引导MCTS的搜索效率与棋力;(C)阅读AlphaZero论文并复现Figure2(不同迭代次数下搜索规模与Elo等级分关系),撰写实验报告。【非常重要】

评价标准包含四个维度:代码可复现性(35%)、实验设计对比完备性(30%)、对失败尝试的记录反思(20%)、口头质询应答逻辑(15%)。特别强调“负结果价值”——若实验未达到预期但能合理归因,分数不低于基准线。

八、教学资源与支持系统

(一)数字化资源详目

1.交互式电子书:《深度博弈树搜索从零到一》,包含8个JupyterNotebook章节,每个章节结尾嵌入自动评分的代码练习。

2.三维搜索树可视化WebApp:基于Three.js,学生可从任意节点展开/折叠子树,并以颜色热力图呈现节点Q值与访问次数。

3.论文共读社群:在课程论坛开设AlphaZero周,每周精读2页原始论文,学生轮流担任领读人,教师补充数学背景。

(二)物理与虚拟环境配置

教学机房单机配置Inteli9-10900KCPU、32GBRAM、NVIDIARTX3080显卡,双27英寸显示器,左屏查阅树结构可视化,右屏编写代码。VR实验区备有HTCVive头盔,可选装围棋三维落子模拟系统,供学有余力者体验空间智能体交互。

九、教学特色创新点

(一)知识重构中的科学史浸润

本教案将深度博弈树搜索置于六十余年人工智能博弈研究史脉络:1950年图灵测试即包含机器博弈设想;1997年深蓝采用暴力搜索与手工调参评估函数;2006年MCTS在围棋程序中首次击败业余初段;2016年深度卷积网络嫁接MCTS产生AlphaGo。学生通过时间轴清晰辨识每一次突破的核心增量:从硬件红利到算法红利,再到表示学习红利。此设计意在建立正确的技术史观——没有终极算法,只有问题与约束条件驱动的持续改进。

(二)思政要素的隐性融入

在讲解AlphaZero从纯随机初始化、零人类知识输入达到超人类水平时,教师引用《礼记·大学》“物格而后知至”,诠释中国传统文化对“究极探索”精神的崇尚。同时穿插介绍华为MindSporeReinforcement、百度PaddlePaddlePARL等国产深度强化学习框架,展示我国在AI基础软件生态的突破与布局。不刻意拔高,而是通过技术对比自然生发民族自豪感与使命感。

(三)认知脚手架的多模态供给

针对UCT公式这一【难点】,同步提供三种表征形式:数学公式符号系统、自然语言描述(“胜率加上探索红利”)、模拟动画图形表征。针对价值网络替代模拟这一【重要】概念,提供类比:传统MCTS如盲人摸象,每次摸一条腿;价值网络如同给盲人一副红外眼镜,直接看到大象轮廓。多模态输入显著降低认知负荷。

十、板书动态生成纲要

(注:此处描述课堂板书的最终静态布局,与PPT互补)

主屏左侧1区:MCTS四阶段循环洋红色粉笔绘制,箭头闭环,每个阶段下方标注核心变量——选择(UCT,N,n,Q)、扩展(child_node)、模拟(rollout/value)、回溯(total_val

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论