【发布时间】:2024-01-03 17:59:02
【问题描述】:
我有一个谓词:
solve(parts(X), Places) :-
"iterate Pl from Places to 0",
tryPutPart(X, Pl),
fail.
我想在那里强制回溯,因为我想要所有可能的解决方案。(相反,我会在不同的谓词中递归地找到位置 Pl)。
有没有可能以某种方式做到这一点?我的想法是制作一个长度为Places 并看起来像[1, 2, 3.....] 的列表,然后尝试从其中不确定地输出一些 Y。
我想要的行为是如果我将places(0). places(1). places(2). - ... - 等写入代码,然后像这样写
:- places(Y), tryPutPart(X, Y).
【问题讨论】:
-
你的问题有点乱。我不明白你试图达到什么目的。请尝试重新制定它。
标签: prolog iteration backtracking