知識是什麼?知識是對某個主題或某個領域上的理論或實踐的理解。掌握知識的人被稱為專家。
知識可以被表達為產生式規則(production rule),或簡稱規則。它有兩部分組成:if部分和then部分。比如:
if 下雨
then 帶傘
條件部分可以用or或and等進行連線。
規則可以用來表達關係(relation,if停電then電視開不了)、建議(recommendation,if下雨then帶傘)、指令(directive)、策略(strategy)、啟發(heuristic)。
通常情況下
專家系統開發組裡的成員:
1、領域專家;
2、知識工程師:設計、構建和測試專家系統。他們和專家交流來找到如何解決特定的問題;
3、程式設計師:用計算機能理解的形式描述知識;
4、專案經理:整個開發組的領導,控制開發進度;
5、終端使用者:可能是初級醫生或礦石堪探者等等。
通過使用專家系統外殼,可以免去程式設計師,同時還可能減免知識工程師的職責。對於小的專家系統,所有的角色甚至都可以是同乙個人。
基於規則的專家系統的結構:
1、知識庫:存放規則集;
2、資料庫:存放事實,用於if部分;
3、推理機(inference engine):將事實和規則聯絡起來,推理出結果;
4、解釋機(explanation facilities):向使用者解釋結果是如何推理得到的;
5、使用者介面。
以上五部分是任何基於規則的專家系統的重要組成。此外,專家系統還可以擴充套件:
1、外部介面:使得專家系統可以和外部資料和外部程式互動。它被推理機使用。比如根據已有的資料,呼叫外部程式(比如c程式)計算得到新的資料,同時還可以查外部的資料庫,作為推理時的依據;
2、開發者介面:和使用者介面類似,只不是面向的物件是知識工程師和專家。通常是簡單的文字編輯,附帶拼寫和語法檢查。此外,還可能有版本控制機制,記錄改變的資料和作出更改的人名。
3、偵錯程式。
專家系統的特性
1、針對狹窄特定的領域
2、需要快速的執行效率
3、結果應該正確
4、具有解釋機制
5、使用符號化推理
6、可能會犯錯,因為人類專家也會犯錯
7、知識和處理過程隔離
8、當資訊不完整或模糊時,仍然可以得到某個合理的結論。傳統程式這種情況下不會有結果
正向推理鏈和逆向推理鏈
正向推理是資料驅動的。推理從已知的資料開始,依次執行每條可執行的規則,規則所產生的新的事實被加入到資料庫中,直到沒有規則可以被執行為止。
逆向推理是目標驅動的。根據目標找到可以得到該結論的規則,將規則中的if部分壓棧作為新的子目標,重複上述過程,直到找不到證明當前目標的規則,或者當前目標已經作為事實存在資料庫裡。當當前目標的所有條件都在資料庫裡時,這個目標也加入到資料庫裡。
當目標明確時,使用逆向推理更加高效,因為可以避免不必要的規則的執行。否則就需要正向推理。許多專家系統外殼都結合兩種方式同時使用。儘管如此,推理機制一般都使用逆向推理,只有在新的事實加入時,正向推理才被用來最大化地使用這些資料。
衝突規則的解決方法
當兩條規則根據相同條件得到截然相反的結論時,正向推理會選擇更後的規則,因為更後的規則所得到的事實會覆蓋前面的事實;如果是逆向推理,更前的規則會被選擇,因為一旦找到了合適的規則,推理就結束了。
解決衝突的辦法有:
1、從最高優先順序的規則開始執行;
2、從最精確的規則開始執行,比如a=>z和a&b=>z則選擇或者;
3、從使用最新資料的規則開始執行。
為了提高專家系統的效能,我們需要定義元知識(metaknowledge),關於知識的知識。它們用元規則(metarule)來表示,用來決定規則選擇的策略。有些專家系統將元規則分隔,但多數專家系統都不能區別規則和元規則,而是將元規則作為最高優先順序的規則。
基於規則的專家系統的優點
1、自然化的知識表達;
2、統一形式的結構(if-then);
3、知識於處理隔離;
4、處理不完整和不確定的知識,比如在給出結論時給出多個選項,並標明各選項的概率;
缺點:
1、各規則之間的關係不清晰,主要原因在於沒有對知識體系結構的表示;
2、搜尋策略低效;
3、沒有學習的能力,人類專家根據經驗的積累知道何時打破現有規則。
人工智慧之專家系統
人工智慧課程複習筆記專題 人工智慧緒論 人工智慧之知識表示 人工智慧之搜尋方法 人工智慧之經典邏輯推理 人工智慧之專家系統 人工智慧之不確定推理方法 人工智慧之機器學習 專家系統 es,expert system 是一種模擬人類專家解決領域問題的電腦程式系統.專家系統的一般特點1 知識的匯聚 2 啟...
人工智慧 基於規則的專家系統(基礎知識)
知識是對於乙個主題或者乙個領域在理論或實踐上的理解,也是所有已知的總和。擁有某一部分知識的人稱為專家,他們是所在組織中重要的人物。領域專家是在特定區域或者領域具有淵博知識和豐富經驗的人。他們在特定領域具有最好的經驗,這些經驗會被輸入到專家系統中。知識工程師是善於設計 構建 測試專家系統的人,負責為系...
人工智慧專家系統的簡單實現
經過一段時間的學習,終於對專家系統有了一定的認識,在此發表一下個人的見解,希望和大家一起交流學習。專家系統,通俗的講,就是讓計算機具有人類專家的知識 經驗和技能,能夠像人類專家一樣解決實際問題。專家系統實質上是一段電腦程式,它能夠以人類專家的水平完成某一專業領域的任務。通過計算機,模擬人類專家如何運...