3、启发式有序搜索算法:A*及其变体详解

启发式有序搜索算法:A*及其变体详解

1. A*算法基础与终止条件

A*算法是一种经典的启发式搜索算法,它在状态图搜索中有着广泛的应用。该算法的终止条件有两个:一是当开放列表(front)为空时(对应代码中的第21行);二是当开放列表中的某个节点,其评估值最优且满足目标状态的定义时(对应代码中的第5行)。

2. A*算法找到最短路径的条件

在带权弧的搜索图框架下,$h^ (n)$ 表示从节点 $n$ 到目标节点集合的最短路径长度。若不存在这样的最短路径,则 $h^ (n) = \infty$;$h^*(s)$ 衡量的是从初始状态 $s$ 到目标节点的最短路径长度,也就是最小解的长度。

尼尔斯森及其同事提出的可采纳性定理表明,当满足以下条件时,将A 算法应用于带权状态图 $G$ ,必然能找到从初始状态到目标节点的最短路径:
1. 图 $G$ 中至少存在一条从初始状态到目标状态的路径。
2. 图 $G$ 中的每个状态都有有限个后继状态。
3. 存在 $\delta > 0$,使得图 $G$ 中的任意弧 $(m, n)$ 都满足 $c(m, n) \geq \delta$。
4. 对于图 $G$ 中的任意状态 $n$,都有 $h(n) \geq 0$。
5. 对于图 $G$ 中的任意状态 $n$,都有 $h^
(n) \geq h(n)$。

满足条件5的启发式函数 $h$ 被称为在图 $G$ 上“低估”的函数。对于 $(n^2 - 1)$ 谜题的状态图,条件2和3显然满足。条件1成立的充要条件是目标状态和初始状态属于同一个连通分量。启发式函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值