启发式在人工智能中意味着什么?
0 1294
0
该提问暂无详细描述
收藏
2021-03-25 09:29 更新 小眼的铁板烧 •  3526
共 1 个回答
高赞 时间
0

用简单的话说,“启发式方法只是为空间,时间或对象分配值以从问题陈述中寻求解决方案的假设。”

例子1

考虑下图,我们需要找到从节点A到节点B的最佳路径。 有3种可能的解决方案-

  1. 第一条路径:A-> C-> D-> B
  2. 第二条路径:A-> E-> B
  3. 第三条路径:A-> F-> H-> B

如何找出其中的最佳途径?

我们只需要计算每条路径的距离并在其中选择最佳路径即可。

  1. 第一条路径:10 + 6 + 8 = 24
  2. 第二条路径:5+ 5 = 10
  3. 第三条路径:12 + 8 + 10 = 30

因此,我们选择A-> E-> B作为最佳路径。如果我们从逻辑上考虑,仅当为每个顶点假设了一些预定义的值时,我们才能够确定第二条路径是最佳路径。

如果关于顶点值的初始假设是这样的,该怎么办? 在这种情况下,我们可能会得出这样的答案:第一个路径是最佳路径。因此,最初的假设在找到解决方案中起着关键作用任何旨在解决问题的值的初始假设都可以视为启发式方法。在这里,每个顶点的值都是试探法。这些启发式值使我们能够快速找到解决方案。

例子2

找出半径为3 cm的圆的面积,并假定pi的值为3.14。

在这里,我们假设pi = 3.14的值也是一种启发式方法。

Pi可以具有许多值,例如3.14、3.142、3.1428等,但是我们选择pi = 3.14来解决这个特定问题,从而可以快速找到答案。如果我们手动将pi的值计算为许多小数点并将其替换为方程式,则可能会获得最佳结果,但问题不会很快得到解决。现在,借助这一初始假设,我们可以很快达到最佳解决方案之一。

例子3

在这里,为了找到总和,在问题开始时将本金假定为INR 100。该假设背后的原因是,它可以帮助学生非常快速地解决问题。此初始假设也是一种启发式方法。

总结

启发式方法在解决计算机科学中的复杂问题方面发挥着巨大作用。特别是在人工智能中,当要求机器从初始状态达到目标状态时,会对它们进行一些启发式编程,以便它们能够最快速地解决问题。

研究人员发现,使用一些启发式函数可以在多项式时间内解决许多np和np-hard问题。但这不一定是最佳解决方案,而是在大多数情况下,启发式方法可以帮助找到给定问题的最佳解决方案之一。

业界已经使用各种启发式功能实现了许多实时应用算法,例如-

  • 假设旅行商问题中的初始距离
  • 假设工作分配问题(匈牙利算法)等中的初始成本

转载自:https://www.quora.com/What-does-heuristics-mean-in-artificial-intelligence

收藏
2021-03-25 09:39 更新 空心人 •  3374