2011-07-05 76 views
-1

教授要求我們構建一個Prolog程序,根據用戶輸入的症狀診斷疾病。我的症狀和疾病數據庫是這樣的:建模症狀和疾病

causes_of(symptom1, Disease) :- 
    Disease = disease1; 
    Disease = disease2. 
causes_of(symptom2, Disease) :- 
    Disease = disease3; 
    Disease = disease4. 
causes_of(symptom3, Disease) :- 
    Disease = disease4. 

我需要的是交互式詢問症狀,並在同一時間過濾器能夠疾病用戶,直到我沒有更多的症狀來驗證。然後我會向用戶展示可能的疾病列表。

請注意,我也需要過濾出衝突的症狀。爲了說明這一點,採取上面定義的關係,並考慮用戶在某個特定時刻有症狀2。如果發生這種情況,我不應再問用戶是否有症狀,因爲沒有同時導致症狀1和症狀2的疾病。

我不知道我是否爲此正確建模了規則,如果沒有的話請點我正確的方向。

+0

這是什麼問題? – svick

+0

我只需要建模我所描述的幫助 –

回答