【问题标题】:Does admissibility even matter in A* search if the heuristic function overestimates in a consistent manner?如果启发式函数以一致的方式高估,那么 A* 搜索中的可接受性是否也很重要?
【发布时间】:2018-08-08 13:25:02
【问题描述】:

假设一个节点的启发式值是达到目标的实际成本 x 10^5 怎么办? f 成本最小的节点仍然从优先级队列的顶部弹出。

例如:f(n) = g(n) + h(n)where h(n) = h1(n) x 10^5, where h1(n) = h1′(n)

根据定义,h 高估了实现目标的实际成本。

我问的原因是因为我无法真正看到算法在有或没有这个常数因素的情况下的性能差异。如果那么,为什么h是否可以接受有什么关系?

【问题讨论】:

    标签: artificial-intelligence graph-theory shortest-path path-finding a-star


    【解决方案1】:

    是的:

    1. 一般来说:可接纳性是 A* 最优性的充分条件,而不是必要条件。当然,您可能会发现存在一个不可接受的启发式算法,它也会返回最佳结果;只是当时 A* 不提供任何保证。

    2. 特别是:“以一致的方式”是含糊的,但如果您考虑“缩放”以适应此描述,请注意,如果成本不相加,您的缩放启发式可能会失败。请注意,A* 确实要求评估函数为 f = g + h。虽然乍一看不直观,但对于一个问题来说,拥有其他评估函数是完全有可能和现实的,其中甚至没有意义添加路径成本(例如,您的成本可能是概率)。 p>

    还要注意“一致性”has an entirely different meaning 比您使用的那个,所以在使用该术语时要小心。在通常的定义下,一致的启发式不可能是不可接受的。

    【讨论】:

    • Hart 等人将 A* 的评估函数定义为 f(n) = g(n) + h(n)。并且算法的所有形式属性都基于它。你能指出一个不同评估函数的例子吗?
    • @FrankS101:只需搜索non-additive A* search 或其他内容。你会找到链接。 Here's one。请注意,人们识别为特定算法的内容会随着时间而变化,例如如果我没记错的话,Dijkstra 的算法是 O(n²),但现在假定为 O(n log n),因为没有必要将其作为额外的限制。同样,在 A* 中,没有必要规定成本是累加的。如果您花一些时间环顾四周,您可以找到有关非附加成本的工作。
    • @FrankS101:只是澄清一下,成本函数显然不能完全任意。我认为充分条件(除了可以接受的启发式)是评估函数单调递增,或者你基本上回到了负边权重的领域。 (希望我没有忘记任何必要条件;我不是 100% 确定。)请注意,这与启发式单调(一致)的条件不同。
    • @Mehrdad,“可接纳性是 A* 最优性的充分条件,而不是必要条件”和“请注意,A* 不需要评估函数为 f = g + h。它对于具有其他评估功能的问题来说,添加路径成本甚至没有意义是完全可能和现实的“ BAM!我希望很多关于 A* 的讲座和文本(至少我读过的那些)可以像你一样给出非常清晰和直接的答案。只需在一篇文章中清除我的疑虑。 :)
    • @Mehrdad 我改进了我的答案以解决非加性评估函数。恕我直言,如果 f = g + h 不与 A* 一起使用,我不会称其为 A*,就像基于 A* 的数百种算法引入或放松一些约束,解决类似问题,... IDA*, NAMOA*、LPA* 或 SMA* 举几个例子。
    【解决方案2】:

    如果一个节点的启发式价值是,比方说,实际成本 达到目标 x 10^5?

    假设使用完美启发式函数h'(n),如果启发式函数在常数中高估,则始终等于从n到最近目标节点的路径的剩余成本因子,那么 无论 h 是否可接受,都将找到相同的路径。

    您可以将您的示例视为使用 Dijkstra 在图 G 上进行搜索,其中所有弧的成本乘以一个常数因子,从而得到一个新图 G'G 中的每条最短路径都是G' 中的最短路径。

    备注:如果启发式高估但不是所有节点的常数因子,则答案将相反。在这种情况下,A* 不能保证找到最优解

    编辑:在阅读了@Mehrdad 关于概括评估函数以考虑非加性成本的答案后,从纯粹的角度来看,我不会说我们是当成本是非累加的时应用 A*。 A* 解决了最短路径问题假设成本是相加的,实际上,它的所有形式属性都基于该假设

    如果将成本最小化标准推广到包括解决方案路径的非加性成本度量,那么恕我直言,我们谈论的是一个不同的问题,因此是一种不同的算法来解决它。在这种情况下,我认为这个问题在文献中被称为 NSAP(非加性最短路径)。可以在 Rina DechterJudea Perl 的这篇论文中找到一个例子:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.3090&rep=rep1&type=pdf(第 507 页)他们称之为解决泛化问题的算法BF*,因为他们正在研究 A* 在限制、加性成本度量和加性评估函数都被移除时的行为。

    【讨论】:

    • “一个不同的问题,因此一个不同的算法” 是奇怪的推理。所以你从来没有见过一种算法解决多个问题......?加性情况不只是一般不可加性情况的特例,因此可以通过相同的算法解决吗?此外,另一句话显然也是错误的……鉴于 A-star 的属性可以被证明适用于其他类别的成本,那么 “它的所有形式属性都基于该假设”显然是错误的”...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    相关资源
    最近更新 更多