前瞻性计划启发式 - hmax,hadd,hff

时间:2014-04-03 15:29:27

标签: heuristics planning

我正在研究前瞻性规划启发式hmax,hadd和hff,我在网上找到了一些资源,但我真的无法理解它们是如何工作的。

这是迄今为止我找到的资源:

http://icaps09.uom.gr/tutorials/tut1.pdf
(ICILS(国际规划与调度会议)2009年由Emil Keyder& Blai Bonet撰写的关于" Heuristics For Planning",解释了hmax,hadd,hff和h +。)

http://gki.informatik.uni-freiburg.de/papers/betz-helmert-icaps2009ws.pdf
(Betz和Helmert撰写的一篇科学论文,发表在德国Converence的AI 2009上,标题为#34;规划与理论与实践中的h +",与其他三个密切相关。)

https://cw.felk.cvut.cz/wiki/_media/courses/a4m36pah/07_relaxation.pdf
(另一个教程(来源不明),也是关于启发式hmax,hadd,hff。)

你能用更简单的方式解释它们的工作原理吗? 谢谢

1 个答案:

答案 0 :(得分:14)

我假设你已经理解了规划的基本思想。 hMax hAdd hFF 算法用于计算规划图上相对于当前占用状态的给定状态的启发式值

所有三种算法都考虑到轻松版本的问题;具体而言,通过删除每个适用操作的删除列表来放宽的版本。这种效果可以概括为一旦原子实现(变为真实),就可以实现


hMax hAdd 的工作方式非常相似。这两种算法的工作原理是考虑规划图中的状态,并使用所有适用的动作使该状态中的每个原子都成立。使所有原子成为真实所需的动作的成本是它们产生的启发式值的基础。

对于 hAdd ,给定状态的启发式是实现该状态中每个原子的合并成本

对于 hMax ,给定状态的启发式是该状态中最昂贵的原子的成本。

请注意,两种算法都没有实际解决松弛问题,它们只计算一个给定状态相对于当前状态难以实现的估计值。

hMax是可以接受的,而 hAdd不是


hFF 是不同的,因为它实际上解决了轻松的问题。它并不试图找到一个最佳解决方案(参见下面的†),而是一个合理的解决方案。

要确定给定状态的启发式(让我们称之为 s ), hFF 会在宽松计划中找到从当前状态到给定状态的解决方案,通常被称为π(s)。找到该解决方案后,给状态 s 的启发式值放宽解决方案中的操作数。这可以写成:

h(s)= |π(s)|

hFF 有时被称为宽松计划h 不可接受,但信息

用于在宽松计划中找到解决方案的方法取决于 hFF 算法的实现。

hFF 不会尝试找到最佳解决方案,因为虽然比计划原始问题更容易,但计算最佳解决方案仍然“非常难以”使用作为启发式因为必须为每个状态计算。相反,它试图找到一个合理的计划,这在计算上要便宜得多。


我真的希望这有帮助,而且我没有让你更进一步。

我也非常希望自己是对的 - 我对自己很有信心,但我完全愿意接受纠正。经过AI讲师检查后,我现在确信这是正确的。