首先 - 这是课程作业,所以我不能发布代码。这更多是关于 prolog 如何输出其答案,而不是“我的代码是否正确”?
我正在创建一个谓词,它返回一个图之间的所有简单路径,给定一个边列表。
例如,paths(a, X)
将返回以 . 开头的所有可能路径a
。
假设我的知识库是:edge(a,b)。边缘(b,c)。边(c,d)。边(d,f)。
然后我应该得到X = [[a], [a,b], [a,b,c], [a,b,c,d], [a,b,c,d,f]]
- 我做到了。问题是,如果输出更长,那么它不会显示所有可能的输出 - 输出显示如下:
Paths = [[b],[b,c],[b,c,d],[b,c,d,a],[b,c,d,e],[b,c,d,f],[b,c,d,f|...]] ?
是的
有什么方法可以让我的解释器明确显示所有内容?最后一个列表不完整 - 它应该显示 [b,c,d,f,g]。作为记录,我正在使用 SICTUS