2012-10-31 1 views
0

누군가가 나를 도울 수 있기를 바랍니다. Prolog에서 S이 다른 s0과 다른 상황에서 추측 할 수 있습니까? 일반 상황에서 추론 S

나는이 같은 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

프롤로그는 마법이 아닙니다. 일을 올바르게 수행하십시오. 상황 미적분을 사용하려는 것으로 보입니다. 온라인에 관한 많은 자료가 있습니다. 또한

:이 의미가

a=switchOn(X) 

, 항상 실패합니다. 거기에 변수가 필요합니다 (첫 번째 문자는 대문자 여야 함)