启发式搜索中启发函数的可容许性与一致性启发式的理解

启发式搜索中启发函数的可容许性与一致性启发式的理解

前言

启发式搜索(Heuristically Search)又称为有信息搜索(Informed Search),它是利用问题拥有的启发信息来引导搜索,达到减少搜索范围、降低问题复杂度的目的,这种利用启发信息的搜索过程称为启发式搜索。

启发式搜索的评价函数一般为
f ( n ) = g ( n ) + h ( n ) f(n) = g(n) + h(n) f(n)=g(n)+h(n)
其中 g ( n ) g(n) g(n)为初始状态到达n状态的已发生的路径代价, h ( n ) h(n) h(n)​为启发函数,估计了从n状态到goal状态的代价,启发式搜索算法永远搜索待扩展状态点中 f ( n ) f(n) f(n)​最小的节点。

**注:**读者要区分状态点和节点的区别,状态点包含了达到这一点路径上的所有节点信息,后者只是单纯的节点意义。

启发式算法的关键点在于如何构造启发函数,这是一个难点。为了让算法的性能优越,往往我们需要考虑让启发式函数符合两个特性——可容许性(admissible)和一致性(consistency),本文介绍一些关于该二者的个人理解。

一、可容许性启发式

可容许性定义:

一个可容许的启发函数h(n)要求 , h ( n ) < = n 到 g o a l 的实际最小代价 ,h(n)<=n到goal的实际最小代价 h(n)<=ngoal的实际最小代价​,即永远不高估到目标的代价。因此f(n)实际上是,以初始状态到n的这条路径为前半段,再从n到目标状态的代价的下界。

可容许性特点:

可容许性启发式的搜索算法一定能找到最优解,因为其永远搜索那些待扩展点中 f ( n ) f(n) f(n)​最小的节点这一特性,对任意一个在某条最优路径上的状态,(由启发式定义可知)满足 f ( n ) = g ( n ) + h ( n ) < = C ∗ ( C ∗ 为最优路径代价) f(n) = g(n) + h(n)<=C^*(C*为最优路径代价) f(n)=g(n)+h(n)<=CC为最优路径代价),而非最优路径上,一定存在一状态点使得 g ( n ) + h ( n ) > C ∗ g(n) + h(n)>C^* g(n)+h(n)>C(注1)。

从直观上来看:这些 f ( n ) > C ∗ f(n)>C^* f(n)>C的状态点将永远不会被搜索,因为只要有一个最优路径上的状态点被搜索过了(初始点必定是最优路径上的状态点),因为每次只搜索f(n)最小的点,而最优路径上的点的扩展(后继)点中一定还有最优路径上的点 f ( n ) < = C ∗ f(n)<=C^* f(n)<=C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值