Prolog知识库统一
我必须在prolog中解决以下问题,我必须构建规则:Prolog知识库统一,prolog,Prolog,我必须在prolog中解决以下问题,我必须构建规则: recestar\u a(X,Y),alivia(X,Y)和enfermo\u de(X,Y) 我知道我的enfermo__de(X,Y)的解决方案是有效的,但我不知道recestar_a(X,Y),alivia(X,Y)的解决方案是否正确,我很困惑,有人能帮助我在这些情况下统一是如何工作的吗?谢谢 enfermo_de(manuel,gripe). tiene_sintoma(alicia,cansancio). sintoma_de(
recestar\u a(X,Y)
,alivia(X,Y)
和enfermo\u de(X,Y)
我知道我的enfermo__de(X,Y)
的解决方案是有效的,但我不知道recestar_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
你能说出什么意思以及它们之间的关系吗?是的,我刚刚在上面的代码中编辑了它,enfermo_de=sick of tiene_sintoma=has symptom sintoma_de=symptom of elimina=cure rectar_a=prescription alivia=relieve为什么你不把谓词翻译成英语?还有一个更具体的问题会更好,比如“我期望统一X发生,但是我得到了Y,为什么?”