0

我在 DLV 上工作了一段时间,当程序很大时,我发现很难遵循规则的激活。所以我去了手册并检查是否有什么可以让我这样做。

我发现的唯一一件事是前端选项 -FP 但我不确定这是否是我正在寻找的,因为手册没有提供足够的这方面的信息。所以,我做了什么来使用这个标志运行我的程序,但我收到以下错误:

背景知识不得包含聚合

该程序在没有此标志的情况下运行,我无法摆脱聚合。我也尝试了一个愚蠢的程序,但提示了不同的警告/错误:

警告:没有给出计划长度。计划长度默认为零。未指定目标查询。

这是调试 DLV 程序的正确方法吗?有办法吗?

谢谢。

4

1 回答 1

1

不,这不是调试 DLV 程序的正确方法。

规划前端(由-FP 调用)旨在使用DLV 来解决规划问题,即一般类型的问题:这是世界/我的系统的当前状态。这是我能够执行的一组可能的操作,这是我想要达到的一组目标。现在我想知道我必须按什么顺序执行这些操作中的哪些才能达到这些目标?(我不知道有关计划的更多信息的良好来源,几年前我在学习期间有一门课程 - 就像 50 秒 Google 搜索的结果一样,这可能是获取更多信息的有用来源:http:/ /aima.cs.berkeley.edu/2nd-ed/newchap11.pdf

DLV 的规划前端只是为你提供了一个框架,让你可以表达这些规划,然后为你解决(而它在第二个警告中要求的规划长度是一个规划可能采取的最大步骤数) . 所以我认为这不是你要找的。

我完全没有调试 DLV 的经验,但我认为曾经有人提到 ASP IDE https://www.mat.unical.it/ricca/aspide/download支持某种调试(因此在dlv 网站http://www.dlvsystem.com/),但不知道提供了哪些信息,对您是否有帮助。(通常我会假设调试不是那么简单,因为 ASP 系统的实际实现可能与其语义的声明性定义有很大不同)。

(对不起,如果这是评论而不是答案,但我仍然不允许写评论,只能回答)

于 2016-09-23T13:44:10.970 回答