0

我希望有人能帮助我。是否可以从与PrologS不同的情况进行推断?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

如果存在像“save(do(swicth(oven)s0)) to S'”这样的命令以获得这样的结果,那就太好了:

?- ison(oven,S').
true. 
4

1 回答 1

0

Prolog 不是魔术,您需要正确实施。看来您想使用情况演算,网上有很多关于它的材料。

还:

a=switchOn(X)

这是没有意义的,它总是失败。你需要一个变量(第一个字母必须是大写)

于 2012-10-31T15:24:00.903 回答