在序言中列出来自基地的夫妇
listing couples from base in prolog
我正在尝试创建一个谓词,该谓词能够从一组男人和女人中列出每对可能的情侣。但是我的试验return我真的即使这个男人或女人不属于我的知识库。
man(al).
man(john).
woman(elsa).
woman(julia).
couple(man(_),woman(_)).
查询:
?- couple(X,Y).
答案:
X: al
Y: elsa
X: al
Y: julia
X: john
Y: elsa
...
注意:我使用的是 SWI-Prolog。
我不是专家,但这个定义似乎可以解决问题:
couple(M, W) :- man(M), woman(W).
couple(W, M) :- man(M), woman(W).
如果您只对 独特 对夫妇感兴趣,那么您可以舍弃其中任何一行。
我正在尝试创建一个谓词,该谓词能够从一组男人和女人中列出每对可能的情侣。但是我的试验return我真的即使这个男人或女人不属于我的知识库。
man(al).
man(john).
woman(elsa).
woman(julia).
couple(man(_),woman(_)).
查询:
?- couple(X,Y).
答案:
X: al
Y: elsa
X: al
Y: julia
X: john
Y: elsa
...
注意:我使用的是 SWI-Prolog。
我不是专家,但这个定义似乎可以解决问题:
couple(M, W) :- man(M), woman(W).
couple(W, M) :- man(M), woman(W).
如果您只对 独特 对夫妇感兴趣,那么您可以舍弃其中任何一行。