• 沒有找到結果。

本 研 究 應 用 CLIPS 建置參數檢定專家系統並與地下水模擬模式 MODFLOW 整合,從而建立整個自動化地下水參數檢定系統。以下 3.1 節 將介紹系統架構,3.2 節與 3.3 節再分別介紹專家系統與 CLIPS。

3.1 自動化地下水參數檢定系統架構

本研究發展之自動化地下水參數檢定系統係建立在 Linux 作業系統之 下,可分為參數檢定部分、地下水模擬部分以及專家系統前後處理器,圖 3.1-1 為自動化地下水參數檢定系統架構圖。

在參數檢定部份,本研究採用CLIPS 建立參數檢定之專家系統,此專 家系統為參數檢定之核心。本研究所建立之專家系統為規則式專家系統 (rule-based expert system),其透過推理機(inference engine)之推論機制並依 據知識庫(knowledge base)中之規則(rules)推理出答案。

在地下水模擬部份,本研究選用 MODFLOW 做為此系統之地下水模擬 模式,MODFLOW 相關介紹詳見附錄 A。MODFLOW 進行地下水流模擬 後,將地下水位輸出成 ASCII 格式之檔案。

為 整 合 專 家 系 統 與 地 下 水 模 式 , 需 建 置 專 家 系 統 前 後 處 理 器 (Preprocessor and postprocessor)。專家系統前處理器之功能為將專家系統所 需之資訊匯整並傳送給專家系統推論核心,進行參數檢定分析。而專家系 統後處理器之功能為接收專家系統推論核心的輸出資訊,包含待檢定參數 及其修正量,再依據這些資訊,覆寫原本 MODFLOW 之輸入檔,供 MODFLOW 再次進行模擬。

MODFLOW 2000 專家系統

CLIPS

專家系統前 處理器

專家系統後 處理器

地下水模擬 模式 參數檢定 核心模組

IO處理介面

圖3.1-1 自動化地下水參數檢定系統架構圖 3.2 專家系統介紹

程序性之程式語言,如C 或 Fortran 語言,一般皆作為資料處理之用(如 數字或陣列之處理)。然而人類常使用抽象及象徵性的方法處理複雜的問 題,這種抽象及象徵性的方法往往不適用於程序性之程式語言。雖然抽象 的資訊仍然可用程序性之程式語言撰寫,但必須耗費大量的時間進行程式 編撰才足以描述這些抽象資訊,以轉換這些抽象資訊成為可以使用的格式。

近年來人工智慧領域的研究結果已經發展出可具體化抽象資訊的技 術,這項技術可讓程式表達得更接近人類邏輯,且更利於程式的發展與日 後之維護。上述的電腦程式即為專家系統,具有能夠模仿人類專家解決複 雜問題的能力。

Edward Feigenbaum 教授將專家系統定義為一個使用知識及推理過程 解決問題的智慧型電腦程式,且這樣的問題是需要大量專家知識才得以解 決的問題。也就是說,專家系統是一個模仿具有決策能力之人類專家的電 腦系統。

專家系統係由知識庫(Knowledge Base)及推理引擎(Inference Engine)等 兩 個 主 要 元 件 所 組 成 。 由 規 則(Rules) 的 方 式 表 示 知 識 之 專 家 系 統 (Rule-based Expert System)是最常見的專家系統之一,這些儲存於知識庫中 之規則,用來表示數組相對於給定情況的反應。每條規則皆由條件部分 (conditional element)和動作部分(action element)所組成。條件部分為一系列 的條件敘述,若這部份的敘述和事實(facts)相符,則執行(fire)此規則之動作 部分。推理引擎會配對這些敘述與事實是否相符合,此過程稱為 patterns matching,每當規則的動作部分改變事實後,推理機便會再次執行 patterns matching 的動作,判斷哪些規則是可執行的,直到沒有任何條件部分的敘 述符合事實為止。

專家系統相較於程序性程式(如:C 或 Fortran 等)語言有很大的差異,

首先專家系統解題的知識與推論機制是分開的,而程序性程式設計則通常 會將資料與演算法交織在一起;此外在資料處理方面,專家系統偏向高度 交談式處理,而程序性程式設計則為批次順序處理;因此專家系統可以因 知識抽換而改變系統功能及行為或是強化解題模式與能力,而程序性程式 設計則需頻繁修改程式,相較之下專家系統適於應用在特定領域且維護和 擴充會較為方便。另外專家系統相較程序性程式語言,具有提供解釋推論 過程之能力,因此較易滿足人們的質疑,推論過程相較傳統程式也變得較 為透明。

3.3 CLIPS 介紹

CLIPS 是 C Language Integrated Production System 的縮寫,係由 NASA/Johnson Space Center 使用 C 程式語言所開發的工具。CLIPS 是一個 提供了完整的環境方便於建立專家系統的工具,其支援了三種不同的程式 編撰方法,分別為以規則為基礎(rule-based)、物件導向(object-oriented)及程 序導向(procedural)等。以規則為基礎(Rule-based)的程式編撰方式允許了知

識可以表示成啟發式的敘述,以指定對特定的情況做出動作;物件導向 (Object-oriented)則是允許複雜的系統可以被拆解並模組化成數個元件,這 些元件可以再用於建立其他的系統或是其他元件;程序導向(Procedural)的 程式編撰方式則是類似其他程式語言的程式碼有順序性,如 C、Java 及 FORTRAN 等等。另外,CLIPS 可以嵌入至別的程式語言,或是被當作子 程式呼叫,以方便與其他程式語言做整合。

本研究採用以規則為基礎(rule-based)及物件導向(object-oriented)的知 識表示法建立專家系統。在以規則為基礎(Rule-based)的編撰方式上,本研 究將地下水模式參數檢定之知識歸納成數條規則,這些規則儲存於專家系 統之知識庫,透過 patterns matching 執行規則內之動作。而物件導向 (Object-oriented)的應用方面,本研究建立一個地下水類別,此類別中包含 與參數檢定相關的屬性,如淨補注量或抽水量、模擬水位與觀測水位誤差 等等,而此類別的實作則稱之為實例(instance),每個實例皆具有類別所擁 有的屬性。本研究以參數分區(Zonation)法降低參數檢定維度,並將一個參 數分區實作為一個實例(instance),以此概念作為地下水模式參數檢定之基 礎。