我希望有人可以帮助我。是否可能从Prolog中的S
与s0
不同的情况进行推理?
我有s0
(初始情况),如下所示:
isoven(oven).
isoff(oven,s0).
ison(X,do(a,S)):- a=switchOn(X),isoven(X); isOff(X,S),\+ a=swicthOff(X). (fluent inon)
如果我提示:
?- isOn(oven,s0).
false.
?- ison(oven,do(swicth(oven)s0)).
true
如果存在像“保存(做(swicth(烤箱)s0))到S'”的命令以获得这样的结果会很好:
?- ison(oven,S').
true.
答案 0 :(得分:0)
Prolog不是魔术,你需要正确实施。 看来你想使用情境演算,网上有很多关于它的资料。
此外:
a=switchOn(X)
这没有意义,总是失败。你需要一个变量(第一个字母必须是大写)