无信息(盲目)搜索(宽度优先,代价一致,深度优先,迭代深度,双向搜索)


1,盲目搜索又叫无信息搜索,在搜索时,只有问题定义信息可用。
2,对比于有信息搜索,在搜索时,有策略可以确定一个非目标状态比另一种更好的搜索。

宽度优先搜索

优先扩展最浅层的为扩展结点。
• 实现方法:
• Fringe表采用先进先出队列( FIFO queue),即新的后续节点总是放在队列的末尾。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
算法分析:
在这里插入图片描述
在这里插入图片描述

代价一致搜索

•优先扩展具有最小代价的未扩展节点
• 实现: fringe 是根据路径代价排序的队列
• 在单步代价相等时与宽度优先搜索一样
举例:
1,处理城市节点:Arad 父节点:None 路径损失为:0
孩子节点:Zerind 路径损失为:75
添加孩子到优先队列
孩子节点:Sibiu 路径损失为:140
添加孩子到优先队列
孩子节点:Timisoara 路径损失为:118
添加孩子到优先队列
2,处理城市节点:Zerind 父节点:Arad 路径损失为:75
孩子节点:Oradea 路径损失为:146
添加孩子到优先队列
孩子节点:Arad 路径损失为:150
3,处理城市节点:Timisoara 父节点:Arad 路径损失为:118
孩子节点:Arad 路径损失为:236
孩子节点:Lugoj 路径损失为:229
添加孩子到优先队列
4,处理城市节点:Sibiu 父节点:Arad 路径损失为:140
孩子节点:Oradea 路径损失为:291
孩子节点:Arad 路径损失为:280
孩子节点:Fagaras 路径损失为:239
添加孩子到优先队列
孩子节点:Rimnicu Vilcea 路径损失为:220
添加孩子到优先队列
5,处理城市节点:Oradea 父节点:Zerind 路径损失为:146
孩子节点:Zerind 路径损失为:217
孩子节点:Sibiu 路径损失为:297
6,处理城市节点:Rimnicu Vilcea 父节点:Sibiu 路径损失为:220
孩子节点:Sibiu 路径损失为:300
孩子节点:Craiova 路径损失为:366
添加孩子到优先队列
孩子节点:Pitesti 路径损失为:317
添加孩子到优先队列
7,处理城市节点:Lugoj 父节点:Timisoara 路径损失为:229
孩子节点:Timisoara 路径损失为:340
孩子节点:Mehadia 路径损失为:299
添加孩子到优先队列
8,处理城市节点:Fagaras 父节点:Sibiu 路径损失为:239
孩子节点:Sibiu 路径损失为:338
孩子节点:Bucharest 路径损失为:450
添加孩子到优先队列
9,处理城市节点:Mehadia 父节点:Lugoj 路径损失为:299
孩子节点:Lugoj 路径损失为:369
孩子节点:Drobeta 路径损失为:374
添加孩子到优先队列
10,处理城市节点:Pitesti 父节点:Rimnicu Vilcea 路径损失为:317
孩子节点:Rimnicu Vilcea 路径损失为:414
孩子节点:Craiova 路径损失为:455
孩子节点:Bucharest 路径损失为:418
替换状态: Bucharest 旧的损失:450 新的损失:418
11,处理城市节点:Craiova 父节点:Rimnicu Vilcea 路径损失为:366
孩子节点:Drobeta 路径损失为:486
孩子节点:Rimnicu Vilcea 路径损失为:512
孩子节点:Pitesti 路径损失为:504
12,处理城市节点:Drobeta 父节点:Mehadia 路径损失为:374
孩子节点:Mehadia 路径损失为:449
孩子节点:Craiova 路径损失为:494
13,处理城市节点:Bucharest 父节点:Pitesti 路径损失为:418
目的地已经找到了
从城市: Arad 到城市 Bucharest 查找成功
Arad->Sibiu->Rimnicu Vilcea->Pitesti->Bucharest

算法分析:
最优性:
一直代价搜索目标检测应用于节点被选择扩展时,而不是在节点生成的时候,因为第一个生成的目标节点可能在次优的路径上,边缘中可能有节点有更好的路径到达该节点,就会继续测试,替换,优先级队列保证每一个出队扩展的节点都是最优的,因此第一个被选择作为扩展结点的目标节点一定是最优解,由此可以得到一个最优路径。
在这里插入图片描述

深度优先搜索

• 扩展最深层的未扩展节点
• 实现:fringe = 后进先出队列(LIFO queue)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
依次深搜直到目标节点或所有节点扩展完毕。
算法分析:
在这里插入图片描述

深度优先搜索改进——深度有限搜索

因为算法很可能在无限状态空间中在某一条路径上无线深搜下去,因此不具有完备性,很自然的优化可以想到加一个限制,就是深度有限搜索,但是深度有限搜索并不能确保能够在有限步骤内搜索出最佳目标节点。

迭代深入搜索

举例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
算法分析:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

双向搜索

双向搜索即分别从初始节点和目标节点开始搜索,他要求节点搜索是可逆的,并且事先知道目标节点的状态,但在实际中,搜索往往不知目标状态,这是一个局限。
在这里插入图片描述

无信息搜索算法总结

在这里插入图片描述
完结撒花!

  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值