Artificial intelligence 如何确定一个算法的启发式,比如a*,是一个很好的方法

Artificial intelligence 如何确定一个算法的启发式,比如a*,是一个很好的方法,artificial-intelligence,heuristics,Artificial Intelligence,Heuristics,我最近学习了一个*算法,我知道在寻找潜在路径时需要一个启发式值,我也知道启发式的一致性和可容许性是什么。但我很困惑,什么样的启发式是好的,为什么它是好的 顺便说一句,启发式是如何工作的?在我看来,选择启发式主要取决于问题。然而,如果以一种面向目标的方式理解问题,那么选择一种启发式方法就会变得更容易。至少我是这么做的。我的想法是: 启发式在目标状态下计算为零。 那么,所有的场景是什么?目标值为零的所有函数是什么 可能的启发式方法 剩余的食品托盘数量? 当前托盘到下一个未探测托盘的距离? 网格中未勘

我最近学习了一个*算法,我知道在寻找潜在路径时需要一个启发式值,我也知道启发式的一致性和可容许性是什么。但我很困惑,什么样的启发式是好的,为什么它是好的


顺便说一句,启发式是如何工作的?

在我看来,选择启发式主要取决于问题。然而,如果以一种面向目标的方式理解问题,那么选择一种启发式方法就会变得更容易。至少我是这么做的。我的想法是:

启发式在目标状态下计算为零。

那么,所有的场景是什么?目标值为零的所有函数是什么

可能的启发式方法

  • 剩余的食品托盘数量?
  • 当前托盘到下一个未探测托盘的距离?
  • 网格中未勘探的区域,带有食物托盘等
  • 我会选择最后一个选项,因为它看起来更可靠,尽管这三个选项最终都会找到解决方案

    所以,我相信,你可以通过把自己放在目标上来选择启发 陈述,然后回顾,看看你在这个项目上完成了什么 对。所以从某种意义上说,启发式不过是 需要完成的工作(目标值为0)


    在我看来,选择启发式方法主要取决于问题。然而,如果以一种面向目标的方式理解问题,那么选择一种启发式方法就会变得更容易。至少我是这么做的。我的想法是:

    启发式在目标状态下计算为零。

    那么,所有的场景是什么?目标值为零的所有函数是什么

    可能的启发式方法

  • 剩余的食品托盘数量?
  • 当前托盘到下一个未探测托盘的距离?
  • 网格中未勘探的区域,带有食物托盘等
  • 我会选择最后一个选项,因为它看起来更可靠,尽管这三个选项最终都会找到解决方案

    所以,我相信,你可以通过把自己放在目标上来选择启发 陈述,然后回顾,看看你在这个项目上完成了什么 对。所以从某种意义上说,启发式不过是 需要完成的工作(目标值为0)


    我认为这完全取决于问题。你有什么具体问题要解决吗?像TSP或数字混乱?例如,一个吃豆人在栅格地图中,有不止一个食物托盘可以吃。如何用最少的节点吃掉所有的食物托盘?我认为这完全取决于问题。你有什么具体问题要解决吗?像TSP或数字混乱?例如,一个吃豆人在栅格地图中,有不止一个食物托盘可以吃。如何吃所有的食物托盘与最少的节点被扩大?谢谢你的答复。但我还是很困惑,到底什么是好的启发?基于吃豆人问题,你能告诉我你提出的可能的启发式方法吗?我没有吃豆人的有效代码。但是看看这里。*中最短路径问题的工作代码。如果地图有多个目标,我们是将每个目标的总启发式作为启发式返回,还是每次只返回一个?请看这里。读完整条线索后,我还是不知道。谢谢你的回复。但我还是很困惑,到底什么是好的启发?基于吃豆人问题,你能告诉我你提出的可能的启发式方法吗?我没有吃豆人的有效代码。但是看看这里。*中最短路径问题的工作代码。如果地图有多个目标,我们是将每个目标的总启发式作为启发式返回,还是每次只返回一个?请看这里。读完整条线索后,我还是不知道。无论如何谢谢你