【问题标题】:PROLOG, meaning ofPROLOG,含义
【发布时间】:2018-06-05 20:12:07
【问题描述】:

不明白是什么意思

[sopio|...], [...|...]|...

在结果中 ?- findall([X,Y], indirectowner(X, Y), L).:

L = [[sopio, badri], [temur, badri], [temur, leila], [badri, anuki], [badri, tamar], [tamar, ioseb], [sopio, anuki], [sopio|...], [...|...]|...].

我已经确定了以下事实:

owner(sopio,badri).
owner(temur,badri).
owner(temur,leila).
owner(badri,anuki).
owner(badri,tamar).
owner(tamar,ioseb).

和子句:

indirectowner(X,Z) :-
owner(X,Z).
indirectowner(X,Z) :-
owner(X,Y), owner(Y,Z).

【问题讨论】:

标签: prolog semantics


【解决方案1】:

为了避免在屏幕上出现过多的输出,答案被缩写了。 在 SWI-Prolog 中,您可以在查询后按w 来编写整个答案,但对于您的查询,您需要YOURquery ; true.,因为它是确定性的,而要接受w,它需要一个非确定性查询。 您还可以使用 Prolog 标志更改行为。

【讨论】:

  • 更好:; false.!
  • 为什么这样更好?
  • 因为它不进行查询,否则失败成功!换句话说,它不会增加解决方案的集合。更短的版本:;0=1.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
相关资源
最近更新 更多