馬長(zhǎng)剛,李 青,陳 明
(空軍勤務(wù)學(xué)院航空彈藥系,江蘇 徐州 221000)
基于混沌人工魚(yú)群優(yōu)化粗糙集的制導(dǎo)彈藥故障診斷
馬長(zhǎng)剛,李 青,陳 明
(空軍勤務(wù)學(xué)院航空彈藥系,江蘇 徐州 221000)
利用粗糙集進(jìn)行制導(dǎo)彈藥故障診斷時(shí),決策表中連續(xù)屬性離散化區(qū)間分割不合理,導(dǎo)致故障診斷誤診率較高?;诖?,提出了一種利用混沌人工魚(yú)群算法優(yōu)化粗糙集決策表離散化的方法,然后根據(jù)離散化結(jié)果進(jìn)行屬性約簡(jiǎn),提取了故障診斷規(guī)則表,有效地簡(jiǎn)化了故障診斷。通過(guò)實(shí)例證明,與傳統(tǒng)的將人工魚(yú)群和粗糙集理論相結(jié)合的故障診斷方法相比,該方法更簡(jiǎn)便、更有效。
混沌人工魚(yú)群;粗糙集理論;屬性約簡(jiǎn);故障診斷
航空制導(dǎo)彈藥功能結(jié)構(gòu)復(fù)雜多樣,電子元器件較多,且大多都是精密元器件,使得制導(dǎo)彈藥故障產(chǎn)生機(jī)理異常復(fù)雜,給故障診斷帶來(lái)很大的困難。在利用粗糙理論對(duì)彈藥數(shù)據(jù)進(jìn)行處理進(jìn)而進(jìn)行故障診斷的過(guò)程中,存在測(cè)試數(shù)據(jù)量龐大、屬性約簡(jiǎn)困難、連續(xù)屬性離散化導(dǎo)致診斷不準(zhǔn)確的問(wèn)題。
粗糙集理論在1982年由波蘭科學(xué)家Z.Pawlak創(chuàng)立,是一種用于知識(shí)表達(dá)和數(shù)據(jù)挖掘的工具,它可以將知識(shí)以決策表的形式展現(xiàn)出來(lái),并通過(guò)規(guī)定的約簡(jiǎn)算法實(shí)現(xiàn)知識(shí)的分類(lèi)、整理和數(shù)據(jù)挖掘[1]。
人工魚(yú)群算法是一種模仿魚(yú)群行為方式的隨機(jī)搜索優(yōu)化算法,采用自上而下的設(shè)計(jì)方法,主要利用魚(yú)群覓食、群聚追尾等行為,從構(gòu)造單條魚(yú)的行為做起,通過(guò)魚(yú)群中個(gè)體的局部尋優(yōu)求得全局最優(yōu)的目的[2]。
本文基于制導(dǎo)彈藥內(nèi)部某電子部件的測(cè)試數(shù)據(jù),將混沌人工魚(yú)群算法和粗糙集理論結(jié)合起來(lái),應(yīng)用于航空制導(dǎo)彈藥的故障診斷。以決策表中屬性的分類(lèi)質(zhì)量為優(yōu)化目標(biāo),利用混沌運(yùn)動(dòng)的遍歷性改進(jìn)傳統(tǒng)人工魚(yú)群來(lái)實(shí)現(xiàn)對(duì)決策表測(cè)試數(shù)據(jù)集中各屬性的離散化,進(jìn)而對(duì)其進(jìn)行約簡(jiǎn),并采用啟發(fā)式的約簡(jiǎn)算法提取了故障診斷規(guī)則表來(lái)簡(jiǎn)化故障診斷。
1.1 連續(xù)屬性離散化
定義:信息系統(tǒng)S=(U,A,V,f)。其中論域U={x1,x2,…,xn}是非空的有限元素集合,xi(1≤i≤n)稱(chēng)為對(duì)象;屬性集合A={a1,a2,…,an}也是非空的有限集,ai(1≤i≤n)稱(chēng)為屬性,V是屬性值的集合,Va是屬性a的值域。又因A=C∪D,C稱(chēng)為條件屬性,D是決策屬性,f為U×A→V的映射,它指定了U中每一個(gè)對(duì)象x的屬性值。
(1)
離散化的本質(zhì)就是利用選取的斷點(diǎn)來(lái)對(duì)條件屬性構(gòu)成的空間進(jìn)行劃分,把這m維條件屬性空間劃分成有限個(gè)區(qū)域,使得每個(gè)區(qū)域中的對(duì)象的決策值相同[4]。
1.2 屬性約簡(jiǎn)
定義1:R是由對(duì)象屬性集合A確定的等價(jià)關(guān)系,若P?R,且P≠O,則P中的全部等價(jià)關(guān)系的交集稱(chēng)為P上的不可分辨關(guān)系,記作iind(P)[3]:
(2)
定義2:對(duì)于一給定的決策系統(tǒng)S=(U,A,V,f),條件屬性集合C的約簡(jiǎn)是C的一個(gè)非空子集P,如果它滿(mǎn)足:?a∈P,a都是D不可省略的,而且PP(D)=PC(D),則稱(chēng)P是C的一個(gè)約簡(jiǎn),C中所有約簡(jiǎn)的集合記作rred(C)。
定義3:條件屬性C中不可省略屬性的集合成為C的核,記作ccore(C):
ccore(C)=∩rred(C)
(3)
定義4:決策屬性D對(duì)條件屬性C的依賴(lài)度[2]為:
(4)
PC(D)是等價(jià)類(lèi)U/D關(guān)于C正域,γC(D)表達(dá)了決策屬性對(duì)條件屬性的依賴(lài)程度,是衡量數(shù)據(jù)分類(lèi)能力的一個(gè)重要指標(biāo),本文就是利用它來(lái)作為人工魚(yú)行為選擇和決定區(qū)間合并與否的一個(gè)判斷依據(jù)。
人工魚(yú)群算法是一種群智能隨機(jī)搜索優(yōu)化算法,其基本思想是模擬魚(yú)類(lèi)的覓食行為、追尾行為和群聚行為等,通過(guò)每條人工魚(yú)的局部尋優(yōu)達(dá)到全局尋優(yōu)[5]。人工魚(yú)群算法具有對(duì)初始值和參數(shù)設(shè)置要求不高、收斂速度快和全局收斂性好等優(yōu)點(diǎn),但往往由于固定步長(zhǎng)和隨機(jī)行為的存在,當(dāng)人工魚(yú)接近最優(yōu)點(diǎn)時(shí),收斂速度會(huì)下降并且很難得到精確的最優(yōu)解[6],因此為克服上面提到的人工魚(yú)群算法的不足之處,本文結(jié)合混沌運(yùn)動(dòng)的遍歷性、隨機(jī)性、確定性等特征,并引入反饋策略來(lái)改進(jìn)傳統(tǒng)的人工魚(yú)群算法,以提高人工魚(yú)群算法在對(duì)連續(xù)屬性離散化過(guò)程中的收斂精度和收斂速度。
2.1 人工魚(yú)基本行為描述
假設(shè)n條人工魚(yú)當(dāng)前的狀態(tài)為X=(x1,x2,…,xi,xn)其中xi(i=1,2,…,n)為尋優(yōu)變量,人工魚(yú)總數(shù)為n,SStep是人工魚(yú)移動(dòng)的最大步長(zhǎng),VVisual是人工魚(yú)視野,NTry為嘗試次數(shù),δ是擁擠度因子,任意2條人工魚(yú)i、j之間的距離為dij=|Xi-Xj|,f(x)表示人工魚(yú)當(dāng)前食物濃度。除此之外,設(shè)置公告牌用來(lái)記錄最優(yōu)人工魚(yú)個(gè)體的狀態(tài)Xbest表示的位置,每次人工魚(yú)行動(dòng)完后,將當(dāng)前自身狀態(tài)與公告牌狀態(tài)進(jìn)行比較,如果當(dāng)前狀態(tài)優(yōu)于公告牌狀態(tài),立即更新公告牌狀態(tài),反之不變。
(1) 隨機(jī)行為
隨機(jī)行為比較簡(jiǎn)單,就是在人工魚(yú)視野范圍內(nèi)隨機(jī)選擇一個(gè)狀態(tài),朝著這個(gè)隨機(jī)選擇的狀態(tài)移動(dòng),設(shè)人工魚(yú)i當(dāng)前狀態(tài)為Xi,在其視野范圍VVisual內(nèi)隨機(jī)選擇一個(gè)狀態(tài)Xj。
(2) 覓食行為
覓食行為是人工魚(yú)向食物逐漸增多的方向快速游去的一種行為,即趨向較優(yōu)適應(yīng)度。設(shè)當(dāng)前人工魚(yú)i當(dāng)前狀態(tài)為Xi,在其感知范圍內(nèi)隨機(jī)選擇一個(gè)狀態(tài)Xj,Xj=Xi+VVisual·R(),其中R()為隨機(jī)數(shù),在其感知范圍內(nèi)分別計(jì)算2個(gè)狀態(tài)下的食物濃度,如果f(Xj)>f(Xi),則向狀態(tài)Xj的方向前進(jìn)一步[4]:
(5)
反之,再重新選擇狀態(tài)Xj,判斷是否滿(mǎn)足前進(jìn)條件,反復(fù)嘗試NTry后,若還不滿(mǎn)足前進(jìn)條件,則隨機(jī)移動(dòng)一步進(jìn)入下一個(gè)狀態(tài):
(6)
(3) 群聚行為
人工魚(yú)的群聚是模擬自然界中魚(yú)在游動(dòng)過(guò)程中為保證群體的生存和躲避危害會(huì)自然地群聚的行為。設(shè)人工魚(yú)i當(dāng)前狀態(tài)為Xi,先探索當(dāng)前視野范圍內(nèi)的伙伴數(shù)目nf和中心位置Xc。若伙伴中心有較多食物且不太擁擠(即Yc/nf>δYi),則朝著伙伴的中心位置前進(jìn)一步:
(7)
否則執(zhí)行覓食行為。
(4) 追尾行為
追尾行為是指在魚(yú)群游動(dòng)過(guò)程中,當(dāng)其中部分魚(yú)發(fā)現(xiàn)食物時(shí),其鄰近的伙伴會(huì)尾隨其快速尋得食物。設(shè)人工魚(yú)i當(dāng)前狀態(tài)為Xi,先探索當(dāng)前視野范圍內(nèi)的伙伴中f(Xj)最優(yōu)的伙伴Xj。若Yj/nf>δYi,則該伙伴的狀態(tài)具有較高的食物濃度并且周?chē)惶珦頂D,則朝Xi的方向前進(jìn)一步:
(8)
否則執(zhí)行覓食行為。
2.2 混沌搜索
混沌現(xiàn)象是非線性動(dòng)力學(xué)系統(tǒng)中特有的一種現(xiàn)象,存在于絕大多數(shù)非線性系統(tǒng)中?;煦绗F(xiàn)象是不含外加隨機(jī)因素的完全確定性系統(tǒng)所表現(xiàn)出介于規(guī)則和隨機(jī)之間的一種隨機(jī)行為[7]。由于其具有遍歷性,因此加入混沌搜索的人工魚(yú)群算法能夠避免人工魚(yú)長(zhǎng)時(shí)間待在一個(gè)局部最優(yōu)值附近,從而提高算法的全局收斂性和尋優(yōu)效率。
假設(shè)當(dāng)前人工魚(yú)i的狀態(tài)為Xi,則混沌搜索的步驟如下:
(2) 由(1)中產(chǎn)生的CXi(k),利用混沌映射函數(shù)CXi+1(k)=μ·CXi(k)·[1-CXi(k)]求出CXi+1(k),μ為混沌控制參數(shù)。
(3) 根據(jù)(1)推導(dǎo)可知,Xi+1(k)=Xmin+CXi+1(k)(Xmax-Xmin),可求得下一狀態(tài)Xi+1(k)。
(4) 計(jì)算狀態(tài)Xi+1下的食物濃度,若狀態(tài)優(yōu)于公告牌最優(yōu)狀態(tài),更新公告牌,否則令k=k+1,返回(2)。
2.3 基于混沌人工魚(yú)群的連續(xù)屬性離散化
所謂連續(xù)屬性離散化就是在特定的連續(xù)屬性的值域范圍內(nèi)設(shè)定若干個(gè)離散化劃分點(diǎn),將屬性的值域范圍劃分成一些離散化區(qū)間。在利用粗糙集理論進(jìn)行故障診斷決策時(shí),如果對(duì)條件屬性分得較細(xì),會(huì)降低粗糙集屬性約簡(jiǎn)效率,如果劃分得較粗放,可能會(huì)導(dǎo)致決策表中不相容信息的增加,使離散化后的結(jié)果不能反映實(shí)際情況[7-8]。因此,基于上述人工魚(yú)基本行為模型的描述以及混沌搜索等的相關(guān)定義,來(lái)實(shí)現(xiàn)對(duì)粗糙集中條件屬性的離散化。
本文用離散化后的粗糙集的分類(lèi)質(zhì)量作為混沌人工魚(yú)群算法的尋優(yōu)函數(shù)(具體在定義4中已解釋),在保持各條件屬性對(duì)決策屬性的支持度不變的前提下,依次對(duì)每個(gè)屬性進(jìn)行離散化。具體算法步驟[9-10]如下:
步驟1:初始化參數(shù)。設(shè)定人工魚(yú)群的基本參數(shù),包括人工魚(yú)群的個(gè)體數(shù)量n,每條人工魚(yú)的初始位置、最大移動(dòng)步長(zhǎng)SStep,人工魚(yú)視野VVisual,嘗試次數(shù)NTry,擁擠度因子δ、混沌控制參數(shù)μ,并在屬性值值域范圍內(nèi)初始化屬性分割區(qū)間。
步驟2:將第i(i=1,2,…,n)個(gè)條件屬性Ci與決策屬性D輸入到人工魚(yú)群算法中,根據(jù)人工魚(yú)當(dāng)前狀態(tài)進(jìn)行區(qū)間離散,再用粗糙集理論計(jì)算當(dāng)前條件屬性Ci對(duì)決策屬性D的支持度γCi(D),重復(fù)多次迭代找到γCi(D)的最大穩(wěn)定值,實(shí)現(xiàn)對(duì)相鄰區(qū)間的有效合并,得到盡可能少的離散化斷點(diǎn)[11]。
步驟3:若i 步驟4:記錄當(dāng)前各人工魚(yú)狀態(tài),根據(jù)當(dāng)前狀態(tài)確定離散區(qū)間,再利用粗糙集理論進(jìn)行屬性約簡(jiǎn)[12]。 故障現(xiàn)象是與航空制導(dǎo)彈藥結(jié)構(gòu)密切相關(guān)的,故障的發(fā)生往往是由多個(gè)原因造成的,目前對(duì)制導(dǎo)彈藥故障特性進(jìn)行研究通常是根據(jù)彈藥的測(cè)試數(shù)據(jù)進(jìn)行的。本文只針對(duì)制導(dǎo)彈藥某關(guān)鍵部位故障進(jìn)行診斷,利用上述混沌人工魚(yú)群優(yōu)化后的粗糙集理論來(lái)對(duì)各屬性測(cè)試數(shù)據(jù)進(jìn)行離散化,提高屬性約簡(jiǎn)的效率和約簡(jiǎn)質(zhì)量,促進(jìn)故障診斷能力[13]。 本例中,以航空制導(dǎo)彈藥電子部件P為研究對(duì)象,將故障序號(hào)作為論域,該電子部件發(fā)生故障的所有故障原因(即特征數(shù)據(jù))作為條件屬性C,決策屬性D即為故障現(xiàn)象,建立航空制導(dǎo)彈藥某電子部件故障診斷決策表,如表1所示。 表1 原始故障診斷決策表 表1中:C1、C4單位為Hz;C2、C3單位為mV。 表1有30組測(cè)試數(shù)據(jù),其中包括18組正常數(shù)據(jù),12組故障數(shù)據(jù)通過(guò)決策表的離散化、屬性約簡(jiǎn)得到簡(jiǎn)化的診斷規(guī)則,實(shí)現(xiàn)故障診斷。這里將影響該部件健康性能的4個(gè)屬性C1~C4的屬性值作為粗糙集故障分類(lèi)的條件屬性集合C的元素,選擇故障與健康作為決策屬性元素的集合D。 基于上述所建決策表,采用本文提出的基于混沌人工魚(yú)群優(yōu)化的離散化方法對(duì)故障決策表各條件屬性進(jìn)行離散化,借助MATLAB編寫(xiě)了混沌人工魚(yú)算法各個(gè)行為選擇函數(shù)、目標(biāo)函數(shù)以及主函數(shù)的M文件,算法基本參數(shù)設(shè)置為:人工魚(yú)總數(shù)n=100,人工魚(yú)移動(dòng)的最大步長(zhǎng)SStep=1.3,人工魚(yú)視野VVisual=2,嘗試次數(shù)NTry=10,擁擠度因子δ=0.3,混沌控制參數(shù)μ=2.8,由此得到離散化后的決策表,如表2所示。 表2 離散化后故障診斷決策表 表2中第5列中0代表正常,1代表故障(其他同)。 參考基于屬性重要性的啟發(fā)式約簡(jiǎn)方法[9],由MATLAB編寫(xiě)的粗糙集規(guī)則提取程序可知,約簡(jiǎn)屬性為{C1,C2,C3},有效刪除了冗余屬性C4。整理分析約簡(jiǎn)后的的決策表,合并吸收相同規(guī)則,刪除冗余的規(guī)則,最終得到的故障規(guī)則如表3所示。 表3 故障規(guī)則表 為了驗(yàn)證最終提取出來(lái)的故障診斷規(guī)則表的可信度,另收集到3組航空制導(dǎo)彈藥電子部件P的相關(guān)歷史測(cè)試數(shù)據(jù)以及真實(shí)故障診斷結(jié)果,如表4所示。利用本文提出的方法進(jìn)行故障診斷,首先建立原始決策表,然后將原始決策表根據(jù)前面提出的離散化方法進(jìn)行離散化,然后采用上面提取出的診斷規(guī)則表進(jìn)行故障診斷。第1組數(shù)據(jù)符合規(guī)則2(3 --)和規(guī)則4(--1),診斷結(jié)果為故障;同樣第2組數(shù)據(jù)不符合上面故障規(guī)則,診斷結(jié)果為正常,第3組數(shù)據(jù)符合故障規(guī)則5(--3),診斷結(jié)果為故障。3組結(jié)果與真實(shí)情況完全相符,更加證明了本文提取出來(lái)的的故障規(guī)則的有效性。 表4 驗(yàn)證測(cè)試數(shù)據(jù)以及真實(shí)故障診斷結(jié)果 本文考慮到傳統(tǒng)人工魚(yú)群算法在離散化粗糙集決策表中的數(shù)據(jù)時(shí)最優(yōu)值精確度不高,無(wú)法遍歷所有狀態(tài)的特點(diǎn),利用混沌搜索將其改進(jìn),克服不足,在保證離散化后的決策表的分類(lèi)質(zhì)量的基礎(chǔ)上,使得約簡(jiǎn)結(jié)果更為精簡(jiǎn),證明了方法的可靠性和有效性。同時(shí)結(jié)合航空制導(dǎo)彈藥某電子部件真實(shí)的歷史故障診斷數(shù)據(jù),利用粗糙集屬性約簡(jiǎn)算法提取了該電子部件的故障診斷規(guī)則,驗(yàn)證結(jié)果表明,本文提取出的故障診斷規(guī)則能更有效地解決該部件故障診斷問(wèn)題,同時(shí)可以在此基礎(chǔ)上推廣到整彈的故障診斷,為其故障規(guī)則提取奠定了基礎(chǔ)。 [1] 李青,馬長(zhǎng)剛,辛明睿.基于粗糙集理論的裝備故障數(shù)據(jù)處理方法研究[C]//中國(guó)計(jì)算機(jī)自動(dòng)測(cè)量與控制技術(shù)協(xié)會(huì):第二十五屆測(cè)試與故障診斷技術(shù)研討會(huì),南京,2016:201-205. [2] 付波,黃英偉.改進(jìn)人工魚(yú)群優(yōu)化粗糙集的水電機(jī)組故障診斷[J].湖北工業(yè)大學(xué)學(xué)報(bào),2012,27(1):92-95. [3] 吳明芬,許勇,劉志明.一種基于屬性重要性的啟發(fā)式約簡(jiǎn)算法[J].小型微型計(jì)算機(jī)系統(tǒng),2007,28(8):1452-1455. [4] 江銘炎,袁東風(fēng).人工魚(yú)群算法及其應(yīng)用[M].北京:科學(xué)出版社,2012. [5] 蘇錦旗,吳慧欣,薛惠鋒.基于人工魚(yú)群算法的聚類(lèi)挖掘[J].計(jì)算機(jī)仿真,2009,26(2):147-150. [6] 侯劍,劉方愛(ài),冷嚴(yán),等.一種新的人工魚(yú)群協(xié)同優(yōu)化算法[J].計(jì)算機(jī)仿真,2015,32(9):267-270. [7] 王靜云,常安定,郭建青,等.基于混沌人工魚(yú)群混合算法確定含水層參數(shù)[J].中國(guó)農(nóng)村水利水電,2013(3):27-29. [8] 蘇錦旗,吳慧欣,薛惠鋒.基于人工魚(yú)群算法的聚類(lèi)挖掘[J].計(jì)算機(jī)仿真,2009,26(2):147-150. [9] 常紅巖,蒙祖強(qiáng).一種新的決策粗糙集啟發(fā)式屬性約簡(jiǎn)算法[J].計(jì)算機(jī)科學(xué),2016,43(6):218-222. [10] 姚衛(wèi)紅,方仁孝,張旭東.基于混合人工魚(yú)群優(yōu)化 SVR 的交通流量預(yù)測(cè)[J].大連理工大學(xué)學(xué)報(bào),2015(6):632-637. [11] 李小培,張洪偉,鄒書(shū)蓉.一種改進(jìn)的人工魚(yú)群聚類(lèi)算法[J].成都信息工程學(xué)院學(xué)報(bào),2014,29(5):485-490. [12] 劉洪波,鄭博一,蔣博齡.基于人工魚(yú)群神經(jīng)網(wǎng)絡(luò)的城市時(shí)用水量預(yù)測(cè)方法[J].天津大學(xué)學(xué)報(bào),2015(4):373-378. [13] 羅周晟,周少武.基于人工魚(yú)群的OIF-Elman神經(jīng)網(wǎng)絡(luò)在電機(jī)故障診斷中的應(yīng)用[J].產(chǎn)業(yè)與科技論壇,2014(4):52-53. FaultDiagnosisforGuidedAmmunitionBasedonTheMethodChaoticArtificialFishSwarmAlgorithmOptimizingRoughSetTheory MA Chang-gang,LI Qing,CHEN Ming (Department of Aviation ammunition Air Force Logistics College,Xuzhou 221000,China) The error rate of fault diagnosis is higher because the discrete interval partitioning with continuous attributes in decision tables is not reasonable when the rough set theory is used to diagnose the faults of guided ammunition.This paper puts forward a kind method to optimize decision tables discretization of rough set by using chaotic artificial fish swarm algorithm,then realizes the attribute reduction according to discretization result,and extracts the fault diagnosis rule table,which effectively simplifies the fault diagnosis.Finally,an example is used to validate:compared with traditional fault diagnosis method combining artificial fish swarm and rough set theory,the proposed algorithm is simpler and more effective. chaotic artificial fish swarm algorithm;rough set theory;attribute reduction;fault diagnosis E927 :A :CN32-1413(2017)04-0071-05 10.16426/j.cnki.jcdzdk.2017.04.018 2017-03-233 故障診斷實(shí)例
4 結(jié)束語(yǔ)