劉 博,嚴云紅,程云龍,彭立章,陳 元
(上海宇航系統工程研究所,上海 201109)
基于自主運行體系結構的通用推理引擎設計
劉 博,嚴云紅,程云龍,彭立章,陳 元
(上海宇航系統工程研究所,上海 201109)
為實現基于規則的決策推理,根據自主運行技術的特點對一種基于航天器自主運行體系結構的通用推理引擎設計進行了研究。該體系結構以策略與機制分離為目標,對系統策略、資源和數據進行統籌管理,自主運行系統包括決策系統、系統策略、系統輸入和系統輸出四部分。在自主運行體系結構的基礎上,對傳統Rete算法進行改進,優化傳統Rete網絡結構,取消了Not節點,改變了原Rete算法中的是非邏輯判斷,合并了Entry節點、Token節點和適配節點功能。給出了通用推理引擎的推理網絡結構,設計了推理算法以實現事實序列的快速推理。某航天器數管分系統的程控功能樣例顯示:根據飛行過程中產生的事實序列,用設計的推理引擎推理出級箭分離、中繼加電、開發動機、關發動機等事件的發生,由此驗證了通用推理引擎的有效性。
自主運行; 推理引擎; Rete算法; 推理網絡; 模式匹配; 通用化; 規則庫; 體系結構
自主運行技術是美國等在20世紀80年代發展的一種航天器智能技術[1-2]。該技術通過利用人工智能等現代控制方法實現航天器的自我管理并完成既定任務,進而解決航天器傳統控制方法中對地面遙控依賴過強的問題[3-4]。航天器自主運行技術可通過故障診斷、自主決策等加快對突發事件的響應速度、減少地面干預而降低運行成本。航天器自主運行的目標是在盡量少依賴地面干預的前提下,根據自身狀態、外部環境等數據進行決策,控制航天器完成各種任務[5]。規則推理技術是人工智能領域的重要分支,已被廣泛用于專家系統、模式識別和系統決策等智能領域,為實現高智能、全自動自主運行的目標,需有強大的推理能力作為支撐。規則推理技術已在國外航天器上得到了驗證,深空探測1號(DS-1)、太空技術7號(ST-7)等探測器都采用規則推理技術實現了航天器的自主運行控制[5-6]。未來,航天器自主運行將會成為一種發展趨勢,可用于程控、健康管理、任務管理,以及制導、導航與控制(GNC)等領域。
近年來,智能推理技術發展迅速,Jess,JBoss Rules等商用推理引擎不斷推出,但國內并沒有成熟推理引擎的案例。航天領域中的故障診斷、規劃決策等傳統推理系統的功能單一,針對特定任務和功能設計,且多使用基于符號系統的規則模型,需設計專門的解釋器配合符號系統使用,無法實現通用化推理[7-8]。從通用化、組件化的角度出發,基于自主運行體系結構,采用一種通用化推理引擎,能實現自主運行系統的決策推理功能,通用推理引擎根據知識庫編譯推理網絡,從事實序列中挖掘已知事件的匹配情況,整個推理過程與業務邏輯無關,可有極高的適用性和靈活性,能用于數管程控、流程控制、系統故障診斷等領域。本文對一種基于自主運行體系結構的通用推理引擎設計進行了研究,介紹了自主運行體系結構和自主運行流程,給出了基于改進型Rete算法的推理引擎設計方法,用仿真演示平臺和模擬應用案例驗證該推理引擎的有效性,并對通用推理引擎在工程中的應用及未來發展進行了討論。
我國現有航天器多由多個相對獨立的分系統組成,每個分系統負責實現系統的一部分功能,通過分系統間的協作實現航天任務[5]。該結構因其界面清晰、可靠性高等優點一直被廣泛應用。傳統的總體+分系統結構中各分系統的數據和資源相對獨立,每個分系統獨自管理內部的數據和資源。隨著綜合電子技術的發展,整器的數據和資源逐步由分布式管理轉變為統籌式管理,自主運行體系結構是在總體+分系統結構的基礎上,以策略與機制分離為目標,對系統策略、資源和數據進行統籌管理后形成的一種體系結構。其中:策略是按規則的格式要求對實際系統應用的業務邏輯進行抽象,形成規則庫;機制是通用化、模塊化的組件集合,用于管理規則庫、數據流處理、推理引擎等核心組件。自主運行體系結構由決策系統、系統策略、系統輸入和系統輸出四部分組成,如圖1所示。

圖1 自主運行體系結構Fig.1 Autonomous architecture
在自主運行體系結構中,根據工程實際任務中的業務邏輯制定系統策略,并基于系統策略維護決策系統。在系統運行過程中,實時對來自系統輸入的外圍設備和系統內部的狀態數據進行預處理,送決策系統決策,并將決策系統生成的指令或動作通過系統輸出發送或執行。
系統策略是對各分系統實際任務的抽象和梳理形成的規則集合。在系統設計時,按決策系統中定義的數據類型,將各分系統的實際功能分解成若干條規則,并將這些規則注冊到策略庫。
系統輸入是所有待處理數據的集合,包括表征當前軟件運行情況的狀態數據、來自各傳感器或外部設備的遙測數據、接收到的遙控指令,以及系統時間等輸入數據。
系統輸出是所有外部操作的集合,包括總線通信、閥門、火工品、伺服機構控制、加熱器等,與傳統航天器中的執行部件集合對應。
決策系統是自主運行體系的關鍵,為系統自主運行提供了一套通用化推理機制,可適于不同航天器。決策系統包括策略庫、事件庫、事實庫、事實隊列、推理引擎、事件發生器和執行器。在決策系統中,數據以規則、事件和事實的形式在各組件間流動。
定義1事實,用于表示系統某個屬性的當前狀態。可用三元組表示為
Fact=〈F_Type,Property,F_Value〉
式中:F_Type為事實類型;Property為該事實表征的系統屬性,規定了該事實類型的數據源;F_Value為該事實的數值,代表屬性當前的狀態。
定義2事件,代表系統當前的情況,是一個復合型的狀態。可用三元組表示為
Event=〈E_Type,Process,E_Value〉
式中:E_Type為事件類型,用于區分系統中發生的不同事件;Process為當系統中發生該事件時的處理方法;E_Value為該事件發生的程度。
定義3表達式,是規則中的一個條件。可用三元組表示為
Exp=〈F_Type,Compare,Value〉
式中:F_type為事實類型;Compare為判斷內容,包括大于、等于和小于;Value為Compare的參考值。
定義4規則,是一組條件的集合,是對系統策略的抽象表示方法。可用三元組表示為
Rule=〈R_ID,E_Type,{Exp}〉
式中:R_ID為系統中該條規則的唯一標識;E_Type為事件類型,表示當{Exp}全部滿足條件時系統發生的事件;{Exp}為表達式集合,規定了構成事件的事實類型和邏輯關系。規則定義了事件與事實間的某種邏輯或條件關系,具復合性[9]。
策略庫存儲和維護了系統根據實際任務定義的全部規則。事件庫存儲和維護系統中的全部事件類型,并對發生事件后的處理方法進行管理,建立事件類型與處理方法間的映射關系。事實庫存儲和維護系統中的全部事實類型,建立系統輸入與事實類型間的映射關系。事實發生器對系統輸入數據進行融合,根據系統輸入的不同類型數據,事件發生器查詢事實庫中的事實類型,將系統輸入數據抽象成一個事實,加入事實隊列。事實隊列為推理引擎提供事實數據緩存的服務。推理引擎是決策系統的核心組件,根據策略庫中的規則集合編譯出推理網絡,并不斷從事實隊列中讀取最新的事實,根據事實在推理網絡中的流動情況判斷是否發生某一事件。執行器是決策系統向外輸出的接口,當推理引擎推理出某事件發生后,執行器會根據事件類型查詢事件庫,獲得該種事件類型對應的處理方法,處理方法包括發送相關指令或將事件再次抽象成事實加入事實隊列繼續推理。
推理引擎是決策系統中最核心的組件,也是實現系統自主運行的關鍵部分。基于自主運行體系結構的推理引擎應具備以下特點:實時性強,可快速推理;對系統資源消耗不宜過大;策略庫中規則數量適中;具備通用化的特點,通過配置不同的策略庫可實現不同的任務和功能。
Rete算法是FORGY提出的一種基于規則的快速推理算法[10]。Rete算法的優點是結構靈活、準確高效等,被廣泛用于CLIPS等專家系統中[11]。因航天器系統與其他規則系統存在差異,導致傳統Rete算法在用于航天器系統時存在不足:傳統Rete算法中的Alpha節點智能進行“等值”判斷,而航天器系統中需要對“多值”狀態進行判斷和處理;傳統Rete算法不支持“或運算”,不能覆蓋所有邏輯運算。因此,本文對傳統Rete算法進行了改進:簡化Alpha網絡,取消Not節點,將原算法中“非”運算的規則改為“大于或小于”運算;允許Alpha節點對數值型數據進行算術邏輯運算,改變了傳統Rete算法中的“是、非”邏輯判斷;簡化Beta網絡的復雜度,合并了原Entry,Beta,Token節點的功能。
2.1推理網絡結構
本文的推理引擎中,推理網絡分為Alpha網絡、Beta網絡和P網絡三部分。其中:Alpha網絡包含根節點(R)、類型節點(T)和Alpha節點(A);Beta網絡由Beta節點(B)組成;P網絡由終結節點(P)組成。此處:
a)根節點是推理網絡的唯一入口,事實數據從根節點流入推理網絡進行推理;
b)類型節點對流入推理網絡的事實數據進行第一次篩選,允許類型相符的事實流入類型節點對應的Alpha節點集合;
c)Alpha節點實現了規則定義中的條件判斷部分,與傳統Rete算法只能進行“是、非”條件判斷相比,推理引擎中的Alpha節點支持“大于、等于、小于”三種判斷,可覆蓋更多的條件判斷情況;
d)Beta節點用于保存推理過程的臨時結果,在簡化推理網絡復雜程度的同時提高了推理效率;
e)終結節點是推理網絡的出口,每個終結節點與規則中的事件類型一一對應,經過Beta網絡推理形成的數據組合流入終結節點,意味著系統當前發生終結節點對應類型的事件,可根據策略進行相應的處理。
本文設計的推理網絡與傳統Rete算法的區別有兩點。首先,傳統Rete的Alpha節點僅能進行“是、非”的判斷,即布爾型數據的判斷,而本文的Alpha節點可判斷“大于、小于、等于”的關系,即整數型數據的判斷,覆蓋條件更廣;其次,本文的Beta節點合并了傳統Rete中的Beta,Token和適配節點功能,降低了推理網絡的復雜度,提高推理效率。推理網絡如圖2所示。

圖2 推理網絡Fig.2 Reasoning network
2.2推理算法設計
推理引擎包含編譯推理網絡和執行推理兩個過程。推理網絡的編譯算法見表1。推理引擎執行推理的算法見表2。

表1 編譯算法

表2 推理算法
通用推理引擎有很強的適用性,可在數管、熱控、故障診斷等中使用。本文對某航天器飛行程序進行簡化,通過數管分系統中的程控功能驗證通用推理引擎的有效性。設該航天器飛行程序(不考慮飛行程序的合理性)見表3。

表3 飛行程序
航天器與運載火箭在起飛后與約606 s級箭分離;判斷到級箭分離信號有效2 s后,若中繼單元電壓正常,則執行中繼加電;當航天器在級箭分離的2 400 s內運行到緯度幅角大于100°時起動發動機;開機運行100 s、系統運行3 000 s后,若緯度幅角大于200°并完成了衛星釋放,則關閉發動機。按決策系統中定義的數據類型,對表3的飛行程序進行抽象。
定義事實類型7種:F1=〈級箭分離信號,遙測采集板,Null〉;F2=〈系統時間,軟件狀態,Null〉;F3=〈級箭分離時間,軟件狀態,Null〉;F4=〈中繼單元電壓,測控儀,Null〉;F5=〈緯度幅角,GNC,Null〉;F6=〈開機時間,軟件狀態,Null〉;F7=〈衛星釋放信號,遙測采集板,Null〉。
定義事件4種:E1=〈級箭分離,{開始級箭分離計時},Null〉;E2=〈中繼加電,{中繼單元供電、中繼發射機開機},Null〉;E3=〈開發動機,{發送開機指令、開始開機計時},Null〉;E4=〈關發動機,{發送關機指令、停止開機計時、開始關機計時},Null〉。
定義表達式10條:Exp1=〈F1,=,1〉;Exp2=〈F2,>,600〉;Exp3=〈F3,=,2〉;Exp4=〈F4,<,1〉;Exp5=〈F5,>,100〉;Exp6=〈F3,<,2 400〉;Exp7=〈F6,>,100〉;Exp8=〈F5,>,200〉;Exp9=〈F7,=,1〉;Exp10=〈F2,>,3 000〉。
定義規則4條:R1=〈發現級箭分離,E1,{Exp1 & Exp2}〉;R2=〈觸發中繼加電,E2,{Exp3 & Exp4}〉;R3=〈觸發開發動機,E3,{Exp5 & Exp6}〉;R4=〈觸發關發動機,E4,{Exp7 & Exp8 & Exp9 & Exp10}〉。
由此建立了決策系統中策略庫、事件庫、事實庫,編譯后形成推理網絡如圖3所示。

圖3 飛行程序推理網絡Fig.3 Reasoning network of flight program
設航天器運行過程中,推理引擎接收到的事實序列見表4(不考慮事實序列的真實性與合理性)。
分析上述事實,由事實10、11可推理出級箭分離事件(E1);由事實14、15可推理出中繼加電事件(E2);由事實19、20可推理出開發動機事件(E3);由事實25~28可推理出關發動機事件(E4)。推理引擎仿真平臺推理結果如圖4~7所示。由圖4~7

表4 事實序列
推理結果可知:推理引擎實現了根據策略庫和事實序列完成事件推理的功能。

圖4 事件級箭分離發生Fig.4 Event of separation

圖5 事件中繼加電發生Fig.5 Event of relay power on

圖6 事件開發動機發生Fig.6 Event of engine power on

圖7 事件關發動機發生Fig.7 Event of engine power off
本文介紹了一種基于自主運行體系結構的通用推理引擎的設計方法,該推理引擎對傳統Rete算法進行改進,可根據策略庫編譯生成與航天器功能相對應的推理網絡,并從大量事實數據中快速推理出某種事件的發生。通用推理引擎具強適用性,可針對不同航天器的實際功能需求設計各自的策略庫、事件庫和事實庫,將推理引擎用于程控、GNC、熱控、機構控制等功能。雖然通用推理引擎滿足了推理正確性要求,但現有推理算法和成熟的推理系統均適于地面系統使用,推理過程消耗的時間資源和空間資源較大,無法直接用于空間數據系統,同時推理效率還有待提升。后續將針對推理性能優化和推理引擎小型化進行研究,以使其可用于工程研制中。
[1] PELL B, BERNARD D E, CHIEN S A. An autonomous spacecraft agent prototype[J]. Autonomous Robots, 1988(5): 29-52.
[2] STOTT D. The near command and data handling system[J]. Johns Hopkins APL Technical Digest, 1998, 19(2): 220-334.
[3] 石書濟. 深空探測與測控通信技術[J]. 電訊技術, 2001(2): 1-4.
[4] 代樹武, 孫輝先. 衛星運行中的自主控制技術[J]. 空間科學學報, 2002, 22(2): 147-153.
[5] 代樹武, 孫輝先. 航天器自主運行技術的進展[J]. 宇航學報, 2003, 24(1): 17-22.
[6] 胡圣波, 孟新, 趙娜. 基于模型的航天器自主運行智能執行體[C]∥ 2007年中國智能自動化會議. 蘭州: 中國自動化學會智能自動化專業委員會, 2007: 1061-1065.
[7] 許東. 地空導彈混合智能故障診斷專家系統的設計與實現[D]. 西安: 西北工業大學, 2002.
[8] 夏勇. 基于故障樹的運載火箭故障診斷專家系統[D]. 重慶: 重慶大學, 2007.
[9] LI Quan-long, JIN Yan. Smart home service based on event matching[C]// 10thInternational Conference on Fuzzy Systems and Knowledge Discovery. Dalian: [n. l.], 2013: 762-766.
[10] XIAO Ding, ZHONG Xiao-an, Improving Rete algorithm to enhance performance of rule engine systems[C]// Proceedings of the International Conference on Computer Design and Applications. Qinhuangdao: [n. l.], 2010: 572-575.
[11] YANG Ping-le. IRETE: an improved Rete multi-entity match algorithm[C]// Proceedings of the International Conference on Electronics, Communications and Control. Ningbo: [n. l.], 2011: 4363-4366.
DesignofGeneralReasoningEngineBasedonAutonomousArchitecture
LIUBo,YANYun-hong,CHENGYun-long,PENGLi-zhang,CHENYuan
(Aerospace System Engineering Shanghai, Shanghai201109, China)
To achieve the reasoning and decision-making based on rules, the design of general reasoning engine based on autonomous architecture was studied according to the characteristics of autonomous architecture in this paper. The target of the autonomous architecture is to separate strategy and mechanism, which manages the strategies, resources and data of the system. The architecture consists of four parts of decision-making system, system strategy, system input and system output. According to the autonomous architecture, the Rete algorithm was improved by optimizing the traditional Rete network, banning Notnode, changing logic reasoning of yes-no and combining the function of EntryNode, TokenNode and AdapterNode. The reasoning structure of general reasoning engine was presented. The reasoning algorithm was designed to achieve the fast reasoning of the fact sequence. The application sample of program controlling function of a spacecraft data management subsystem showed that the happening of events of separation, relay power on, engine power on and engine power off could be reasoned by the general reasoning engine designed according to the fact in spacecraft flight, which verified the validity of the reasoning engine.
autonomous; reasoning engine; Rete algorithm; reasoning network; pattern matching; generalization; rule library; architecture
1006-1630(2017)04-0118-07
2016-09-21;
:2016-11-11
國家自然科學基金資助(61573247)
劉 博(1988—),男,碩士,主要研究方向為嵌入式系統設計、智能系統研究。
V423
:ADOI:10.19328/j.cnki.1006-1630.2017.04.014