Prolog 代码中的错误 - 未定义的过程:唯一/1



>%三种操作变体。我有3只动物,它可以在飞机,汽车上行驶或错过%步。我知道,第一步猴子坐飞机,狼骑车。在第二步狼骑飞机上。我们需要知道剩下的情况。每只动物只准时乘坐%每辆车

action(plane).
action(car).
action(shift).

%我声明乘客在我的函数解决

solve([passenger(monkey, [X1,X2,X3]), passenger(wolf, [Y1, Y2,Y3]),
passenger(hippo, [Z1, Z2, Z3])]):-
   action(X1), action(Y1), action(Z1), unique([X1, Y1, Z1]),
   action(X2), action(Y2), action(Z2), unique([X2, Y2, Z2]),
   action(X3), action(Y3), action(Z3), unique([X3, Y3, Z3]),
   unique([X1, X2, X3]), unique([Y1, Y2, Y3]), unique([Z1, Z2, Z3]),
   X1 = plane, Y1 = car,
   Y2 = plane.

可能unique/1都是不同的:

unique([]).
unique([E|Es]) :-
   maplist(dif(E), Es),
   unique(Es).

相关内容

  • 没有找到相关文章

最新更新