我在DLV上工作了一段时间,当程序很大时,我发现很难遵循规则的激活。因此,我去了手册,并检查是否有什么东西可以让我这样做。
我发现的唯一的东西是前端选项-FP,但我不确定这是否是我正在寻找的,因为手册没有提供足够的信息在这方面。所以,我用这个标志来运行我的程序,但是我得到了以下错误:
背景知识不能包含聚合。
程序在没有此标志的情况下运行,而我无法摆脱聚合。我也尝试使用一个愚蠢的程序,但是会提示一个不同的警告/错误:
警告:未提供计划长度。计划长度默认为零。未指定目标查询。
这是调试DLV程序的正确方式吗?有什么办法吗?
谢谢。
发布于 2016-09-23 13:44:10
不,这不是调试DLV程序的正确方法。
规划前端(由-FP调用)用于解决规划问题,即一般类型的问题:这是目前世界/我系统的现状。这是一组我可以执行的可能的行动,这是一组我想达到的目标。现在我想知道,为了达到这些目标,我必须按照什么顺序执行这些行动?(我不知道更多关于规划的信息有什么好的来源,几年前我在学习期间就有过一门课程-就像50秒谷歌搜索的结果,也许这是获取更多信息的有用来源:http://aima.cs.berkeley.edu/2nd-ed/newchap11.pdf)
DLV的计划前端只为您提供了一个框架,允许您表达此类计划,然后为您解决这些计划(它在第二个警告中请求的计划长度是计划可能采取的最大步骤数)。所以我不认为这是你想要的。
我完全没有调试DLV的经验,但我想曾经有人提到过ASP https://www.mat.unical.it/ricca/aspide/download支持某种类型的调试( dlv网站http://www.dlvsystem.com/上也有这样的说明),但我不知道提供了哪些信息,以及它是否对您有帮助。(通常,我假设调试并不那么简单,因为ASP系统的实际实现可能与其语义的声明性定义有很大不同)。
(对不起,如果这是一个评论而不是一个答案,但我仍然不能写评论,只有答案)
https://stackoverflow.com/questions/39612759
复制相似问题