什么是启发式搜索? 什么是启发式提问法


大家好,小设来为大家解答以上问题 。什么是启发式提问法,什么是启发式搜索?很多人还不知道,现在让我们一起来看看吧!
1、 在人工智能领域,经典的状态空间规划算法是决策规划,也叫启发式搜索 。本节将介绍什么是启发式搜索及其应用 。启发式搜索在启发式搜索中,每当遇到一个状态,可能会出现许多后续状态,这些状态和分支形成一棵树 。叶子节点的值是近似函数,然后备份到当前状态 。一旦计算出每个节点的备份值,我们就选择设置了备份值的动作作为当前动作,然后丢弃所有的备份值 。我们能看到的就是启发式搜索其实和前面提到的n-stepTD算法很像,尤其是前面提到的树备份算法 。只是不保存备份值 。实际上,在启发式搜索中,价值函数通常是人为设计的,并保持不变 。但更合理的是利用搜索过程中的备份值或书中提到的其他方法来逐渐改变值函数 。如果考虑启发式搜索备份的过程,其实贪婪算法,-贪婪算法或者UCB行为选择法类似于启发式搜索,规模更小 。例如,给定环境模型和一个状态值函数,为了选择贪婪行为,我们必须向前看,找到所有可能的下一个状态(搜索),然后利用当前收益和下一个状态的估计值函数(备份)选择最佳行动(实际上是一步的值迭代) 。传统的启发式搜索也是同样的思路,只是不保存备份值 。因此,启发式搜索可以看作是贪婪策略的多步扩展 。为什么不单步搜索,而是更深入的搜索,才能得到更好的行动选择 。如果我们有一个完美的模型和一个精确的价值函数,搜索越深入,策略越好 。怎么理解呢?理想的模型意味着我们在寻找正确的方向,不准确的价值函数会影响我们备份价值的计算 。但是搜索越深入,价值函数对备份价值的影响就越小 。如果一直搜索到一部史诗的结尾,和MC方法差不多,得到的备份是准确的,不再受value函数的影响 。当然,如果搜索第一层,并且足够小,那么得到的动作也接近最优 。这是因为它足够小,所以对备份值的影响很小 。因此,所获得的动作仍然接近最佳 。但另一方面,你搜索得越深,你需要的计算就越多,你的响应时间就越慢 。Tesauro写的双陆棋程序就是一个例子 。该系统使用TD学习方法学习后状态值函数,并使用启发式搜索来决定如何走每一步 。对于模型,TD-Gammon假设对手总是选择TD-Gammon认为的最佳动作 。特索罗发现,搜索越深入,TD-Gammon的表现越好,但每一步花费的时间越长 。TD-Gammon有很多分支,导致其计算量随着搜索深度的增加而迅速增加 。所以通常它只能搜索几步 。但即便如此,搜索显然会改善行动的选择 。为什么启发式搜索效率这么高?启发式搜索的一个特点是它专注于当前状态 。下棋的时候,无论采取什么策略,总是最关心当前一步怎么走,当前状态的价值函数是否准确也是最重要的 。启发式搜索总是通过搜索来更新当前状态的值 。这样计算资源和内存资源就可以优先用在我们关系的当前状态,所以效率很高 。深度优先搜索的启发式搜索的一种可能情况是:我们自下而上进行一步更新(注意从1到10的每一步都是一步更新),将这些更新拼接起来得到上一级的更新,最后得到根节点的值函数 。这种更新顺序称为深度优先启发式搜索 。例如,在上图中,1、2和3形成了一个对应于更新状态的子树 。更新4-10形成另一棵树 。
2、 通过更新两个子树,a1的值为8,a2的值为10,那么启发式搜索会在当前状态下选择a2,然后继续下一次搜索 。固定接地
【什么是启发式搜索? 什么是启发式提问法】本文到此结束,希望对大家有所帮助 。

    推荐阅读