【人工智能学习-AI-MIT公开课-第5. 搜索:最优、分支限界、A**】

人工智能学习-AI-MIT公开课-第5. 搜索:最优、分支限界、A**

1-前言

为了应对大学院考试,我们来学习相关人工智能相关知识,并且是基于相关课程。使用课程为MIT的公开课。

通过学习,也算是做笔记,让自己更理解些。

2-课程链接

是在B站看的视频,链接如下:
https://www.bilibili.com/video/BV1dM411U7qK?spm_id_from=333.788.videopod.episodes&vd_source=631b10b31b63df323bac39281ed4aff3&p=5

3-具体内容解释说明


一、这节课在解决什么问题?

一句话:

在很多"选择很多、路径很多"的问题里,怎么"聪明地找最优解"?

典型问题:

  • 地图最短路径
  • 迷宫
  • 机器人路径规划
  • 博弈搜索
  • 调度 / 组合优化

👉 不能全试(太慢)

👉 必须剪枝 + 用信息引导搜索


二、最优搜索(Best-First Search)

1️⃣ 核心思想

每次都选"看起来最好的那个节点"来扩展

怎么判断"最好"?

  • 用一个评价函数 f(n)

例如:

  • 离目标最近?
  • 代价最小?
  • 启发式估计最小?

2️⃣ 特点

✅ 搜索更有方向

❌ 不一定保证最优解(取决于 f 的设计)

👉 这是一个"思想总称"

后面的 分支限界A* 都是它的具体实现。


三、分支限界法(Branch and Bound)

1️⃣ 在干什么?

在"所有解的树"中,只搜索"有可能更优"的分支

  • Branch:展开分支(继续搜索)
  • Bound:用"下界/上界"剪掉不可能更优的分支

2️⃣ 关键概念

  • 当前最好解的代价(上界)
  • 某分支能达到的最小可能代价(下界)

如果:

下界 ≥ 当前最好解

👉 这条路 直接砍掉

3️⃣ 特点

✅ 能保证找到最优解

❌ 最坏情况还是指数复杂度

👉 常用于:

  • 旅行商问题(TSP)
  • 组合优化
  • 调度问题

四、A* 搜索(本章重点 + 入试王者)

1️⃣ 核心公式(必背)

f(n) = g(n) + h(n)

  • g(n):从起点到 n 的真实代价
  • h(n):从 n 到目标的"预计代价"(启发式)

👉 A = 最优搜索 + 分支限界 + 启发式*


2️⃣ A* 在做什么?

每次扩展 f 最小 的节点

  • g:保证走过的路不乱来
  • h:告诉算法"方向感"

3️⃣ 为什么 A* 很厉害?

如果 h(n) 满足:

不高估真实代价(admissible)

那么:

  • ✅ 一定能找到最短路径
  • ✅ 搜索效率远高于 Dijkstra

4️⃣ 和别的方法怎么区分?(入试必考)

方法 用什么选节点 最优保证
BFS 深度/层数 只有等权图
Dijkstra g(n)
Greedy h(n) 没有
A* g+h 有(条件成立)

五、这节课在"入试"里怎么考?

常见题型

  • f(n)=g+h 的含义
  • 哪个节点会被"最先访问"
  • A* 与最良优先是否相同
  • h 过大/过小的影响
  • 为什么 A* 比 Dijkstra 快

👉 绝不写代码

👉 只考"理解"和"顺序"


六、和现在做的事情的关系(很重要)

做的:

  • 机器人 / UAV
  • SLAM + 路径规划
  • Jetson 平台

这节课讲的:

  • 正是机器人决策层的核心算法

👉 教授一看就知道:

"这是一个能马上进研究室干活的人"


七、一句话总结(考试版)

*A 是一种结合了"已走代价"和"未来估计"的最优搜索方法,通过启发式函数有效减少搜索空间,同时在条件满足时仍保证最优解。**


4-课后练习(日语版本)


問題1(概念理解・A*の本質)

A*探索に関する次の説明のうち、最も適切なものを一つ選べ。

a. A探索は常に幅優先探索より高速である
b. A
探索はヒューリスティック関数のみを用いて探索順序を決定する

c. A探索は実コストと推定コストの和に基づいて探索を行う
d. A
探索は負のコストを含むグラフでも最適解を保証する

考察点

👉 f(n)=g(n)+h(n) の理解

👉 Greedy / Dijkstra との区別


問題2(性質・可容許ヒューリスティック)

A*探索において、ヒューリスティック関数が admissible(可容許) であるとは、次のうちどれを意味するか。

a. 常に実際の最短距離と等しい値を返す

b. 実際の最短距離を過小評価する可能性がある

c. 実際の最短距離を過大評価しない

d. 探索空間の大きさを最小化する

考察点

👉 「過大評価しない」という日本語表現

👉 最適性保証の条件


問題3(比較・アルゴリズムの違い)

次の探索手法の組合せのうち、常に最短経路を保証する ものはどれか。

ただし、すべての辺のコストは非負とする。

a. 貪欲最良優先探索

b. 幅優先探索

c. ダイクストラ法

d. 深さ優先探索

考察点

👉 コスト条件

👉 BFS が「等コストのみ」有効である点


問題4(記述式・説明問題)

A*探索が 「分枝限定法(Branch and Bound)」の一種である といわれる理由を、
拡張リスト(extended list)とヒューリスティック関数に触れながら、簡潔に説明せよ。

(100字以内)

考察点

👉 暗記ではなく「構造理解」

👉 今回の黒板内容そのまま


5-课后答案解析(日语版本)


問題1

你的答案:C

正确(満点)

理由(阅卷老师视角)

A* 的核心定义就是

実コスト g(n) + 推定コスト h(n)

选项 c 准确描述了 A 的评价函数本质 *。

其他选项要么过度承诺(a),要么混淆 Greedy(b),要么违反前提(d)。


問題2

你的答案:B

不正确

正确答案:C

关键点(非常重要,考试常错)

  • admissible(可容许)≠「可能过小」
  • admissible = 绝不高估

也就是:

h(n) \\le \\text{真实最短距离}

👉 日文考试里,「過大評価しない」是标准表述

👉 所以 C 才是唯一严谨答案


問題3

你的答案:B

不正确

正确答案:C(ダイクストラ法)

为什么 BFS 不行?

  • BFS 只在「所有边权相等」时保证最短路径
  • 题目只说「非负」,没说「相等」

👉 出题人就是在这里挖坑


問題4(记述式)

你没写,这一题我直接给你一段**「可直接用的合格答案」**👇

100字以内,教授爱看的版本

✅ 模范解答(推荐背)

A*探索は、評価関数に基づいて探索空間を分枝し、最適解になり得ない経路を剪定する点で分枝限定法の一種である。さらに、拡張リストにより重複探索を防ぎ、可容許ヒューリスティックを用いることで最適性を保ったまま探索効率を向上させている。


📊 总评(非常关键)

题号 结果
問1
問2 ❌(概念边界)
問3 ❌(条件陷阱)
問4 ⚠️(未作答)

👉 这是"合格边缘但非常有潜力"的典型状态

👉 错的点 不是不会,是日文逻辑精度


6-总结

知识一点点记录吧,最后应对考试,打下基础

相关推荐
白日做梦Q2 小时前
预训练模型微调(Finetune)实战:策略、技巧及常见误区规避
人工智能·python·神经网络·机器学习·计算机视觉
阿星AI工作室2 小时前
这一年,让我人生事业开挂的13个认知
人工智能
玄同7652 小时前
Python 流程控制:LLM 批量推理与 API 限流处理
服务器·人工智能·python·深度学习·自然语言处理·数据挖掘·知识图谱
Dev7z2 小时前
基于Matlab实现GRACE卫星重力数据的全球水储量变化估算与分析
人工智能·算法·matlab
IT_陈寒2 小时前
Vue3性能优化实战:7个被低估的Composition API技巧让渲染提速40%
前端·人工智能·后端
乾元2 小时前
生成对抗样本在网络安全中的工程化解读——AI 误报、误判与对抗的真实边界
运维·网络·人工智能·python·安全·web安全
独孤--蝴蝶2 小时前
AI人工智能-大语言模型的神秘力量ICL(下)-第十一周(小白)
人工智能·语言模型·自然语言处理
stars-he2 小时前
FPGA学习笔记(7)以太网UDP数据报文发送电路设计(一)
笔记·网络协议·学习·fpga开发·udp
机器学习之心2 小时前
守正创新,拥抱未来:机器学习之心2025年度总结
人工智能