學習筆記:專家系統 (AS Level 單元 7)

歡迎來到單元 7!本章將探討專家系統 (Expert Systems),這是資訊科技領域中最令人興奮的應用之一。
這些系統本質上是為了模仿人類專家或顧問行為而設計的電腦程式。理解它們是掌握資訊科技如何解決複雜現實世界問題的關鍵。如果術語看起來很複雜,別擔心,我們會將其拆解,逐一攻克!

7.1 專家系統:數位專才

什麼是專家系統?

專家系統是一種應用程式,旨在模擬人類專家在特定、狹窄領域中的判斷與行為。
它們被設計用來針對不同的情境產生可能的解決方案或建議,就如同人類顧問會做的那樣。

類比:想像專家系統是一位訓練有素的偵探。它擁有一本龐大的規則書(知識庫),並利用邏輯(推理引擎)來偵破謎團(問題)。

專家系統的應用場景

專家系統在需要高度專業知識和一致性決策的領域中表現卓越。課程大綱要求你了解幾個關鍵應用:

  • 醫療診斷:根據病人的症狀和測試結果,識別潛在疾病。
  • 汽車引擎故障診斷:根據車輛感測器讀數和描述的症狀,精確找出機械問題。
  • 財務規劃與投資分析:根據市場數據和風險偏好,為客戶提供股票、儲蓄和退休計劃建議。
  • 保險規劃:針對複雜保單計算風險及相應的保費。
  • 礦產探勘:分析地質勘測數據,以確定開採貴重礦物的最佳地點。
  • 物流車隊路線安排:為車隊(如快遞服務)計算最高效且具成本效益的行駛路線。
  • 植物與動物識別:利用特徵(葉片形狀、棲息地等)來識別物種。

重點總結:專家系統用於需要速度、一致性和高度專業知識,以解決複雜且非數學問題的情況。

專家系統的五大核心組件

專家系統要有效運作,需要幾個至關重要的部分。你必須熟悉以下全部五項:

  1. 知識庫 (The Knowledge Base)
  2. 這是系統的核心,儲存了專家所知的所有資訊。它包含兩類內容:

    • 事實 (Facts):基礎資訊(例如:「發燒是指體溫過高。」)。
    • 規則庫 (Rules Base):一組邏輯程序,通常以 IF...THEN(如果...那麼)語句編寫(例如:IF 病人咳嗽 AND 發燒,THEN 考慮流感。」)。
  3. 推理引擎 (The Inference Engine)
  4. 這是處理資訊的「大腦」。推理引擎會搜尋知識庫,運用規則並應用邏輯來得出結論或提出進一步的問題。它決定了「如何」應用 IF...THEN 規則。

  5. 使用者介面 (The User Interface)
  6. 這是非專業使用者與系統互動的方式。它會詢問問題、接受使用者輸入(數據/症狀),並呈現最終建議或診斷結果。介面需要清晰易用。

  7. 解釋系統 (The Explanation System)
  8. 此組件對於建立使用者信任至關重要。它能解釋專家系統「如何」得出特定結論,或為何詢問某個問題。例如,醫療診斷系統可以說明:「系統得出『流感』的結論,因為病人有發燒(事實 1)和咳嗽(事實 2),這符合知識庫中的規則 5。」

  9. 知識庫編輯器 (The Knowledge Base Editor)
  10. 此工具由人類專家(或知識工程師)使用,用於更新、完善和維護知識庫中的事實與規則。這確保系統能跟上新研究或新出現的問題(如新型疾病或新款汽車)。

✅ 快速複習:組件記憶小撇步

將專家系統想像成 KIE-KU 模型:
Knowledge Base (知識庫), Inference Engine (推理引擎), Explanation System (解釋系統), Knowledge Base Editor (知識庫編輯器), User Interface (使用者介面)。

鏈式推理:推理引擎如何進行運算

推理引擎使用兩種主要的方法或「鏈」來處理規則並找到解決方案。這些鏈高度依賴知識庫中儲存的 IF...THEN 結構。

1. 前向鏈結 (Forward Chaining - 數據驅動)

過程:系統從可用的數據(事實或輸入)開始,向前推進,應用規則以查看能得出什麼結論。

步驟範例(數據驅動結論):

1. 輸入數據:「體溫過高。」
2. 規則 1:IF 體溫過高 THEN 狀態為「發燒」。
3. 規則 2:IF 狀態為「發燒」 THEN 詢問是否頭痛。
4. 結論:系統現在知道病人發燒,並詢問病人是否有頭痛症狀。

何時使用?當輸入數據已知,且目標是查看所有可能的結果時。這通常被稱為數據驅動 (Data Driven) 推理。

  • 用途:遊戲(根據玩家行動決定結果)、人工智慧(用於操縱社群媒體——對特定關鍵字或行為做出反應)。
2. 後向鏈結 (Backward Chaining - 目標驅動)

過程:系統從特定的目標或假設開始,向後回溯以查看所需的數據(事實)是否支持該目標。它會透過提問來驗證支持事實。

步驟範例(目標驅動提問):

1. 目標/假設:「病人患有 X 疾病。」
2. 規則:要確認 X 疾病,病人必須具備症狀 A 和症狀 B。
3. 系統檢查:病人是否有症狀 A?(若無,排除假設 X。若有,繼續。)
4. 系統詢問使用者:「病人是否有症狀 B?」

何時使用?當有特定的目標診斷或解決方案時。這通常被稱為目標驅動 (Goal Driven) 推理。

  • 用途:大多數形式的診斷(醫療、機械、系統故障),系統會從潛在的問題向後回溯。

專家系統的優點與缺點

與任何技術一樣,專家系統提供了巨大優勢,但也存在侷限性。考試題目經常要求你評估 (evaluate) 這些要點。

專家系統的優點
  • 一致性:它們每次都能提供相同品質的建議,不像人類專家可能會受疲勞或情緒影響。
  • 速度:它們處理大量數據和規則的速度遠快於人類專家,從而實現更快的診斷或分析。
  • 知識持久性:知識被儲存下來,不會因退休或離世而消失。它還可以輕鬆複製並分發到不同地點。
  • 危險環境:它們可用於在危險情況下(例如核反應爐的故障診斷)提供建議,這在人類無法進入的環境中非常有用。
  • 培訓工具:它們可以通過展示模擬專家使用的推理過程(透過解釋系統)來訓練初級員工。
專家系統的缺點
  • 成本與維護:開發和維護知識庫與軟體的成本高昂且極其耗時。
  • 缺乏直覺:專家系統缺乏常識、創造力或「直覺」。它們只能基於被明確賦予的規則運作。
  • 焦點狹窄:它們通常僅限於非常特定的領域,無法應用該領域以外的知識。(醫療專家系統無法診斷汽車故障)。
  • 知識獲取困難:從人類專家那裡提取知識(規則),並將其結構化為 IF...THEN 格式通常是一大挑戰。
  • 知識庫錯誤:如果知識庫中的規則錯誤或不完整,產生的建議也將是錯誤的。

你知道嗎?從人類專家處收集知識並將其轉換為結構化格式儲存到知識庫的過程稱為知識工程 (Knowledge Engineering)。這往往是建立專家系統中最困難、最耗時的部分。

重點總結與複習清單

專家系統結合了知識庫(事實與 IF...THEN 規則)和推理引擎來解決問題。根據是從數據開始還是從期望的結論開始,它們會使用前向鏈結 (數據驅動)後向鏈結 (目標驅動)。請記得,一致性和速度是其主要優勢,而缺乏人類直覺則是關鍵弱點。