【问题标题】:DLV interactive mode (debugging)DLV 交互模式(调试)
【发布时间】:2016-09-21 09:34:59
【问题描述】:

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

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

背景知识不得包含聚合

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

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

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

谢谢。

【问题讨论】:

    标签: debugging datalog answer-set-programming


    【解决方案1】:

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

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

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

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

    (对不起,如果这是一个评论而不是一个答案,但我仍然不允许写 cmets,只有答案)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多