范會敏 陳 棚 張 萌
(西安工業(yè)大學計算機科學與工程學院 陜西 西安 710032)
專家系統(tǒng)產生于20 世紀60 年代中期,經過多年的科學研究,理論和技術越來越成熟,其應用已經滲透到了許多領域,成為人工智能開始走向實用化的標志[1]。專家系統(tǒng)在故障診斷領域的應用非常廣泛,長期以來,廣泛的應用在航空、農業(yè)、醫(yī)療、電力、化工、石油、船舶、等領域,故障診斷技術與專家系統(tǒng)相結合,使工程的安全性與可靠性得到保證[2、3]。
但是傳統(tǒng)的專家系統(tǒng)往往都在PC 機上開發(fā),缺乏便攜性,難以滿足在外工作人員的需求,這都顯示了傳統(tǒng)專家系統(tǒng)的局限性。近年來,Android 技術和移動互聯(lián)網技術的不斷發(fā)展為解決移動性、語言差異、平臺差異所帶來的高代價系統(tǒng)集成提出了一個很好的解決方案。Android 是首個為移動終端打造的真正開發(fā)和完整的移動軟件平臺,Android 的特點是其開放性,軟件開發(fā)人員可以自由開發(fā)出優(yōu)秀的軟件。移動互聯(lián)網技術的快速發(fā)展使得Android 設備能更快、更方便地訪問互聯(lián)網[4]。基于Android 的專家系統(tǒng)是專家系統(tǒng)新的發(fā)展方向,是專家系統(tǒng)廣受歡迎的模式。
專家系統(tǒng)指的是在某一個特殊的領域內,以人類專家的水平去解決該領域中的困難問題的計算機程序。這個程序系統(tǒng)內部具有大量專家的領域知識與經驗,它能利用人類專家可用的知識和推理方法來解決這些問題,并且得到與專家相同的結論[1]。
專家系統(tǒng)與傳統(tǒng)應用程序最根本的區(qū)別是:專家系統(tǒng)處理知識,傳統(tǒng)程序處理數(shù)據(jù)。一個最基本的專家系統(tǒng)應由知識庫、數(shù)據(jù)庫、推理機、解釋機構、知識獲取機構和人機接口6 個部分組成,如圖1 所示。
圖1 專家系統(tǒng)結構
專家系統(tǒng)是人工智能從理論研究向實際應用的一個轉折點,它作為人工智能的一個分支,在人工智能商品化中取得了很大成功,一方面因為專家系統(tǒng)是能滿足某種實際需要的應用程序,另一方面因為它是可以實現(xiàn)的[5]。在很多領域,如化學、地質、醫(yī)療診斷等領域,專家系統(tǒng)的質量已經達到了很高的水平,發(fā)揮了很大的作用,在為人類專家與用戶之間的良好信息處理和溝通媒介,促進了特定領域中理論形成和應用的發(fā)展。
故障診斷是一個系統(tǒng)內的某一部件結構失效的準確診斷過程。診斷的最終目標是充分確認造成故障的最終原因,以便能很好地排除其它故障[6]。
故障診斷技術運用電子技術、信息技術、信號分析技術以及計算機技術等先進手段,獲取設備運行過程中各參數(shù)的變化信息,分析其特征,如果發(fā)現(xiàn)設備當前未處于正常狀態(tài),則認為其發(fā)生故障,并進一步檢查出故障的部位、類型、及嚴重程度,最后給出診斷結論[7、8]。故障診斷技術是典型的多學科相互交叉滲透的綜合性技術。
故障診斷技術與專家系統(tǒng)相結合,就構成故障診斷型專家系統(tǒng)。
移動互聯(lián)網是當前信息技術領域最熱門的話題之一,它體現(xiàn)了“無處不在的網絡、無所不能的業(yè)務”的思想,正在改變著人們的生活方式和工作方式。移動互聯(lián)網能讓用戶在移動中通過移動設備隨時、隨地訪問Internet、獲取信息,進行商務、娛樂等各種網絡服務[9]。自從中國3G 網絡的投入運營,iPhone、Android 等智能手機終端以及應用平臺的出現(xiàn),使得移動互聯(lián)網得以如此迅猛地發(fā)展。
移動互聯(lián)網終端平臺的競爭正從封閉、一家掌控式的平臺向開放式創(chuàng)新、產業(yè)協(xié)同的平臺發(fā)展,平臺的領導者將真正成為產業(yè)鏈的領導者,不同平臺的競爭將演化為不同產業(yè)生態(tài)體系的競爭。
Android,是一個以Linux 為基礎的開放源代碼移動設備操作系統(tǒng),主要用于移動設備,由Google 成立的OHA(開放手持設備聯(lián)盟)持續(xù)領導與開發(fā)中。在優(yōu)勢方面,Android 平臺首先就是其開發(fā)性,開發(fā)的平臺允許任何移動終端廠商加入到Android 聯(lián)盟中來[10]。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。
在移動互聯(lián)網背景下,主流的移動方案主要有3 種,分別是基于B/S 構架模式的Web 應用、原生客戶端應用和移動Web 應用。
Web 應用是通過使用Website 和Web 瀏覽器技術,跨越網絡完成一個或者多個任務的應用程序,通過基于B/S 架構模式實現(xiàn)。但它的缺點明顯,無法使用移動設備提供的高級硬件功能,如攝像頭。
移動Web 應用是在原生客戶端中嵌入基于前端技術構建的HTML 頁面視圖,能夠通過移動設備中的瀏覽器進行查看和操作,最主要的目的是為了解決跨平臺訪問信息問題。移動Web 應用一般通過HTML5、CSS3、JavaScript 或前端框架技術來構造頁面視圖,可以被客戶端內置的WebKit 瀏覽器解析[11]。缺點是受限于瀏覽器引擎的處理能力,部分類型的操作可能需要與Web 端通信,動畫、圖形內容因需要緩沖而時常存在響應延遲。
原生客戶端應用和Web 應用正好相反,原生應用程序被安裝在Android 手機上,它可以使用手機硬件功能,而且采用Java 語言編寫,能夠本地精細化定制,對用戶的操控響應靈敏。
本文采用原生客戶端開發(fā)模式設計和實現(xiàn)了一款應用,該應用基于Android 平臺,以故障診斷專家系統(tǒng)為主題,通過Http 請求實現(xiàn)客戶端和服務器之間的信息交互,從而讓用戶快速獲取相關數(shù)據(jù)。
對故障設備能夠進行正確的診斷,用戶通過智能手機輸入故障設備的特征,系統(tǒng)通過推理后給出輸入故障的故障原因,并給出故障處理意見。
通過Android 智能手機,知識工程師可以向知識庫添加新的知識。
設計系統(tǒng)要充分考慮故障知識的特點,運用適當?shù)谋硎痉椒ū硎竟收现R。根據(jù)故障型專家系統(tǒng)特點,采用產生式表示法和框架表示法進行表示故障知識。
選擇框架表示結構性知識,選擇產生式表示法表示診斷性過程知識。
故障診斷專家系統(tǒng)的設計內容主要包括故障知識庫、推理機、知識獲取機構以及人機交互界面。
本系統(tǒng)采用C/S 結構,因為C/S 結構最大的優(yōu)勢是,交互性好,數(shù)據(jù)安全性高。Android 客戶端通過移動互聯(lián)網訪問專家系統(tǒng)服務器,如果需要數(shù)據(jù)訪問,則訪問后臺數(shù)據(jù)庫,如圖2 所示。
圖2 系統(tǒng)體系架構圖
系統(tǒng)由四個部分構成:故障診斷、知識庫管理、操作指南和用戶管理。故障診斷是使用專家系統(tǒng)進行故障診斷的入口,在故障診斷中可以輸入故障現(xiàn)象進行故障診斷,知識庫管理是向專家系統(tǒng)中添加知識的入口,維護知識庫時通過該入口進入,操作指南是對專家系統(tǒng)的功能說明以及各種操作幫助信息,操作指南并不是可有可無的部分,它的詳細程度有時直接影響到操作者操作專家系統(tǒng)的準確度甚至是操作信心,用戶管理是為管理用戶權限而設,因為不同的權限使用專家系統(tǒng)的功能可能不同,有的用戶可能沒有添加知識的權限,當他用沒有添加知識的權限登錄專家系統(tǒng)時,發(fā)現(xiàn)需要使用知識添加功能,則可以使用重新登錄界面更換用戶名登錄,重新登錄為更換用戶登錄提供了方便。系統(tǒng)功能模塊圖如圖3 所示。
圖3 系統(tǒng)功能模塊圖
3.3.1 知識庫設計
故障診斷專家系統(tǒng)知識庫的核心是專家知識。知識庫中的知識的完整性很大程度上決定了專家系統(tǒng)的能力,所以專家系統(tǒng)建立的關鍵是知識庫的建立。由于故障診斷知識庫比較復雜,所以將知識庫建立成知識庫表,各表之間通過關鍵字建立聯(lián)系。
特別說明的是專家系統(tǒng)有使用權限,不同權限的人員只能在自己的權限范圍內操作,有利于區(qū)分專家系統(tǒng)操作人員的職能。所以在各事實庫表之外,還有一個獨立的用戶權限表。
3.3.2 推理機設計
推理機是專家系統(tǒng)的靈魂。推理機就是根據(jù)一定的規(guī)則從已有條件推出結論的過程。它根據(jù)用戶權限,從數(shù)據(jù)庫中提取用戶條件,在知識庫中選擇合適的規(guī)則,找到合適的故障推理應根據(jù)用戶當前輸入的故障特征,利用知識庫中的知識,模擬該領域專家的思維過程,按照一定的推理規(guī)則和策略進行推理,選擇知識庫中對當前問題可用的知識進行推理,求解出故障原因。推理機是在知識庫的基礎上推導的,推理方法才有產生式規(guī)則,推理方法包括正向推理,逆向推理和混合推理。本系統(tǒng)采用雙向推理技術,采用正向推理和逆向推理相結合的方法。先進行正向推理,如果沒有得出結果或者需要進一步推導,則進行逆向推理。
3.3.3 服務器端設計
服務器端采用Servlet 響應客戶請求,后臺數(shù)據(jù)庫采用JDBC 訪問數(shù)據(jù)庫。
Android 集成了Apache 的Http client 模塊,這樣使得HTTP 訪問網絡成為可能,本文采用HTTP 訪問網絡。HTTP 是請求/響應的一種機制,定義一個工具類HttpUtil來獲得HttpRequest 對象和HttpResponse 對象,以及發(fā)送GET 和POST 請求獲得返回Response 信息的方法。
后臺服務器實現(xiàn)采用JDBC 訪問后臺數(shù)據(jù)庫,Servlet響應HttpRequest 請求,并返回響應結果。
3.3.4 系統(tǒng)功能實現(xiàn)
火力電站機組設備繁多、結構復雜,大多數(shù)設備處于高溫高壓的工作環(huán)境,故障發(fā)生率高,一旦發(fā)生故障,后果都很嚴重。機組設備的基本結構、規(guī)格型號及參數(shù)各不相同,這些因素常常綜合作用,影響機組發(fā)生故障時的表象,相同性質的故障在不同電站、不同機組上,其外在故障表象可能完全不同,加大了問題的迷惑性,這時候專家的經驗和知識就顯得特別珍貴,特別需要專家的知識經驗去排查故障的共性和個性,以期“對癥下藥”。
機組鍋爐屬于多層次的系統(tǒng),由燃燒、煙風、汽水等子系統(tǒng)組成,每個子系統(tǒng)還可以進一步劃分為若干層次的次級子系統(tǒng)和部件,各層次級子系統(tǒng)不是孤立的,而是相互關聯(lián),只要某一個子系統(tǒng)功能失效或者出現(xiàn)異常,就可能致使其它子系統(tǒng)的功能失效或者異常,嚴重的甚至致使整個機組處于故障狀態(tài),從而導致停產。
在Android 開發(fā)環(huán)境中,以電站機組鍋爐為例,實現(xiàn)了基于Android 的電站鍋爐故障診斷專家系統(tǒng),圖4 是故障診斷的人機界面。
圖4 故障現(xiàn)象與診斷結果
在移動互聯(lián)網飛速發(fā)展的今天,基于Android 的故障診斷專家系統(tǒng)有了新的機遇,它可以實現(xiàn)故障診斷和知識庫管理功能,能夠完成原本PC 機上才能實現(xiàn)的功能,方便工作人員攜帶,為在外場工作人員提供了極大的便利。通過測試,系統(tǒng)設計方案可行,研究成果可推廣到石油鉆井設備的故障診斷系統(tǒng)以及其它系統(tǒng)。
[1]劉白林.人工智能與專家系統(tǒng)[M].西安:西安交通大學,2012.
[2]安麗娜,張士杰.專家系統(tǒng)研究現(xiàn)狀及展望[J].計算機應用研究:2007,24(12):1 -5,19.
[3]王安煒.基于Android 的手機農業(yè)專家系統(tǒng)的設計與實現(xiàn)[D].山東:山東大學,2011.
[4]王紅梅.移動互聯(lián)網現(xiàn)狀與趨勢淺析[R]. 移動互聯(lián)網技術與應用,2010.
[5]范會敏,汪尚兵,霍 珍,等. 鍋爐故障診斷專家系統(tǒng)領域知識表示方法研究[J]. 電腦知識與技術,2010,2010,6(22):6292 -6294.
[6]吳明強,史 惠,朱曉華,等.故障診斷專家系統(tǒng)研究的現(xiàn)狀與展望[J]. 計算機測量與控制. 2005,13(12):1301-1304.
[7]劉白林,劉 震,范躍華.一種故障診斷專家系統(tǒng)的的設計與實現(xiàn)[J].強箭與制導學報,2002,24(3):71 -73.
[8]楊盼盼.基于Web Services 的專家系統(tǒng)的研究及應用[D].西安:西安工業(yè)大學,2012.
[9]魯 維,胡 山. 我國移動互聯(lián)網業(yè)務發(fā)展現(xiàn)狀及趨勢分析[J]. 電信技術,2009,(5):29 -31.
[10]郭宏志.Android 應用開發(fā)詳解[M].北京:電子工業(yè)出版社,2010.
[11]苑志敏,徐 紅. 增值式企業(yè)移動解決方案開發(fā)方法研究與實現(xiàn)[J].計算機工程與設計,2009,30(20):4628 -4631,4776.