gpt4 book ai didi

prolog - 为什么 gprolog 不将 modus ponens 的使用链接在一起?

转载 作者:行者123 更新时间:2023-12-01 15:22:01 25 4
gpt4 key购买 nike

我正在阅读 Learn Prolog Now , 1.1.2 Knowledge Base 2 他们写了关于将 modus ponens 的使用链接在一起的内容。

KB2.pl 文件:

listensToMusic(mia).
happy(yolanda).
playsAirGuitar(mia) :- listensToMusic(mia).
playsAirGuitar(yolanda) :- listensToMusic(yolanda).
listensToMusic(yolanda) :- happy(yolanda).

查询时:

playsAirGuitar(yolanda).

被提交给 gprolog,它应该响应 yes,因为它应该能够从 yolanda 高兴的事实中推断出来。

但是 gprolog 以 no 响应。这是为什么?

最佳答案

我认为问题在于谓词 listensToMusic/1 的子句是分开的。

以下代码为我返回"is":

listensToMusic(mia).
listensToMusic(yolanda) :- happy(yolanda).
happy(yolanda).
playsAirGuitar(mia) :- listensToMusic(mia).
playsAirGuitar(yolanda) :- listensToMusic(yolanda).

你应该得到一个像

这样的警告
warning: discontiguous predicate listensToMusic/1 - clause ignored

关于prolog - 为什么 gprolog 不将 modus ponens 的使用链接在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6962074/

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