我必须在prolog中提出以下问题,我必须建立规则:
recetar_a(X,Y)
,alivia(X,Y)
和enfermo_de(X,Y)
我知道我的enfermo_de(X,Y)
解决方案有效,但我不知道recetar_a(X,Y)
,alivia(X,Y)
的解决方案是否正确而且我很困惑,有人请帮助我统一适用于这些情况?谢谢!
enfermo_de(manuel,gripe).
tiene_sintoma(alicia,cansancio).
sintoma_de(fiebre,gripe).
sintoma_de(tos,gripe).
sintoma_de(cansancio,anemia).
elimina(vitaminas,cansancio).
elimina(aspirinas,fiebre).
elimina(jarabe,tos).
recetar_a(X,Y) :-
enfermo_de(Y,A),
alivia(X,A).
alivia(X,Y) :-
elimina(X,A),
sintoma_de(A,Y).
enfermo_de(X,Y) :-
tiene_sintoma(X,Z),
sintoma_de(Z,Y).
每个谓词的含义是:
enfermo_de=sickof
tiene_sintoma=hassymptom
sintoma_de=symptomof
elimina=cure
recetar_a=prescribe
alivia=relieve