人工智能(三)上——通过搜索进行问题求解(有信息搜索策略)
2017-10-13 11:26
1361 查看
一、无信息与有信息搜索
无信息搜索又名盲目搜索:•在搜索时,只有问题定义信息可用。
•盲目搜索策略仅利用了问题定义中的信息。
有信息搜索:
• 在搜索时,当有策略可以确定一个非目标状态比另一种更好的搜索,称为有信息的搜索。
二、最佳优先搜索
•思想: 使用一个评估函数 f(n)给每个结点估计他们的希望值。 优先扩展最有希望的未扩展结点。•实现: fringe表中根据希望评估值从大到小排序
•最佳优先搜索策略有:
贪婪最佳优先搜索
A* 搜索
(一)贪婪最佳优先搜索
•评估函数: f(n) = h(n) (heuristic,启发函数) = 估计从结点n到目标的代价例如:hSLD(n) = 从结点 n 到 Bucharest的 直线距离
•贪婪最佳优先搜索优先扩展看上去更接近目标的结点(启发式函数评估出来的)
• 完备性? No – 可能陷于死循环当中
• 比如, Iasi Neamt Iasi Neamt
• 时间? O(bm), 但一个好的启发式函数能带来巨大改善
• 空间? O(bm)
• 最优性? No
(二)A* 搜索
• 思想: 避免扩展代价已经很高的结点。• 评估函数 f(n) = g(n) + h(n)• g(n) = 到达结点n已经发生的实际代价
h(n) = 从结点n到目标的代价估计值
f(n) =评估函数,估计从初始结点出发,经过结点n,到目标的路径代价的估计
1.可采纳的启发式函数
• 如果启发式函数h(n)对于任意的结点n都满足 h(n) ≤ h*(n),这里 h*(n)是指从结点n到达目标的真正代价,则称h(n)是可采纳的。• 定理: 如果h(n)是可采纳的,则 A* 树搜索算法是具有最优性。
4000
• 完备性? Yes
• 时间? 指数级
• 空间? 将所有产生的结点存储在内存中
• 最优性? Yes
(三)A*的改进方法
存储受限制的启发式搜索:思想:迭代加深的A*算法,用一个f-cost代替有限制的深度优先中的d作为截断值,进行剪枝。
递归最佳优先搜索(RBFS)
• 尝试模拟标准的最佳优先搜索而只需线性空间。
1. 记录当前节点的祖先可得到的最佳可替换路径的f值。
2. 如果当前的f值超过了这个限制,则递归将转回到替换路径。
3. 向上回溯改变f值到它的孩子的最佳f 值
4. 重复扩展这个上个节点,因为仍有可能存在较优解。
(简单)存储限制的A*
• 当内存满了的时候删除最坏的节点
相关文章推荐
- 人工智能一种现代的方法 --第3章 通过搜索进行问题求解
- 人工智能3:通过搜索进行问题求解
- 1、通过搜索进行问题求解
- 正在进行调试的Web服务器进程已由Internet信息服务(IIS)终止。可以通过在IIS中配置应用程序池Ping设置来避免这一问题。有关更多详细信息,请参见“帮助”
- 正在进行调试的Web服务器进程已由Internet信息服务(IIS)终止。可以通过在IIS中配置应用程序池Ping设置来避免这一问题。有关更多详细信息,请参见“帮助”
- 人工智能 一种现代方法 第3章 用搜索树对问题求解
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- 《人工智能——一种现代方法》(第二版)【第3章 用搜索法对问题求解】小结
- 正在进行调试的Web服务器进程已由Internet信息服务(IIS)终止。可以通过在IIS中配置应用程序池Ping设置来避免这一问题。有关更多详细信息,请参见“帮助”
- 正在进行调试的Web服务器进程已由Internet信息服务(IIS)终止。可以通过在IIS中配置应用程序池Ping设置来避免这一问题。有关更多详细信息,请参见“帮助”
- 【笔记】人工智能 一种现代方法 人工智能 一种现代方法 第6章 用搜索树对问题求解
- 人工智能:复杂问题求解的结构和策略
- 正在进行调试的 Web 服务器进程已由 Internet 信息服务器(IIS)终止。可以通过在 IIS 中配置应用程序池 Ping 设置为避免这一问题
- [转载] 人类智能PK人工智能——04 问题求解与搜索
- 【浅析华容道之二】华容道问题搜索求解策略
- 免费教材丨第52期:人工智能(复杂问题求解的结构和策略)、人工智能哲学
- Spring Cloud项目中通过Feign进行内部服务调用发生401\407错误无返回信息的问题
- [转载] 人工智能:一种现代方法——第3章 用搜索法对问题求解
- C++基于人工智能搜索策略解决农夫过河问题示例
- 人工智能中的图搜索策略与重排九宫问题