gpt4 book ai didi

序言 "Out of local stack"错误

转载 作者:行者123 更新时间:2023-12-02 09:05:07 27 4
gpt4 key购买 nike

这是我的简单 Prolog 程序:

friend(X,Y):-
knows(X,Y).
friend(X,Z):-
friend(X,Y),
friend(Y,Z).

knows(brian,tom).
knows(tom,peter).

如果我输入以下查询

friend(brian,peter).

Prolog 将给出以下输出:

?- friend(brian,peter).
true

如果再输入一个分号,Prolog 会说:

ERROR: Out of local stack

我在这里做错了什么?

最佳答案

错误出现在第二个子句中。应该改为:

friend(X,Z):-
knows(X,Y),
friend(Y,Z).

否则,当您向 Prolog 询问更多解决方案时,最终会导致 friend/2 谓词递归调用自身,而无需首先建立 knows/2 中间关系。您可以通过跟踪对 friend/2 谓词的调用来了解有关程序中错误的更多信息。尝试:

?- trace, friend(brian,peter).

关于序言 "Out of local stack"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759010/

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