搜索算法(Search)

1. 概述:
搜索算法是利用计算机的性能优势来有目的的枚举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。在问题求解过程中,人们所面临的大多数现实问题往往没有确定性的算法,需要通过搜索算法来解决。
搜索问题一般只需要考虑两个基本问题:
1、使用合适的状态空间来表示问题。
2、测试该状态空间中目标状态是否会出现

一个问题的基本信息由4部分组成
1、初始状态集合—–>定义了问题的初始状态
2、操作符集合—–>把一个问题从一个状态转换到另一个状态的动作集合
3、目标检测函数—->用来确定一个状态是不是目标
4、路径费用函数—->对每条路径赋予一定费用的函数
其中,初始状态集合和操作符集合定义了问题的搜索空间

搜索算法的两个重要问题
搜索什么和在哪里搜索
因此搜索可以被分为两个阶段:状态空间的生成阶段和在该状态空间中对所求问题的状态的搜索
搜索可以分为启发式搜索和盲目搜索

2. 盲目搜索:
一般是指从当前状态到目标状态需要走多少步或者每条路径的花费并不知道,按照预定的搜索策略进行搜索,终止于目标状态,由于这种状态没有考虑到问题本身的特性,具有很大的盲目性,效率不高。需要提高盲目搜索的效率就需要寻找合理的搜索策略,该边搜索顺序
常用的盲目搜索有:深度优先搜搜(DFS)、广度优先搜索(BFS)

1、深度优先搜索DFS
深度优先搜索沿着树的深度遍历树的节点&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值