• 沒有找到結果。

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

3.1 智慧型地下水參數檢定系統架構

本研究發展之智慧型地下水參數檢定系統係建立在 Linux 作業 系統之下,可分為參數檢定次系統及地下水模擬次系統,圖 3.1-1 為 智慧型地下水參數檢定系統架構圖。

在參數檢定次系統(Parameter Calibration sub-System)部份,本研 究採用 CLIPS 建立參數檢定之專家系統,此專家系統為參數檢定次 系統之核心。本研究所建立之專家系統為規則式專家系統(rule-based expert system),其透過推理機(inference engine)之推論機制並依據知識 庫(knowledge base)中之規則(rules)推理出答案。由圖 3.1-1 所示,為 與地下水模式整合,需建置專家系統之前後處理器,圖中之輸入前處 理器功能為將專家系統所需之資訊匯整並傳送給專家系統推論核 心,而專家系統輸出後處理器之功能為接收專家系統推論核心的輸出 資訊,包含待檢定的參數及其修正量,再依據這些資訊輸出成參數修 正檔,以提供地下水模擬次系統中之 MODFLOW 輸入轉譯器。

在地下水模擬次系統(Groundwater Simulation sub-System)部 份,本研究選用 MODFLOW 做為此系統之地下水模擬模式。

MODFLOW 輸入轉譯器之功能為讀取專家系統輸出後處理器所輸出 之修正參數檔,再將所讀取之參數資訊依據 MODFLOW 之格式覆寫 原本 MODFLOW 之 bcf.dat 與 wel.dat 檔;MODFLOW 輸出轉譯器之 功能為將 MODFLOW 所輸出之二進位(binary)格式水位檔轉譯成

ASCII 格式水位檔,之後再由專家系統輸入前處理器讀取,以供專家 系統進行參數檢定分析。

專家系統

專家系統輸入前處理器(C++)

專家系統輸出後處理器(C++)

MODFLOW

MODFLOW輸入轉譯器

地下水模擬次系統 參數檢定次系統

Model_Inform.dat bas.dat

修正參數檔

Modified_Parameters.dat

MODFLOW輸出轉譯器

MODFLOW輸入檔

bcf.dat wel.dat

MODFLOW輸出檔(binary)

heads.dat

MODFLOW輸出檔(ascii)

ascii_heads.dat

bcf.dat wel.dat

圖 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 的動作,判斷哪些 規則是可執行的,直到沒有任何條件部分的敘述符合事實為止。

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), 每個實例皆具有類別所擁有的屬性。本研究 以參數分區做為參數檢定的基本單位,並將一個參數分區實作為一個 實例的方式進行地下水模式之參數檢定。

相關文件