我目前正在研究 AI 快速向下规划器,希望在这方面有所帮助。我知道规划器会收到一个 domain.pddl 文件和一个 question.pddl 文件,此外,它还会收到一个搜索算法和一个启发式函数。
许多规划器(不仅仅是快速向下 - 例如 pyperplan 规划器)让我们有机会修改或创建新的搜索算法以达成解决方案。但正如我所见,已经有很多搜索算法。我的问题是:实现我们自己的搜索算法的想法是什么?或者我
我错过了什么吗?
我目前正在研究 AI 快速向下规划器,希望在这方面有所帮助。我知道规划器会收到一个 domain.pddl 文件和一个 question.pddl 文件,此外,它还会收到一个搜索算法和一个启发式函数。
许多规划器(不仅仅是快速向下 - 例如 pyperplan 规划器)让我们有机会修改或创建新的搜索算法以达成解决方案。但正如我所见,已经有很多搜索算法。我的问题是:实现我们自己的搜索算法的想法是什么?或者我
我错过了什么吗?
我不确定你的问题是什么,所以我将给出两个不同的答案。
为什么像 Fast Downward 这样的规划系统可以选择编写自己的搜索算法、启发式等?
自动化领域独立规划是一个活跃的研究领域,新想法不断发展(例如在ICAPS)。如果您可以将实现基于现有框架,那么实现一个新的想法来评估要比每次都从头开始要容易得多。它还有助于可比性。例如,如果您开发了一种新的搜索算法但启发式方法保持不变,那么如果基线使用相同的启发式实现,则您的实现与基线相比更容易。这就是为什么很多工作都基于 Fast Downward一个类似的框架。
我如何想出一个新的搜索算法的想法?
这很难回答。作为一般方法,我会说:尝试查找现有搜索算法“不明白”的情况,例如,您可以通过查看它来解决但搜索算法无法解决的问题。然后试着弄清楚你做了什么来解决它,概括这个想法,以便它也适用于其他情况,并将它写成一个算法。