深度优先与深度限制
约 60 分钟
深度优先与深度限制
从问题现场开始
这一节不从术语表开始。我们先把“深度优先与深度限制”放进一个能运行、能失败、也能复查的智能系统:环境给出观测,智能体根据历史选择动作,动作改变后续状态并产生可评价结果。先写清用户任务、状态边界、可用动作、信息条件、计算预算和硬约束,再判断本节方法究竟解决哪一步。
本节专属对象
DFS空间小但会走深支路;DLS用界限避免无限下降。。请把其中每个量标成环境真状态、智能体观测、内部估计、动作、概率、代价、效用或评价证据。对象一旦混淆,算法即使输出数字也没有可解释含义;所以实现必须保存输入、版本、随机种子和中间状态。
公式是怎样得到的
在“深度优先与深度限制”中使用:space=O(bm)。。先说明等式或不等式两侧分别代表什么、需要哪些假设、取值范围与单位;再从定义或递推关系逐行推出。遇到零概率、空动作集、不可达状态、无限代价、并列决策或终止状态时,应进入明确分支,而不是让默认值悄悄决定结果。
老师带着算完一个例子
b=3、最大深度4,递归栈和兄弟记录量阶为3×4=12。。这里已经给出输入、中间运算与结论。现在只改变一个输入,先不按计算器:判断结果应增大、减小还是保持,再重新代入。若方向与预测相反,优先检查条件概率分母、MAX/MIN层、折扣位置、状态去重、量词作用域、奖励视角和终止处理。
把推导拆成可检查的行
围绕“深度优先与深度限制”至少写三行:第一行列状态、动作、概率、逻辑事实或搜索节点;第二行按“space=O(bm)。”算局部贡献、候选或后继;第三行才给策略、证明、路径或数值。每行注明依赖前提,并用“b=3、最大深度4,递归栈和兄弟记录量阶为3×4=12。”逐项代入。只给最终动作或答案,不能证明算法和题意一致。
做完正向计算后再反查两次。先从结果退回:是哪条边、哪项似然、哪个效用、哪条规则或哪个候选改变了决定?再从原始输入向前走:状态表示、观测、动作模型、随机种子或约束变化时,结论在哪一步首次不同?最后以“图上无环检测;把深度截断误报成无解。”作为最小失败注入,确认系统能暴露而非掩盖错误。
落成算法或实验
固定动作次序,检测当前路径环,区分cutoff与failure。。运行时输出关键中间量,而不只输出终局:搜索题保存frontier、g/h/f与parent;逻辑题保存替换、子句和证明父节点;概率题保存未归一贡献与归一常数;决策题保存逐动作Q;机器人题保存时间戳、坐标系、残差和控制量。
复杂度与系统连接
分析“深度优先与深度限制”时,指出时间和空间主要受分支因子、深度、状态数、变量域、因子宽度、动作数、样本数或向量维度中的哪个量控制。小例正确只证明语义;规模实验还要报告展开节点、内存、随机方差、p95延迟和失败率。把本节模块接回“观测—估计—推理/规划—动作—反馈”的闭环,说明它消费谁的输出、为谁提供输入及其超时降级。
“深度优先与深度限制”实验报告至少保留问题实例、模型/规则版本、参数、随机种子、中间轨迹、最终输出和运行成本。用手算“b=3、最大深度4,递归栈和兄弟记录量阶为3×4=12。”证明语义,用规模实验说明成本,再用“图上无环检测;把深度截断误报成无解。”说明边界。库函数可以使用,但必须先通过本节小例和反例,不能用包名代替理解。
最短失败反例
本节边界是:图上无环检测;把深度截断误报成无解。。请指出它破坏哪项假设,构造最小状态、公式、知识库或轨迹让错误显现;随后给出可以运行的修复及回归测试。答案必须说清错误会造成非最优、不可达、错误证明、概率失真、策略不稳、越权还是安全风险。
在线练习与闭卷自检
本节绑定单选、多选、计算与严格推导;章节另有可运行Python算法题,每题至少四组测试。闭卷时重建五项:对象“DFS空间小但会走深支路;DLS用界限避免无限下降。”;核心关系“space=O(bm)。”;算完例题“b=3、最大深度4,递归栈和兄弟记录量阶为3×4=12。”;实验步骤;失败边界“图上无环检测;把深度截断误报成无解。”。五项缺一项,就回到对应段落重做,而不是继续背下一个名词。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。
围绕深度优先与深度限制完成可复算解答:解释“DFS空间小但会走深支路;DLS用界限避免无限下降。”,逐行使用 space=O(bm)。 重算“b=3、最大深度4,递归栈和兄弟记录量阶为3×4=12。”,执行“固定动作次序,检测当前路径环,区分cutoff与failure。”,再针对“图上无环检测;把深度截断误报成无解。”构造最小反例并修正。
【评分量表】对象与口径2分;公式和中间步骤3分;例题数值3分;失败边界与修正2分。
本题必须操作的算法对象是:BFS最短边数·基础。实现“BFS最短边数·基础”,逐步计算而非返回常量;Python 3标准输入输出,不得联网或硬编码样例,并通过正常、最小、边界与失败输入。