【人工智能学习-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-总结

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

相关推荐
A小码哥16 小时前
跟着AI学习谷歌最新的通用商业协议(UCP)实操步骤
人工智能·学习
科技林总16 小时前
【系统分析师】4.2 网络体系结构
学习
且去填词16 小时前
深入理解 GMP 模型:Go 高并发的基石
开发语言·后端·学习·算法·面试·golang·go
拓端研究室16 小时前
2026年全球医疗行业趋势研究报告:AI医疗、创新药与医疗器械|附240+份报告PDF、数据、可视化模板汇总下载
人工智能
小凡致心16 小时前
AI交互中的核心概念解析
人工智能
Hcoco_me16 小时前
大模型面试题76:强化学习中on-policy和off-policy的区别是什么?
人工智能·深度学习·算法·transformer·vllm
下海fallsea16 小时前
德邦跟了京东,极兔搂住顺丰
网络·人工智能·安全
Yuzhiyuxia16 小时前
【设计模式】设计模式学习总结
学习·设计模式
五度易链-区域产业数字化管理平台16 小时前
行业分析报告|从算法到基因治疗:生物医药行业的数字化转型与人才战略
大数据·人工智能
Coder_Boy_16 小时前
基于SpringAI的在线考试系统-数据库 表结构 & 完整外键依赖关系梳理
java·数据库·人工智能·软件工程