【发布时间】:2021-12-09 08:39:14
【问题描述】:
我正在尝试使用这个 Planner https://www.cs.unm.edu/~luger/ai-final/code/PROLOG.planner.html。
我想用数值搜索一个空格。您可以在下面看到我的 sum 实现,它经过测试并且似乎有效。然后是我的两个动作,加号和减号,删除value(X)并添加value(Y),其中Y分别是X +- 1。
如果我现在咨询规划器(最后一条语句为 go),我不会得到 plus() 的预期结果,而是 false,因为规划器找不到从 value(2) 到 value(3) 的方法。
sum(X,Y,Z) :- Z is X+Y.
move(plus(), [value(X)], [del(value(X)), sum(X,1,Y) , add(value(Y))]).
move(minus(), [value(X)], [del(value(X)), sum(X,-1,Y) , add(value(Y))]).
go([value(2)], [value(3)]).
【问题讨论】: