人工智能原理课程复习——(2)搜索形式化与搜索求解

搜索形式化与搜索求解

搜索问题的形式化

搜索问题的形式化

我们考虑下述搜索问题的形式化

我们的目标是:从Arad出发前往Bucuresti

则我们可以将该问题理解为:从Arad出发该怎么走,才能走到目的地,即转换为路径搜索问题

将上述问题进行形式化,可得:

我们可以将搜索形式化为以下几个要素:

  • 初始状态Initial state
  • 行动Actions(s)
  • 转移模型Result(s,a)
  • 目标测试Goal-Test(s)
  • 动作代价Action-Cost(s,a)

该搜索问题的解,即为从初始状态到目标状态的动作序列

示例

搜索求解

树搜索

我们可以将上述搜索问题,转化为树搜索的问题

我们可以将上述树搜索用下列函数来表示。先将初始结点加入frontier中,随后从frontier中选择一个叶节点,判断该节点是否为目标节点,若不是,则将该节点相连的结点加入到frontier中。

我们称frontier为未被扩展的结点集合

图搜索

图搜索与树搜索的基本想法是一样的,但图搜索可以去除重复的状态

新增了一个explored集合,表示已被探索的结点集合

当在遍历结点时,若该节点不为目标状态,则将该节点加入explore集合中,并将其相邻的结点加入到frontier中,但需要注意,在加入新节点到frontier中,要做重复性检查,即判断该相邻的结点是否已经在frontier中或者explored中

上图中绿色字体表示的是重复节点,即直接删除

总结

搜索:不断地扩展frontier内的结点,直到代表目标状态的结点出现

树搜索:反复从frontier移出结点进行扩展,每个子结点都加入搜索树中(成为frontier结点)

图搜索:反复从frontier移除结点进行扩展,将状态不重复的子节点加入搜索树(成为frontier结点)。用explored集合保存已被扩展过的结点

树结点的结构

结点与状态是不一样的,一个结点包含了多个信息,可用于后续的搜索算法中

搜索算法的评估

完备性:若一个搜索算法能够找到解,那么称搜索算法是完备的

最优性:若一个搜索算法总能找路径代价最小的解,那么称该搜索算法是最优的

复杂性:其衡量了一个算法的时间开销以及内存开销

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值