MOOC《人工智能:模型与算法》笔记 chapter 2

该博客主要介绍搜索求解的相关算法,包括启发式搜索(贪婪最佳优先搜索、A*算法)、对抗搜索(最小最大搜索、Alpha - Beta剪枝搜索)以及蒙特卡洛树搜索(单一状态蒙特卡洛规划、上限置信区间、蒙特卡洛树搜索)。

这一章主要介绍了搜索求解的相关算法。分别是启发式搜索,对抗搜索以及蒙特卡洛树搜索。

·搜索算法:启发式搜索(有信息搜索)

在搜索的过程中利用与所求解问题相关的辅助信息,其代表算法为 贪婪最佳优 先搜索 (Greedy best-first search) A* 搜索
下面以两个城市之间的最短距离为例介绍启发式搜索。

1.1搜索算法:贪婪最佳优先搜索

贪婪最佳优先搜索 (Greedy best-first search) :评价函数 f(n) = 启发函数 h(n)。
从Arad节点开始,寻找与之相邻的后继节点。寻找后继节点的依据是根据Figure3.22中的数据选择
h(n)最小的节点作为后继节点,以此类推,直到扩展到Bucharest。
不难看出此方法存在一些不足之处:
1.贪婪最佳优先搜索不是最优的。经过 Sibiu Fagaras Bucharest 的路径比经过 Rimnicu Vilcea
Pitesti Bucharest 的路径要长 32 公里。
2. 启发函数代价最小化这一目标会对错误的起点比较敏感。考虑从 Iasi Fagaras 的问题,由启发式
建议须先扩展 Neamt ,因为其离 Fagaras 最近,但是这是一条存在死循环路径
3.贪婪最佳优先搜索也是不完备的。所谓不完备即它可能沿着一条无限的路径走下去而不回来做其他的选择尝试,因此无法找到最佳路径这一答案。
4.在最坏的情况下,贪婪最佳优先搜索的时间复杂度和空间复杂度都是O( b^{m} ),其中𝑏是节点的分支因子数目、𝑚是搜索空间的最大深度。
因此,需要设计一个良好的启发函数。于是就有了A* 算法 。

1.2 搜索算法:A*算法

定义评价函数: f(𝑛) =                                g(𝑛)                   +               ℎ(𝑛)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值