徐貴旭,劉混舉
(太原理工大學(xué) 機(jī)械工程學(xué)院,山西 太原 030024)
綜采工作面設(shè)備配套選型專家系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)與一般的數(shù)據(jù)庫(kù)設(shè)計(jì)有所不同,本系統(tǒng)的數(shù)據(jù)庫(kù)主要由靜態(tài)數(shù)據(jù)庫(kù)和動(dòng)態(tài)數(shù)據(jù)庫(kù)構(gòu)成。系統(tǒng)進(jìn)行推理時(shí),靜態(tài)數(shù)據(jù)庫(kù)的數(shù)據(jù)本身不會(huì)發(fā)生變化,只是為系統(tǒng)提供所需的知識(shí)和幫助系統(tǒng)完成問(wèn)題求解的整個(gè)過(guò)程;動(dòng)態(tài)數(shù)據(jù)庫(kù)主要包括初始輸入、中間結(jié)果和輸出結(jié)論等動(dòng)態(tài)數(shù)據(jù)。靜態(tài)數(shù)據(jù)庫(kù)在本系統(tǒng)中相對(duì)應(yīng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)為系統(tǒng)的知識(shí)庫(kù),動(dòng)態(tài)數(shù)據(jù)庫(kù)在本系統(tǒng)中相對(duì)應(yīng)的數(shù)據(jù)庫(kù)結(jié)構(gòu)為系統(tǒng)的綜合數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)是專家系統(tǒng)的核心,整個(gè)專家系統(tǒng)能否高效、穩(wěn)定運(yùn)行最重要的因素是對(duì)數(shù)據(jù)庫(kù)技術(shù)的開(kāi)發(fā)程度,要想開(kāi)發(fā)出完善而高效的專家系統(tǒng)必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行最合理的邏輯設(shè)計(jì)和物理設(shè)計(jì)。
綜采設(shè)備配套選型專家系統(tǒng)中采用數(shù)據(jù)庫(kù)管理系統(tǒng)MS SQL Server創(chuàng)建知識(shí)庫(kù)和綜合數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)的基本結(jié)構(gòu)與功能如圖1所示。其中,源數(shù)據(jù)庫(kù)包括事實(shí)表、條件表、結(jié)論表和規(guī)則表等;數(shù)據(jù)字典主要維護(hù)系統(tǒng)中的數(shù)據(jù)定義和類型以及數(shù)據(jù)源的描述。
數(shù)據(jù)庫(kù)管理系統(tǒng)通常只支持一種數(shù)據(jù)模型,并對(duì)它們進(jìn)行一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的操作。這些操作可分為建立、刪除、更新、檢索、共享等。
數(shù)據(jù)庫(kù)管理系統(tǒng)作為各種源數(shù)據(jù)庫(kù)與專家系統(tǒng)的接口,主要為系統(tǒng)提供和組織數(shù)據(jù),并從源數(shù)據(jù)庫(kù)聚集和形成子集,最終建立專家系統(tǒng)數(shù)據(jù)庫(kù)。
數(shù)據(jù)查詢系統(tǒng)解釋其他子系統(tǒng)的數(shù)據(jù)請(qǐng)求,并查閱數(shù)據(jù)字典來(lái)滿足這些請(qǐng)求,詳細(xì)闡述向綜合數(shù)據(jù)庫(kù)的數(shù)據(jù)請(qǐng)求,最后輸出結(jié)果。
圖1 數(shù)據(jù)庫(kù)管理系統(tǒng)的基本結(jié)構(gòu)與功能
數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的程序開(kāi)發(fā)工具采用Visual Basic,Visual Basic中與數(shù)據(jù)庫(kù)連接的開(kāi)發(fā)方法有很多種,本系統(tǒng)采用的是ADO數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)。
ADO(Active X Data Objects)是以全新的 OLE DB技術(shù)為基礎(chǔ)。ODBC的訪問(wèn)對(duì)象是SQL Server、Oracle等關(guān)系數(shù)據(jù)庫(kù);OLE DB不僅如此,還可以對(duì)各種數(shù)據(jù)通過(guò)統(tǒng)一的接口進(jìn)行存取,它可以提供訪問(wèn)各種數(shù)據(jù)源的手段,但不能從Visual Basic直接進(jìn)行訪問(wèn),可以通過(guò)ADO的COM接口進(jìn)行訪問(wèn)。ADO可用于VBScript和Active Server Page等各種程序設(shè)計(jì)語(yǔ)言。因此,ADO是開(kāi)發(fā)基于Web數(shù)據(jù)庫(kù)應(yīng)用軟件的最佳手段。
本系統(tǒng)采用ASP結(jié)合ADO實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。通過(guò)ASP設(shè)計(jì)出的頁(yè)面都是動(dòng)態(tài)主頁(yè),數(shù)據(jù)庫(kù)的數(shù)據(jù)不僅可以隨時(shí)變化,而且客戶端看到的頁(yè)面信息始終保持最新。ASP與Web數(shù)據(jù)庫(kù)互連的具體過(guò)程如圖2所示。
圖2 ASP與Web數(shù)據(jù)庫(kù)互連的具體過(guò)程
首先瀏覽器向服務(wù)器發(fā)出請(qǐng)求,Web服務(wù)器接收請(qǐng)求并調(diào)用ASP引擎執(zhí)行該文件。然后通過(guò)ODBC連接數(shù)據(jù)庫(kù),由數(shù)據(jù)庫(kù)訪問(wèn)組件ADO(Active Date Object)執(zhí)行庫(kù)操作。最后ASP生成數(shù)據(jù)查詢結(jié)果的HT ML頁(yè)面返回瀏覽器顯示,如圖3所示。
圖3 Web頁(yè)訪問(wèn)數(shù)據(jù)庫(kù)過(guò)程
知識(shí)庫(kù)分為實(shí)例數(shù)據(jù)庫(kù)和規(guī)則數(shù)據(jù)庫(kù)??紤]到求解的方便以及綜采工作面設(shè)備配套選型的特殊性,本系統(tǒng)知識(shí)庫(kù)中只包含規(guī)則數(shù)據(jù)庫(kù),實(shí)例數(shù)據(jù)庫(kù)存放在綜合數(shù)據(jù)庫(kù)中。規(guī)則數(shù)據(jù)庫(kù)主要是通過(guò)不斷與領(lǐng)域?qū)<蚁嗷ソ涣鞑⒉粩嗨鸭I(lǐng)域內(nèi)的專門(mén)知識(shí)來(lái)獲取專家的知識(shí)和經(jīng)驗(yàn),最終轉(zhuǎn)化為知識(shí)庫(kù)的知識(shí)。實(shí)例數(shù)據(jù)庫(kù)主要存儲(chǔ)已經(jīng)成功設(shè)計(jì)并應(yīng)用的綜采工作面設(shè)備配套的數(shù)據(jù)信息,由于搜集的每個(gè)配套設(shè)備的信息很多都不完善,因此必須花費(fèi)大量的時(shí)間來(lái)進(jìn)行整理和驗(yàn)證,最終篩選出可用的配套設(shè)備信息,然后形成實(shí)例數(shù)據(jù)庫(kù)。
綜采工作面設(shè)備配套選型專家系統(tǒng)知識(shí)庫(kù)分為采煤機(jī)知識(shí)庫(kù)模塊、液壓支架知識(shí)庫(kù)模塊、刮板輸送機(jī)知識(shí)庫(kù)模塊和“三機(jī)”配套選型知識(shí)庫(kù)模塊。每個(gè)模塊都包含了專門(mén)領(lǐng)域內(nèi)的選型規(guī)則和選型內(nèi)容,它們都和整體數(shù)據(jù)庫(kù)相連,推理機(jī)隨時(shí)訪問(wèn)不同的知識(shí)領(lǐng)域,有利于知識(shí)庫(kù)的擴(kuò)充和修改。
本系統(tǒng)知識(shí)數(shù)據(jù)庫(kù)分為兩個(gè)層次:第一層用于單機(jī)選型,包括采煤機(jī)選型、液壓支架選型和刮板輸送機(jī)選型;第二層結(jié)合第一層選型的結(jié)果進(jìn)行“三機(jī)”總體選型。系統(tǒng)的數(shù)據(jù)庫(kù)層次結(jié)構(gòu)如圖4所示。
圖4 數(shù)據(jù)庫(kù)層次結(jié)構(gòu)圖
規(guī)則庫(kù)主要存儲(chǔ)專家系統(tǒng)推理過(guò)程中用到的所有規(guī)則,規(guī)則由條件和結(jié)論兩部分組成。領(lǐng)域內(nèi)常識(shí)性的知識(shí)以及書(shū)本的知識(shí)等可以直接轉(zhuǎn)化為規(guī)則庫(kù)的規(guī)則,這些知識(shí)通過(guò)適當(dāng)?shù)闹R(shí)表示法就成為計(jì)算機(jī)認(rèn)可的執(zhí)行語(yǔ)句,幫助系統(tǒng)完成推理過(guò)程。對(duì)于領(lǐng)域?qū)<业慕?jīng)驗(yàn)知識(shí),不僅需要知識(shí)工程師進(jìn)行驗(yàn)證和總結(jié),而且需要?dú)w納出合理的、正確的規(guī)則,最后才能轉(zhuǎn)化為規(guī)則庫(kù)的規(guī)則。圖5為規(guī)則庫(kù)編輯界面。表1為系統(tǒng)規(guī)則表,表2為系統(tǒng)結(jié)論表,表3為系統(tǒng)推理用規(guī)則表。
圖5 規(guī)則庫(kù)編輯界面
表1 系統(tǒng)規(guī)則表
表2 系統(tǒng)結(jié)論表
綜合數(shù)據(jù)庫(kù)與知識(shí)數(shù)據(jù)庫(kù)不同,知識(shí)數(shù)據(jù)庫(kù)存儲(chǔ)的是靜態(tài)數(shù)據(jù),數(shù)據(jù)本身不會(huì)發(fā)生變化,而綜合數(shù)據(jù)庫(kù)主要存取整個(gè)推理過(guò)程中出現(xiàn)的包括初始輸入、中間數(shù)據(jù)和結(jié)果輸出等動(dòng)態(tài)數(shù)據(jù),修改其中某個(gè)數(shù)據(jù)就會(huì)影響到其他數(shù)據(jù)結(jié)果,而且很多數(shù)據(jù)是需要一個(gè)不斷輸入—輸出—修改—再輸入—再輸出的反復(fù)過(guò)程。因此,綜合數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的表示和組織一定要與規(guī)則數(shù)據(jù)庫(kù)的表示和組織相結(jié)合。
表3 系統(tǒng)推理用規(guī)則表
綜合數(shù)據(jù)庫(kù)和知識(shí)數(shù)據(jù)庫(kù)構(gòu)成了整個(gè)綜采工作面設(shè)備配套選型專家系統(tǒng)的數(shù)據(jù)庫(kù)體系。綜合數(shù)據(jù)庫(kù)最重要的是表的設(shè)計(jì),包括確定表的字段名、數(shù)據(jù)類型以及屬性等。圖6為專家系統(tǒng)數(shù)據(jù)結(jié)構(gòu)表。圖7為工作面參數(shù)表,用戶通過(guò)系統(tǒng)界面,輸入工作面參數(shù),并將數(shù)據(jù)保存入本表,推理機(jī)訪問(wèn)本表而匹配知識(shí)庫(kù)規(guī)則,開(kāi)始推理。液壓支架基本參數(shù)表、采煤機(jī)基本參數(shù)表、刮板輸送機(jī)基本參數(shù)表分別見(jiàn)圖8~圖10。
圖6 專家系統(tǒng)數(shù)據(jù)結(jié)構(gòu)表
通過(guò)以上分析可知,數(shù)據(jù)庫(kù)不僅是專家系統(tǒng)的基礎(chǔ)又是專家系統(tǒng)的核心。因此只有將數(shù)據(jù)庫(kù)進(jìn)行合理的邏輯設(shè)計(jì)和物理設(shè)計(jì)并且將數(shù)據(jù)庫(kù)的關(guān)鍵技術(shù)與專家系統(tǒng)結(jié)合起來(lái)才能開(kāi)發(fā)出完善而高效的專家系統(tǒng)。
圖7 工作面參數(shù)表
圖8 液壓支架基本參數(shù)表
圖9 采煤機(jī)基本參數(shù)表
圖10 刮板輸送機(jī)基本參數(shù)表
[1] 尹萍.SQL Server數(shù)據(jù)庫(kù)性能優(yōu)化[J].計(jì)算機(jī)應(yīng)用與軟件,2005(3):28-30.
[2] 李志強(qiáng).大型數(shù)據(jù)庫(kù)并發(fā)訪問(wèn)的控制與實(shí)現(xiàn)[J].中原工學(xué)院學(xué)報(bào),2004,15(6):24-26.