您的位置  > 互联网

什么是产生式和启发式,你知道吗?

启发式算法 ( ) 是相对于优化算法提出的。 问题的最优算法找到问题的每个实例的最优解。 启发式算法可以定义如下:一种基于直觉或经验的算法,它以可接受的成本(指计算时间和空间)为要解决的组合优化问题的每个实例给出可行的解决方案。 可行解与最优解是一致的。 通常无法预测与解决方案的偏差程度。

计算机科学的两个基本目标是发现可以证明性能良好并产生最佳或次优解决方案的算法。 另一方面,启发式尝试一次性提供一个或所有目标。 例如,它常常能找到非常好的解,但没有办法证明它不会得到更差的解; 它通常可以在合理的时间内解决问题,但无法知道是否每次都能以这个速度解决问题。

有时人们会发现,在某些特殊情况下,启发式算法会得到不好的答案或者效率极低。 然而,导致这些特殊情况的数据组合可能永远不会出现在现实世界中。 因此,启发式算法经常被用来解决现实世界中的问题。 启发式算法通常可以在合理的时间内为许多实际问题提供良好的答案。

有一类通用启发式策略称为元启发式(),它通常使用随机数搜索技术。 它们可以应用于非常广泛的问题,但不能保证效率。

近年来,随着智能计算领域的发展,出现了一种称为超启发式算法(Hyper-)的新型算法。 近年来,智能计算领域的著名国际会议(GECCO 2009、CEC 2010、PPSN 2010)都分别举办了专门针对超启发式算法的会议。 从GECCO 2011开始,超启发式算法的相关研究正式成为会议的一个领域(self* -new track)。 智能计算领域的两本国际知名期刊of和2012年也分别安排了专刊,重点关注超启发式算法相关的研究进展。

最短的路径

所谓最短路径问题有很多含义。 这里的启发式是指定义在搜索树的节点上的函数h(n),用于评估从该节点到目标节点的最便宜路径。 启发式算法通常用于信息丰富的搜索算法,例如最佳优先贪婪算法和 A* 算法。 最佳优先贪心算法将选择成本最低的节点作为启发式函数; A*会为g(n) + h(n)选择成本最低的节点,即从起始节点到当前节点。 路径的确切成本。 如果h(n)是可接受的(),这意味着h(n)没有付出超过实现目标的成本,那么A*一定会找到最佳解决方案。

最能感受到启发法好处的经典问题是 n-。 该问题在计算错误的拼图形状,以及计算任意两个拼图块的曼哈顿距离之和以及与目标的距离时使用该算法。 请注意,上述两个条件都必须在可接受的范围内。

计算性能

在任何搜索问题中,每个节点都有 b 个选择和一个深度 d 来达到目标​​。 不熟练的算法通常必须搜索 bd 节点才能找到答案。 启发式算法通过使用一定的切割机制降低分叉率( ),从b到更低的b',从而提高搜索效率。 分叉率可以用来定义启发式算法的偏序关系。 例如:如果在n节点搜索树上,h1(n)的分叉率低于h2(n),则h1(n) < h2(n)。 启发式方法为要解决特定问题的搜索树的每个节点提供了较低的分叉率,因此它们具有更高效的计算能力。

新算法

如何找到分叉率较小、通用目的合理的启发式算法一直是人工智能界深入探索的问题。 他们使用几种常见的技术:

解决部分问题的成本通常可以根据解决整个问题的成本来估计,并且通常是相当合理的。 例如,对于 10 个谜题的谜题,解决谜题的成本应与将图块 1 至 5 移回正确位置的成本大致相同。 通常问题解决者会首先创建一个模式数据库()来存储部分问题的成本来评估问题。 一个更容易解决的近似问题往往可以用来合理地评估原始问题。 例如,曼哈顿距离是n问题的简单版本,因为我们假设我们可以独立地将一个块移动到我们想要的位置,并且不考虑移动到其他块的问题。 给我们一组合理的启发式函数 h1(n),h2(n),...,hi(n),以及函数 h(n) = max{h1(n),h2(n),... 。 ,hi(n)} 是预测这些函数的启发式函数。 AE 在 1993 年编写的一个程序使用这些技术来自动生成问题的启发式算法。 对于 8 - 由此产生的启发式优于任何以前存在的! 它还发现了第一个用于解决幻方的有用启发式。

生产指令由条件和动作组成,即所谓的条件活动规则(简称CA规则)。

在计算机中,是指Tiger编译器对源程序进行词法分析( )和语法分析( )后得到的一系列符合语法规则(-Naur Form,BNF)的语句,收录在本书(Tiger)中。书)由 W. Appel 首次提出的“Tiger 编译器”。

生产是代表程序性知识的最小单位。 它是指储存在人脑中的一系列以if-then形式表达的规则。 产生式是由条件和动作组成的指令,即所谓的条件活动规则(简称CA规则)。

在计算机中,是指Tiger编译器对源程序进行词法分析( )和语法分析( )后得到的一系列符合语法规则(-Naur Form,BNF)的语句,收录在本书(Tiger)中。书)由 W. Appel 首次提出的“Tiger 编译器”。

“产生式”一词最早由美国数学家EL Post于1943年提出,他提出了一种基于字符串替换规则的计算模型,称为Post机。 模型中的每条规则称为产生式。

产生式通常用来表达具有因果关系的知识,其基本形式是:P→Q 或 IF P THEN Q

人类认知模型通常是启发式的,而机器计算模型通常是生产式的。