對於一個學校項目,我試圖使用prolog編寫描述爲「交互式診斷環境」的內容。用戶將輸入一個症狀,並且與症狀相匹配的疾病列表將被打印到屏幕上。然後用戶列出另一個症狀,如果疾病與第二個症狀不匹配,則會從先前的列表中刪除疾病,形成新的列表。然後打印新的列表。prolog中的持續輸出
example user input:
SYMPTOM_IN(fever, 150).
SYMPTOM_IN(vomiting, 1).
在每次輸入後打印可能的疾病列表。
重複此過程,直到做出診斷或直到它以某種方式確定它不能,在此時將建議測試並且用戶可以以類似方式輸入關於測試的數據,最終到達診斷。
到目前爲止,我所擁有的是一份將編譯的事實清單,然後我可以與之進行交互,但我真的不明白我是如何將疾病列表從一個輸入傳送到下一個輸入。我也不明白如何從症狀輸入到提示性測試,儘管一旦我明白如何執行症狀輸入部分,這可能是顯而易見的。
我真的很感激任何幫助。
謝謝。
編輯:
我可以去從SYMPTOM_IN調用這兩個值,用它們做類似的症狀(X,發燒,150),並斷言輸出從存儲它(像。回答this問題)?那麼也許我可以爲下一次電話做同樣的事情,並將兩個列表結合起來?