李青山, 廉宗民, 王 璐, 謝生龍,3
1. 西安電子科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 西安 710071 2. 西安電子科技大學(xué)廣州研究院, 廣州 510555 3. 延安大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院, 延安 716000
現(xiàn)代航天器控制系統(tǒng)有兩個(gè)顯著特點(diǎn):其對象中存在著大量結(jié)構(gòu)和參數(shù)的變化, 造成對象模型的復(fù)雜性和不確定性;對控制任務(wù)的要求越來越高.因此,滿足控制任務(wù)要求的最有效途徑是使之具備智能自主運(yùn)行的能力.航天器的自主運(yùn)行具有可以增加容量、安全性、可靠性、效率和節(jié)省費(fèi)用的特點(diǎn)[1].在當(dāng)前研究中,空間飛行器在太空中執(zhí)行任務(wù)時(shí)需要面對兩個(gè)問題:(1)資源受限.資源主要分為兩種:計(jì)算資源和系統(tǒng)資源.計(jì)算資源主要是指空間飛行器所攜帶的計(jì)算機(jī)資源,包括CPU運(yùn)算能力、內(nèi)存資源、硬盤資源、網(wǎng)絡(luò)寬帶資源以及計(jì)算機(jī)冗余設(shè)備與運(yùn)算環(huán)境重構(gòu)能力等.系統(tǒng)資源主要是指空間飛行器為了完成預(yù)定任務(wù),而配備的各類測量敏感器,執(zhí)行機(jī)構(gòu),能源組件,有效載荷組件等,需要考慮其數(shù)量、安裝、冗余備份與組合應(yīng)用的關(guān)系,以及其實(shí)時(shí)運(yùn)行的加電、通信、有效性等狀態(tài)信息.(2)環(huán)境影響.環(huán)境分為外部環(huán)境和內(nèi)部環(huán)境.外部環(huán)境是指太空中,對空間飛行器運(yùn)行及任務(wù)執(zhí)行,直接或者間接產(chǎn)生影響的環(huán)境因素.需要考慮天體引力攝動,空間輻射,飛行合作目標(biāo)及敵方飛行器、空間碎片、不明飛行器等非合作目標(biāo)的方位.內(nèi)部環(huán)境是指軟件系統(tǒng)所處的物理環(huán)境,例如CPU、存儲器、運(yùn)行狀態(tài)和內(nèi)部參數(shù)的變化[2].空間飛行器所處的飛行環(huán)境復(fù)雜,人工干預(yù)難度大,而傳統(tǒng)的,現(xiàn)有的自適應(yīng)演化方法并不一定適合空間飛行器控制軟件的自主控制.所以在資源受限的情況下,航天器控制系統(tǒng)軟件如何在太空中完成可靠的動態(tài)自適應(yīng)演化是亟待解決的問題.
為了滿足空間飛行器控制軟件的動態(tài)演化需求,本文在3層感知—分析—決策—執(zhí)行(MAPE)[3]的控制循環(huán)的自適應(yīng)框架的基礎(chǔ)上提出3層控制框架,使用基于策略/規(guī)則的決策方法和基于強(qiáng)化學(xué)習(xí)的決策方法完成自適應(yīng)決策,并加入基于數(shù)據(jù)驅(qū)動的反饋優(yōu)化方法,實(shí)現(xiàn)了空間飛行器控制系統(tǒng)軟件在太空作業(yè)過程中進(jìn)行可靠的動態(tài)演化.本文中提出的空間飛行器控制軟件的框架上下2層均具備有完整的MAPE環(huán)節(jié),底層邏輯使用基于策略/規(guī)則的自適應(yīng)決策方法實(shí)現(xiàn)系統(tǒng)的快速決策.上層使用基于強(qiáng)化學(xué)習(xí)的自適應(yīng)決策方法,進(jìn)行全局調(diào)整并處理未知的上下文情況,完成在線決策.中間層反饋優(yōu)化Agent實(shí)現(xiàn)周期性的數(shù)據(jù)挖掘,保障策略庫的實(shí)時(shí)性和可靠性.
系統(tǒng)執(zhí)行的動作是軟件系統(tǒng)通過感知、分析環(huán)節(jié),獲取到具體的自適應(yīng)事件的信息,而后決策環(huán)節(jié)為軟件系統(tǒng)制定出最符合當(dāng)前需求的自適應(yīng)策略,并指導(dǎo)軟件系統(tǒng)對自身或者上下文進(jìn)行調(diào)整[4].目前,國內(nèi)外提出的自適應(yīng)決策方法主要分為方案選擇和狀態(tài)遷移兩種.方案選擇主要包括4種算法:(1)基于規(guī)則/策略的方法,根據(jù)事件信息,選擇能夠處理這種事件的規(guī)則/決策,效率高[5].(2)基于目標(biāo)的自適應(yīng)決策方法[6].(3)基于效用函數(shù)的決策方法,根據(jù)系統(tǒng)效用選擇出最優(yōu)決策[7].(4)基于啟發(fā)式的決策方法,這些啟發(fā)式算法會結(jié)合強(qiáng)化學(xué)習(xí)、決策樹等修正搜索方向[8].狀態(tài)遷移具體方法包括:馬爾科夫決策過程(Markov decision process, MDP)[9]、采用強(qiáng)化學(xué)習(xí)算法提供自主決策能力[10]、基于貝葉斯網(wǎng)絡(luò)的決策方法[11]等.因此,本文在功能Agent中采用基于規(guī)則/策略的決策方法,在降低了資源占用的同時(shí),實(shí)現(xiàn)了針對事件信息的快速反應(yīng);上層邏輯則采用了基于強(qiáng)化學(xué)習(xí)的自適應(yīng)決策方法,通過在線學(xué)習(xí)的方式,解決未知的上下文信息的問題,在線生成策略信息.
基于數(shù)據(jù)驅(qū)動的反饋優(yōu)化的方式在諸多領(lǐng)域都有著廣泛的研究和應(yīng)用.目前較多依賴于機(jī)器學(xué)習(xí)技術(shù)[12]和基于偏好的反饋優(yōu)化技術(shù)[13].而隨著深度學(xué)習(xí)的成熟,各種方法也逐漸應(yīng)用其中.例如,ELBERZHAGER等[14]結(jié)合人類因素在軟件工程中影響的思想,提出了基于用戶反饋的優(yōu)化的框架.LI等[15]通過利用反饋優(yōu)化的方式實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)算法,解決實(shí)際追蹤應(yīng)用中的不確定性難題.許相莉等人將粒子群優(yōu)化算法與用戶反饋結(jié)合,提出基于粒子群的反饋算法[16].韓嘉祎等[17]在Apriori算法的基礎(chǔ)上提出FP Growth算法,他們通過構(gòu)造FP樹來對頻繁集構(gòu)造路徑,該算法的只需要對數(shù)據(jù)庫進(jìn)行2次檢索,算法效率顯著提升.GEOFFRE等[18]提出的深度信念網(wǎng)絡(luò)(deep belief network, DBN)是一個(gè)概率生成模型,用于觀察數(shù)據(jù)和標(biāo)簽之間的聯(lián)合分布.本文通過使用基于關(guān)聯(lián)規(guī)則的數(shù)據(jù)挖掘算法作為反饋優(yōu)化的核心,執(zhí)行結(jié)果通過感知傳送到反饋優(yōu)化模塊,進(jìn)行數(shù)據(jù)挖掘,對系統(tǒng)運(yùn)行過程中產(chǎn)生的數(shù)據(jù)結(jié)果進(jìn)行周期性挖掘,并更新策略庫,保證策略執(zhí)行的可靠性.基于此,該框架保障了空間飛行器控制軟件在太空中完成可靠的自適應(yīng)演化.
自適應(yīng)軟件系統(tǒng)是通過構(gòu)建自適應(yīng)機(jī)制實(shí)現(xiàn)的,系統(tǒng)在運(yùn)行過程中可以自主調(diào)整系統(tǒng)自身的參數(shù)、行為或者結(jié)構(gòu),從而動態(tài)適應(yīng)系統(tǒng)運(yùn)行時(shí)發(fā)生的各類變化[19-20].所以自適應(yīng)軟件的重點(diǎn)是實(shí)現(xiàn)自適應(yīng)機(jī)制.具有自適應(yīng)能力的軟件系統(tǒng)可以通過感知外部環(huán)境或者內(nèi)部環(huán)境的變化,對當(dāng)前感知到的事件信息進(jìn)行分析,做出符合當(dāng)前需求的決策,進(jìn)行自身系統(tǒng)的調(diào)整,實(shí)現(xiàn)系統(tǒng)中既定功能和非功能性的任務(wù),完成自主演化.
軟件系統(tǒng)在執(zhí)行任務(wù)過程中,需要根據(jù)環(huán)境的變化、用戶的需求以及當(dāng)前資源情況實(shí)現(xiàn)調(diào)整,所以需要保證系統(tǒng)在運(yùn)行過程中,不但可以平穩(wěn)的運(yùn)行,還需要有效的實(shí)現(xiàn)既定的功能性和非功能性的目標(biāo),所以軟件系統(tǒng)需要實(shí)現(xiàn)一種自適應(yīng)機(jī)制對上述內(nèi)容進(jìn)行保障.
(1)基于體系結(jié)構(gòu)的方法
該類方法就是以體系結(jié)構(gòu)為中心,將其應(yīng)用在自適應(yīng)機(jī)制中.Rainbow框架是最著名框架之一,它將自適應(yīng)軟件系統(tǒng)分為體系結(jié)構(gòu)層和管理系統(tǒng)層,管理系統(tǒng)層實(shí)現(xiàn)自適應(yīng)機(jī)制控制的調(diào)整[21].馬曉星等[22]設(shè)計(jì)了一種在分布式環(huán)境下,使用內(nèi)置運(yùn)行時(shí)體系結(jié)構(gòu),來保證系統(tǒng)具有自適應(yīng)能力.
(2)基于需求工程的方法
BERRY[23]提出自適應(yīng)系統(tǒng)需要建立4個(gè)層次的需求工程方法.第一層方法主要建立用戶或開發(fā)者對于目標(biāo)問題的描述.第二層主要目標(biāo)是建立支持自適應(yīng)的需求功能的方式.第三層側(cè)重于在第二層的基礎(chǔ)上,描述工程師的對于問題的決策需求.第四層是實(shí)現(xiàn)基于需求工程的軟件自適應(yīng)機(jī)制.
(3)基于控制論的方法
在該類方法中,軟件的自適應(yīng)將由基本的控制循環(huán)完成實(shí)現(xiàn).KEPHART[24]在MAPE的控制循環(huán)中建立一個(gè)共享的知識環(huán)節(jié),與其他4個(gè)環(huán)節(jié)聯(lián)通,實(shí)現(xiàn)了自適應(yīng)過程.TZIALLAS等[25]提出了基于Bunge本體和Bunge-Wand-Weber(BWW)模型來構(gòu)建自主計(jì)算系統(tǒng),實(shí)現(xiàn)了系統(tǒng)的自我管理和調(diào)整.
(4)基于程序范式的方法
基于程序范式的方法是在軟件的代碼層面借助程序范式,利用編程的方式實(shí)現(xiàn)軟件系統(tǒng)的自適應(yīng)控制,運(yùn)行中對系統(tǒng)自身的結(jié)構(gòu)和參數(shù)進(jìn)行調(diào)整.HAESEVOET[26]采用面向切面的編程(aspect-oriented programming, AOP)技術(shù)實(shí)現(xiàn)軟件的自適應(yīng).
(5)反射方法
反射是指軟件通過感知環(huán)境或者用戶需求變化,然后調(diào)整系統(tǒng)的結(jié)構(gòu)和行為的一種方式.基于反射的自適應(yīng)機(jī)制會通過在運(yùn)行中獲取軟件狀態(tài)信息和環(huán)境狀態(tài)信息,對系統(tǒng)的結(jié)構(gòu)以及上下文信息進(jìn)行調(diào)整.Frank等[27]提出一種基于鏡像反射和服務(wù)計(jì)劃的技術(shù)來支持自適應(yīng)系統(tǒng)的開發(fā).ACAR等[28]介紹增量計(jì)算的技術(shù),底層系統(tǒng)以動態(tài)依賴關(guān)系表示數(shù)據(jù)合控制之間的依賴,實(shí)現(xiàn)系統(tǒng)的動態(tài)調(diào)整.
(6)其他方法[29-34]
除了上述的幾種方法外,還有學(xué)者從不同的角度出發(fā)構(gòu)建自適應(yīng)機(jī)制.例如,孫躍坤等[33]提出構(gòu)建組織員模型和動態(tài)組機(jī)制,實(shí)現(xiàn)分布式系統(tǒng)的自適應(yīng).MOCTEZUMA等[34]利用基因型-表型作圖和概率分布的策略,開發(fā)了一種自適應(yīng)機(jī)制來提高遺傳算法對動態(tài)組合問題的性能.還有部分學(xué)者關(guān)注自適應(yīng)系統(tǒng)的中間構(gòu)件、如何降低軟件開發(fā)成本等方面研究自適應(yīng)問題.
(1)基于策略/規(guī)則的自適應(yīng)決策方法
基于策略/規(guī)則的決策方法[5]屬于基于方案選擇思想的自適應(yīng)決策方法.該類方法在執(zhí)行前期需要靜態(tài)定義大量的策略信息,根據(jù)自適應(yīng)事件的信息建立明確的決策目標(biāo),然后利用算法,比較分析獲得的事件信息對某種候選策略的滿足程度,再選擇出最優(yōu)策略.但是這種方法存在一種缺陷,該類方法一般是在離線狀態(tài)下進(jìn)行決策,所以在系統(tǒng)運(yùn)行前需要靜態(tài)定義所有的候選策略.一旦預(yù)定策略出現(xiàn)錯(cuò)誤,那么系統(tǒng)的自適應(yīng)演化結(jié)果就會受到影響.因此,目前也存在一些支持策略離線修正的研究工作.例如:有學(xué)者采用馬爾科夫決策模型和成本效益評估函數(shù)實(shí)現(xiàn)自適應(yīng)策略本身的不斷修改與進(jìn)化[29].
(2)基于強(qiáng)化學(xué)習(xí)的自適應(yīng)決策方法
強(qiáng)化學(xué)習(xí)最早由1954年的Minsky提出,是一種實(shí)時(shí)、在線的學(xué)習(xí)方法.通過智能體(Agent)以“試錯(cuò)”的方式進(jìn)行學(xué)習(xí),通過環(huán)境交互,完成動作后獲得獎(jiǎng)賞反饋信息的循環(huán),目標(biāo)是使智能體獲得最大的獎(jiǎng)賞.強(qiáng)化學(xué)習(xí)任務(wù)通常用MDP來描述.目前很多學(xué)者將強(qiáng)化學(xué)習(xí)引入自適應(yīng)等領(lǐng)域,用以解決系統(tǒng)的在線學(xué)習(xí)和策略選擇等問題.MIRCEA[30]提出一種基于強(qiáng)化學(xué)習(xí)的決策樹的構(gòu)建方法,適用于頻繁更改訓(xùn)練集且分類規(guī)則隨時(shí)間變化的問題,使系統(tǒng)可以進(jìn)行更好的自適應(yīng)調(diào)整.文獻(xiàn)[31]提出一種基于強(qiáng)化學(xué)習(xí)的方法,實(shí)現(xiàn)系統(tǒng)在線管理體系結(jié)構(gòu),該方法可以利用經(jīng)驗(yàn)自動獲取環(huán)境變化和配置之間的映射實(shí)現(xiàn)自我管理.因?yàn)樵诋?dāng)前開放環(huán)境下存在不確定性和復(fù)雜性,所以毛新軍等[32]提出基于Agent和組織抽象的方法支持開放環(huán)境下軟件系統(tǒng)的開發(fā),并借助強(qiáng)化學(xué)習(xí)的方法解決運(yùn)行中不可預(yù)測的情況.
關(guān)聯(lián)規(guī)則算法可以挖掘出數(shù)據(jù)之間隱含的關(guān)系,利用反饋優(yōu)化方法將分析得到的關(guān)聯(lián)關(guān)系反饋給Agent,對策略庫進(jìn)行更新,保障自適應(yīng)的演化過程.AGRAWAL等[35]于1993年基于頻集理論的遞推方法提出了關(guān)聯(lián)規(guī)則問題.目前關(guān)聯(lián)規(guī)則的主要研究方向有:1)基于數(shù)據(jù)維度的角度,例如:經(jīng)典的Apriori算法, PARK等[36]提出的DHP算法, 生效于Apriori算法的剪枝過程中,生成每個(gè)事務(wù)k+1項(xiàng)集,生成Hash表,改變候選集的生成過程;2)基于數(shù)據(jù)的抽象層次的角度;3)基于概念層次的角度,學(xué)者們提出多種善于發(fā)現(xiàn)一層或者多層關(guān)聯(lián)信息的算法,例如:HAN等提出的ML-T2L1及其變種ML-T1LA;4)基于變量類別的角度,在該角度下, 關(guān)聯(lián)規(guī)則分為布爾型關(guān)聯(lián)規(guī)則和多值屬性關(guān)聯(lián)規(guī)則.SHAPIRO等首先提出多值屬性關(guān)聯(lián)規(guī)則挖掘問題.其他關(guān)聯(lián)規(guī)則算法:并行挖掘關(guān)聯(lián)規(guī)則,圖像的關(guān)聯(lián)規(guī)則發(fā)現(xiàn)算法等.
本文提出3層的自適應(yīng)控制循環(huán),如圖1所示.本文在2層MAPE框架[37]的基礎(chǔ)上,采用不同的自適應(yīng)決策方法進(jìn)行調(diào)整,并且增加一層反饋優(yōu)化層,用于策略信息調(diào)整和系統(tǒng)的主動演進(jìn).使用該框架可以解決單層自適應(yīng)框架在運(yùn)行過程中面對復(fù)雜環(huán)境變化時(shí),無法更好進(jìn)行自適應(yīng)調(diào)整的問題.本框架使用基于策略的決策方法處理局部信息,對感知到的事件信息進(jìn)行快速決策.但是基于策略的方法無法解決未知的上下文信息,所以使用基于強(qiáng)化學(xué)習(xí)的方法處理全局變化信息,根據(jù)事件信息無法匹配到合適策略,進(jìn)行在線決策,并更新策略庫.保證在資源有限的情況下,空間飛行器系統(tǒng)針對內(nèi)部和外部環(huán)境的變化,可以進(jìn)行更快的自適應(yīng)調(diào)整.并且框架中加入反饋優(yōu)化Agent模塊,系統(tǒng)可以定期根據(jù)捕獲到的Agent狀態(tài),環(huán)境情況,軟件參數(shù)以及最終的動作信息進(jìn)行數(shù)據(jù)挖掘,找到存在關(guān)聯(lián)的數(shù)據(jù)項(xiàng),進(jìn)行分析后,反饋到策略庫中進(jìn)行優(yōu)化,更新策略庫中的規(guī)則和約束信息,并且可以更新靜態(tài)定義和在線生成新策略信息中的并不完全合適的條件信息和約束關(guān)系.使得飛行器在太空執(zhí)行任務(wù)時(shí),可以根據(jù)外界復(fù)雜的環(huán)境變化和內(nèi)部的環(huán)境變化信息,進(jìn)行快速的自適應(yīng)反應(yīng)和策略調(diào)整.
圖1 空間飛行器控制軟件的自適應(yīng)框架Fig.1 Adaptive framework of spacecraft control software
面向空間飛行器的自適應(yīng)框架分為空間飛行器控制系統(tǒng)層和自適應(yīng)邏輯層.空間飛行器控制層是不具備自適應(yīng)能力的信息系統(tǒng),包含信息系統(tǒng)的基本功能,由多個(gè)子系統(tǒng)組成,子系統(tǒng)中包含多個(gè)組件;自適應(yīng)邏輯層是使系統(tǒng)實(shí)現(xiàn)自適應(yīng)能力的重要組成,是由盟主Agent、功能Agent以及反饋優(yōu)化Agent組成的3層控制框架.上層的盟主Agent用于管理系統(tǒng)的全局變化,進(jìn)行自適應(yīng)調(diào)度和在線策略生成.盟主Agent中包含完整的MAPE控制循環(huán),決策模塊包含ECA規(guī)則庫以及基于強(qiáng)化學(xué)習(xí)的方法.初始的ECA規(guī)則庫中包含靜態(tài)定義的策略,在感知到未知事件信息,無法進(jìn)行決策時(shí),基于強(qiáng)化學(xué)習(xí)的方法進(jìn)行在線決策,并將新生成的決策信息加入ECA規(guī)則庫中.為了對環(huán)境感知到的信息進(jìn)行決策,分析模塊會對環(huán)境信息進(jìn)行建模,分析出事件信息后傳遞給決策模塊.使用基于強(qiáng)化學(xué)習(xí)的方法進(jìn)行在線決策生成,降低了系統(tǒng)開銷,節(jié)省系統(tǒng)資源.并且可以對復(fù)雜的運(yùn)行環(huán)境做出及時(shí)反應(yīng).下層的功能Agent主要用于進(jìn)行局部調(diào)整,該Agent的決策模塊主要包含ECA規(guī)則庫,采用預(yù)先定義好的策略庫,對分析獲取到的事件信息,進(jìn)行決策.降低了資源占用,并且可以對已知的事件信息做出快速決策反應(yīng),實(shí)現(xiàn)飛行器的自適應(yīng)過程.反饋優(yōu)化Agent感知系統(tǒng)的運(yùn)行狀態(tài)、環(huán)境信息以及動作執(zhí)行的狀態(tài),并暫時(shí)存儲在信息庫中,當(dāng)信息庫中的數(shù)據(jù)量達(dá)到初始設(shè)定的閾值時(shí),再進(jìn)行關(guān)聯(lián)規(guī)則挖掘.規(guī)則挖掘模塊主要包含F(xiàn)P Growth關(guān)聯(lián)規(guī)則挖掘算法以及結(jié)果分析,最后得到有效的,精煉的關(guān)聯(lián)信息.因?yàn)橥诰虻玫降慕Y(jié)果并不都是有用的,所以在進(jìn)行結(jié)果分析后,選擇有效信息進(jìn)行反饋執(zhí)行,更新已有的策略庫和其中的約束條件信息.
下層的功能Agent使用基于策略的方法可以對空間飛行器系統(tǒng)感知到的局部變化做出快速決策反應(yīng),保障飛行器在太空中的任務(wù)執(zhí)行.當(dāng)上層盟主Agent對全局進(jìn)行調(diào)整,將產(chǎn)生多個(gè)決策信息進(jìn)行選擇,然后下層的功能Agent協(xié)作執(zhí)行.當(dāng)面對未知的上下文狀態(tài)時(shí),進(jìn)行在線決策.中層的反饋優(yōu)化Agent定期對獲取到的數(shù)據(jù)信息進(jìn)行挖掘,并對結(jié)果信息進(jìn)行分析反饋,保證策略的正確性與實(shí)時(shí)性,實(shí)現(xiàn)空間飛行器系統(tǒng)的動態(tài)的可靠的自適應(yīng)演化.
本文在下層功能Agent中采用ECA規(guī)則描述自適應(yīng)策略,ECA規(guī)則語法簡單,可以用簡潔的語言表述執(zhí)行過程中策略的觸發(fā)和執(zhí)行過程,減少大量的策略解析時(shí)間.ECA規(guī)則中事件(Event)作為感知環(huán)節(jié)和分析環(huán)節(jié)的監(jiān)控和分析對象.經(jīng)感知分析環(huán)節(jié),對事件相應(yīng)的策略進(jìn)行觸發(fā),然后將該決策信息的條件(Condition)在下一環(huán)節(jié)進(jìn)行比對檢測,選取最合適的策略交給執(zhí)行環(huán)節(jié),執(zhí)行環(huán)節(jié)實(shí)現(xiàn)該策略對應(yīng)的動作(Action),完成自適應(yīng)調(diào)整.
空間飛行器在太空中執(zhí)行任務(wù)時(shí),將系統(tǒng)狀態(tài),環(huán)境信息等無法直接觀測的信息轉(zhuǎn)化為一組可觀測的指標(biāo),將系統(tǒng)運(yùn)行過程中給感知到的環(huán)境信息映射為實(shí)際的值,映射的信息集合形成實(shí)時(shí)的系統(tǒng)狀態(tài).系統(tǒng)狀態(tài)S表明一個(gè)當(dāng)前系統(tǒng)可感知到的所有信息轉(zhuǎn)換為指標(biāo)的數(shù)據(jù)集,定義為
S={Sid,I},
I={i1,i2,i3,…,in},
其中Sid是系統(tǒng)狀態(tài)標(biāo)識,I表示感知到的信息轉(zhuǎn)化得到的指標(biāo)集合,in是單個(gè)屬性信息轉(zhuǎn)化得到的指標(biāo).
空間飛行器通過感知環(huán)境的變化進(jìn)行自適應(yīng)調(diào)整,將變化信息映射為事件,每個(gè)事件都表明一種系統(tǒng)或者環(huán)境變化,事件E定義為
E={Eid,Ename,Etype,Econtent,Epriori}
其中Eid為事件的唯一標(biāo)識,Ename為事件的名稱;Etype為事件類型,分為內(nèi)部變化事件(CPU,硬盤,內(nèi)存等)和外部變化事件(太陽引力,地心引力,隕石等);Econtent為事件內(nèi)容,是由感知到的環(huán)境信息變換映射到的事件信息,是事件的核心,Epriori表示事件的優(yōu)先級.
經(jīng)過感知分析環(huán)節(jié),得到事件的信息后觸發(fā)對應(yīng)的策略,然后比對該策略的條件信息,Econtent中的條件信息定義為:
Econtent={cid,cname,ctype,cdescription…}
其中,cid為條件的ID信息,cname為條件名,ctype為條件的類型,cdescription為條件的描述信息,還有一些條件的檢查對象,運(yùn)行規(guī)則的計(jì)算表達(dá)式等.
決策環(huán)節(jié)對決策的條件信息進(jìn)行核實(shí)后,選出最符合滿意度的策略,送入執(zhí)行環(huán)節(jié),執(zhí)行策略對應(yīng)的動作(Action),動作A定義為:
A={Aid,Aname,Aobject,Atype,Aoperation…}
其中,Aid為 動作的ID信息,Aname為動作名稱,Aobject為動作的執(zhí)行對象,Atype為動作的具體操作類型,Aoperation為具體動作信息,其余動作信息還包括動作的執(zhí)行條件,也就是上述的對應(yīng)條件信息等.
一條完整的ECA規(guī)則包括事件,條件以及動作信息,并且是一種松散的低耦合的關(guān)系,事件、條件以及動作各自定義,然后自由結(jié)合,形成完整的ECA規(guī)則.所以事件與動作之間的關(guān)系會隨著系統(tǒng)的需求而動態(tài)調(diào)整,完成系統(tǒng)在復(fù)雜環(huán)境下的自適應(yīng)演化過程.
本文在盟主Agent中采取基于強(qiáng)化學(xué)習(xí)的自適應(yīng)決策方法進(jìn)行全局變化調(diào)整和在線策略學(xué)習(xí),該組件處于上層的盟主Agent中,Agent包含基于強(qiáng)化學(xué)習(xí)的方法和ECA規(guī)則庫,其中核心為基于強(qiáng)化學(xué)習(xí)的方法.該方法將強(qiáng)化學(xué)習(xí)的實(shí)時(shí)性、在線學(xué)習(xí)等特點(diǎn)引入到自適應(yīng)決策方法中,用于發(fā)現(xiàn)過期或者規(guī)則庫中未定義的決策信息.強(qiáng)化學(xué)習(xí)的基本框架[38]如圖2所示.
圖2 強(qiáng)化學(xué)習(xí)基本框架Fig.2 Basic framework of reinforcement learning
強(qiáng)化學(xué)習(xí)過程是一個(gè)感知,動作和反饋的重復(fù)循環(huán)過程.如果Agent的某個(gè)嘗試動作得到環(huán)境的一個(gè)正反饋,那么Agent在下次嘗試中會趨向于再次選用這個(gè)動作.Agent智能體的目標(biāo)是在每個(gè)離散狀態(tài)下,得到最佳策略,使得期望的折扣獎(jiǎng)賞和最大.強(qiáng)化學(xué)習(xí)的過程是一個(gè)重復(fù)試探的過程,Agent選擇一個(gè)a作用于環(huán)境,環(huán)境接受a后狀態(tài)s發(fā)生變化,同時(shí)產(chǎn)生一個(gè)r(獎(jiǎng)或懲)反饋給Agent,Agent根據(jù)反饋信號和環(huán)境當(dāng)前狀態(tài)s再選擇下一個(gè)a,選擇的原則是使受到正反饋的概率增大.選擇的a不僅影響立即反饋值r,而且間接影響環(huán)境下一時(shí)刻的狀態(tài)s及最終的反饋值.
Agent智能體作為學(xué)習(xí)系統(tǒng),學(xué)習(xí)過程是通過獲取環(huán)境的當(dāng)前狀態(tài)信息s,并對環(huán)境采取試探行為a,然后獲取當(dāng)前環(huán)境對于此次試探行為的獎(jiǎng)賞r,并更新為新的環(huán)境狀態(tài)信息.如果某動作a導(dǎo)致環(huán)境正的反饋信息,那么Agent在試探中就會優(yōu)先選擇該動作;反之,趨勢減弱.Agent通過在產(chǎn)生動作和獲得的反饋獎(jiǎng)賞信息之間不斷交互,不斷修改從狀態(tài)到動作的映射策略,最終獲得最優(yōu)策略.所以Agent在線學(xué)習(xí)一個(gè)策略π就是從狀態(tài)S→獎(jiǎng)賞A之間的交互,使得獲得的回報(bào)值最大.但是Agent采取的動作的長期影響不容忽視,所以需要定義一個(gè)目標(biāo)函數(shù)來表明從長久的角度確定什么是優(yōu)的動作,通常用狀態(tài)的值函數(shù)或狀態(tài)-動作對的值函數(shù)表達(dá)此目標(biāo)函數(shù),函數(shù)有以下3種形式:
(1)
(2)
(3)
其中γ為折扣因子,反映了Agent對未來回報(bào)的重視程度,值越大,表示執(zhí)行該動作得到的回報(bào)對Agent越重要.rt是Agent從環(huán)境狀態(tài)st到st+1轉(zhuǎn)移后得到的獎(jiǎng)賞值,可以為正、負(fù)或零.式(1)是無限折扣模型,是Agent考慮未來的獎(jiǎng)賞,以折扣表示,累計(jì)在值函數(shù)中;式(2)為有限水平回報(bào)模型,只考慮未來m步的獎(jiǎng)賞和;式(3)為平均獎(jiǎng)賞模型,它考慮的是未來長期的平均獎(jiǎng)賞.所以確定了目標(biāo)函數(shù)之后,可以根據(jù)式(4)確定最優(yōu)策略.
π*=argmaxVπ(s), ?s∈S
(4)
強(qiáng)化學(xué)習(xí)在線策略生成的過程中,根據(jù)環(huán)境狀態(tài)s,選擇動作a,再獲得反饋獎(jiǎng)賞r.所以選擇生成動作是強(qiáng)化學(xué)習(xí)的核心要素.目前常用的動作選擇策略有ε貪婪策略、Boltzmann分布機(jī)制.本文選擇ε貪婪策略作為動作選擇策略,Agent以ε的概率選擇目前已知的最優(yōu)動作,1-ε隨機(jī)選擇可執(zhí)行的動作,隨著逐漸增大ε值,在保證收斂速度的情況下,也避免了陷入局部最優(yōu)解的局面.
強(qiáng)化學(xué)習(xí)通過與環(huán)境的交互在線生成策略,可以對復(fù)雜環(huán)境下的變化信息進(jìn)行自適應(yīng)調(diào)整.
控制軟件系統(tǒng)在進(jìn)行反饋優(yōu)化調(diào)整的過程中,可以對感知和收集到的狀態(tài)信息與決策信息進(jìn)行挖掘,搜索關(guān)聯(lián)關(guān)系以對策略庫中的信息進(jìn)行調(diào)整.而傳統(tǒng)的Apriori算法和它的優(yōu)化算法在演算過程中可能會產(chǎn)生大量的候選集.當(dāng)候選集的長度為1的頻集有10000個(gè)的時(shí)候,長度為2的候選集的數(shù)量就會呈指數(shù)級的增長,其候選集的數(shù)量將會超過107.當(dāng)生成一個(gè)更長的規(guī)則時(shí),中間候選集數(shù)量會更加龐大.而空間飛行器在獨(dú)立的空間中進(jìn)行作業(yè),面臨資源受限的情況,所以需要一種比Apriori更節(jié)省資源并且速度更快的算法,本文在反饋優(yōu)化Agent中使用FP Growth算法可以更好的符合這一條件.
FP Growth算法是一種單維的布爾關(guān)聯(lián)規(guī)則算法.所以Agent需要對感知到的數(shù)據(jù),環(huán)境參數(shù),系統(tǒng)狀態(tài),硬件變化以及最后執(zhí)行的動作信息進(jìn)行映射,映射為離散型的數(shù)據(jù)量,再進(jìn)行數(shù)據(jù)挖掘.FP Growth算法引入FP樹構(gòu)造路徑,它采用一種分而治之的策略,讀取映射后的事務(wù)信息,然后映射到FP樹中的一條分支,由于不同的事務(wù)會存在相同的元素,所以部分分支可能有重疊,但分支重疊的越多,F(xiàn)P樹結(jié)構(gòu)獲得的壓縮效果越好.第一次讀取完數(shù)據(jù)庫后,會產(chǎn)生一棵FP樹.隨后將產(chǎn)生的FP樹分化成一些條件庫,每個(gè)庫和一個(gè)長度為1的頻集有關(guān),再對這些條件庫進(jìn)行規(guī)則挖掘.從而避免重復(fù)掃描數(shù)據(jù)庫中的數(shù)據(jù),并且候選集數(shù)量明顯減少,性能相比較傳統(tǒng)的Apriori算法要好兩個(gè)數(shù)量級.反饋優(yōu)化模塊的基本的運(yùn)行流程如下:
(1)感知環(huán)節(jié),感知策略執(zhí)行后的動作信息、系統(tǒng)狀態(tài)信息以及環(huán)境信息,并進(jìn)行數(shù)據(jù)處理.
(2)存儲處理過后的數(shù)據(jù)信息,并對當(dāng)前存儲的數(shù)據(jù)信息量進(jìn)行計(jì)數(shù),當(dāng)數(shù)量到達(dá)設(shè)置的閾值時(shí),進(jìn)行數(shù)據(jù)挖掘的操作.
(3)統(tǒng)計(jì)數(shù)據(jù)集中各個(gè)元素出現(xiàn)的次數(shù),將低于最小支持度的元素刪除,然后將每條事務(wù)信息中的的元素按頻數(shù)排序,這些元素都是頻繁項(xiàng).
(4)用更新后的數(shù)據(jù)集,構(gòu)建FP樹,同時(shí)更新頭指針表.
(5)根據(jù)構(gòu)建的FP樹,將其分化為若干個(gè)條件庫,以長度為1的頻繁項(xiàng)為結(jié)尾與每個(gè)條件庫進(jìn)行關(guān)聯(lián).
(6)對新生成的條件庫進(jìn)行關(guān)聯(lián)規(guī)則挖掘,計(jì)算支持度和置信度.
(7)對結(jié)果進(jìn)行處理,保留其中有價(jià)值的信息,并分析是否更新規(guī)則庫中的信息.
通過反饋優(yōu)化Agent進(jìn)行數(shù)據(jù)挖掘后,更新規(guī)則庫中的信息,使得系統(tǒng)在自適應(yīng)過程中,面對復(fù)雜的環(huán)境信息,可以將事件信息與條件進(jìn)行匹配度更高的比較,可以更加快速的匹配的最合適的策略信息,完成空間飛行器在執(zhí)行任務(wù)時(shí)完成可靠的自適應(yīng)演化.
空間飛行器控制軟件在太空中完成自適應(yīng)演化對人類探索、開發(fā)和利用太空意義重大.本文通過引用兩種決策方式,對局部和全局變化進(jìn)行把控調(diào)節(jié),并使用一種反饋優(yōu)化方法進(jìn)行策略調(diào)整.在合理分配資源的基礎(chǔ)上,使飛行器完成自適應(yīng)演化.該方法也可以應(yīng)用在大規(guī)模網(wǎng)構(gòu)軟件下,利用基于數(shù)據(jù)驅(qū)動的反饋優(yōu)化方法實(shí)現(xiàn)自適應(yīng)系統(tǒng)的主動演化,但是仍需要進(jìn)行一步研究.作者后續(xù)將進(jìn)一步將軟件演化理論和技術(shù)應(yīng)用到自適應(yīng)演化中,提高航天器控制系統(tǒng)在自適應(yīng)演化的過程中的可靠性,為航天器進(jìn)行可靠的自適應(yīng)演化提供支持和指導(dǎo).