gpt4 book ai didi

prolog - 与自变量的析取应该返回什么?

转载 作者:行者123 更新时间:2023-12-04 07:10:41 27 4
gpt4 key购买 nike

以下内容会导致什么结果:

p(X,Y) :- q(X).
p(X,Y) :- r(Y).
q(a).
r(b).

我手边没有 Prolog 编译器,所以我无法测试如果你问 p(X,Y) 会发生什么。 .代码甚至可以编译吗?会 p返回两个答案,每个答案都有一个未绑定(bind)的变量?

在现实世界的场景中,我不认为 p(X,Y)会很有意义(人们可能宁愿希望 p(X) 跟随 q(X)r(X) ),但我对这里实际发生的事情以及外围情况感兴趣,在这种退化的情况下应该发生什么。

最佳答案

p 会返回两个答案,每个答案都有一个未绑定(bind)的变量吗?

是的。您需要输入一个 ;查看更多解决方案:

| ?- p(X,Y)。

X = 一个? ;

Y = b

是的
| ?-

这与理论一致,其中未绑定(bind)的变量意味着任何值都可以替换该变量。

关于prolog - 与自变量的析取应该返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/408055/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com