0
我在序言中有以下事实。如何在序言列表中找到匹配元素
p(cold,[flu,high_body_temp,headache,dizzy],0.3],
p(cold,[flu,not high_body_temp,headache,dizzy],0.2],
p(cold,[flu,high_body_temp,not headache,dizzy],0.4],
p(cold,[flu,high_body_temp,headache,not dizzy],0.1],
p(cold,[not flu,high_body_temp,headache,dizzy],0.3],
p(cold,[flu,not high_body_temp,headache,not dizzy],0.3],
p(diarrhea,[headache,not stomachache,dizzy,vomit],0.5),
p(diarrhea,[headache,stomachache,not dizzy,vomit],0.4),
p(diarrhea,[headache,stomachache,dizzy,not vomit],0.2),
p(diarrhea,[not headache,stomachache,dizzy,vomit],0.1),
p(diarrhea,[headache,not stomachache,not dizzy,not vomit],0.1),
,这是在运行时生成一个列表,例如:
[flu,headache]
我们应该从两个事实得到的答案包含“真” [感冒,头痛]的,而“不”的意思元素该元素是不存在的:
p(cold,[flu,not high_body_temp,headache,not dizzy],0.3],
p(diarrhea,[headache,not stomachache,not dizzy,not vomit],0.1),
,答案应该是:
cold = 0.3
diarrhea = 0.1
如何在prolog中编写代码以完成此操作?请帮助。我完全陷入困境。 TQ。
哇..这是工作!非常感谢你.. :) – wana 2013-03-11 09:47:25
@wana:那么你应该接受答案。 – CapelliC 2013-03-11 09:49:44