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