一致代价搜索_关于搜索算法的一些总结

本文总结了搜索算法在路径规划等领域的重要性,包括深度优先搜索、广度优先搜索、迭代深入搜索、代价敏感搜索、代价一致搜索、贪婪搜索和A*算法的原理与特点。探讨了各种算法的完备性、最优性和内存占用,并指出启发函数对A*算法的影响及如何设置合适的启发函数。
摘要由CSDN通过智能技术生成

搜索算法在路径规划、行为决策、语句识别、语义分析等多个领域都发挥着非常重要的作用,以下是我本周对搜索算法的一些简单总结:

1. 首先是深度优先搜索,这是一种无信息搜索,就是不知道启发条件,不含有什么其他的信息,只是知道起点和终点,让机器去进行搜索,这个其实是一种树搜索,每一次将深度最深的那个节点进行优先探索,若不是终点,则将其拓展并将它的子节点纳入边缘空间,若是边缘空间中所有的节点都是同一个深度,那么就探索最左边的那个节点。如下图所示,机器需要搜索从S到G的路径,首先探索S,发现S中不含有终点,于是机器将dep这三个S的子节点纳入边缘空间中,然后因为dep这三个节点都是同一深度,所以探索最左边的d节点,d节点中有bce三个子节点,也不含有终点,于是将bce三个子节点纳入边缘空间中,此时边缘空间中的节点为bceep五个节点,这五个节点中bce的深度为2,然后又因为b节点是最左边的节点,于是又探索b,b中只含有a节点显然不是终点,且a节点无法继续拓展,于是接下来探索c节点...依此类推就是整个深度优先搜索的大概过程。这种搜索的优点是机器每次只需要探索最深的那个点,而且边缘空间中的节点也不会太多,不会占用太多的内存。缺点是如果某个节点具有无限的拓展性,那么这种算法将有可能找不到最终的值即便这个值是存在的,也就是说这种算法无法保证完备性。而且显然这种方法在正常情况下是比较耗费时间的,并且无法保证所寻找的路径是最优解,即无法保证最优性,如下图所示,若是按照这种方法搜索,那么路径为sderfg,但是我们通过观察显然最优的路径是serfg。所以这种方法无法保证最优性。

08965d39888cc98492975a430fff944b.png

2. 广度优先搜索,这个也是一种无信息搜索,也是只知道起点和终点然后让机器去搜索,与深度搜索不同的是它每次拓展的是边缘空间节点中最浅的那个节点,都是同一个深度的话就拓展最左边的那个节点,若是借用下图来说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值