田玉玲,任正坤
(太原理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,太原 030024)
隨著電子技術(shù)的快速發(fā)展,現(xiàn)代電子系統(tǒng)的規(guī)模越來(lái)越大,復(fù)雜性越來(lái)越高。該設(shè)備任何部分的故障都可能會(huì)導(dǎo)致部分故障或整個(gè)設(shè)備的故障,對(duì)這種設(shè)備的維修和保養(yǎng)十分復(fù)雜,耗費(fèi)人力物力。在電子設(shè)備中,模擬電路和模擬器件更是不可缺少的,而且極易發(fā)生故障。根據(jù)統(tǒng)計(jì),電子設(shè)備的混合電路中,數(shù)字電路占到80%,但是發(fā)生故障的部分80%是出自模擬電路,由此可見(jiàn),模擬電路的故障診斷是電路故障診斷的瓶頸,制約著整個(gè)混合電子系統(tǒng)故障診斷技術(shù)的發(fā)展[1]。因此,研究模擬電路故障診斷方法,具有十分重要的意義。
近年來(lái),人工智能和計(jì)算機(jī)技術(shù)等學(xué)科的快速發(fā)展,成為故障診斷技術(shù)的理論基礎(chǔ),基于知識(shí)的故障診斷方法也逐步產(chǎn)生。這種方法并不需要某個(gè)對(duì)象的精確數(shù)學(xué)模型,并且也有一些“智能”的特點(diǎn),所以,這種方法具有很強(qiáng)的生命力?;谥R(shí)的故障診斷主要包括以下幾種方法:神經(jīng)網(wǎng)絡(luò)故障診斷方法;故障樹(shù)故障診斷方法;專(zhuān)家系統(tǒng)故障診斷方法和數(shù)據(jù)融合的故障診斷方法等。在多種故障診斷方法中,基于知識(shí)的故障診斷方法是一個(gè)比較新穎的方法,具有很大的發(fā)展?jié)摿?,目前已有不少?yīng)用,但也存在很多局限性。
為了提高算法的性能,許多基于人工免疫理論的算法都用于集群。人工免疫系統(tǒng),是一種適應(yīng)性學(xué)習(xí)系統(tǒng),現(xiàn)有的生物免疫系統(tǒng)有許多有用的功能,如學(xué)習(xí)、記憶、自我調(diào)節(jié)等。到目前為止,一些算法或模型,包括否定選擇算法、克隆選擇算法和免疫網(wǎng)絡(luò)都在研究解決聚類(lèi)問(wèn)題。
基于生物免疫理論,提出一個(gè)新的免疫模型。與傳統(tǒng)的免疫算法或模型相比,這種模式更加適應(yīng)和有效。
從計(jì)算機(jī)科學(xué)的角度來(lái)看,生物免疫系統(tǒng)是一個(gè)高度并行、分布、自適應(yīng)和自組織的系統(tǒng),它具有很強(qiáng)的學(xué)習(xí)、識(shí)別、記憶和特征提取能力[2]。
免疫細(xì)胞是指所有參與免疫應(yīng)答或與免疫應(yīng)答有關(guān)的細(xì)胞,免疫系統(tǒng)最重要的生理功能是對(duì)抗原分子的識(shí)別和應(yīng)答,這種識(shí)別作用是由免疫細(xì)胞完成的。免疫細(xì)胞主要有兩大類(lèi),一類(lèi)為淋巴細(xì)胞,主要為T(mén)淋巴細(xì)胞和B淋巴細(xì)胞,前者參與細(xì)胞免疫,后者參與體液免疫。另一類(lèi)是噬菌細(xì)胞,它們是能夠攝取和消化微生物并遷移進(jìn)它們組織內(nèi)部的白細(xì)胞,它具有攝取抗原、處理抗原并將處理后的抗原通過(guò)一定方式提呈給淋巴細(xì)胞的功能。免疫分子在機(jī)體免疫系統(tǒng)的發(fā)育、免疫細(xì)胞的活化和免疫應(yīng)答中起著十分重要的作用。它們?cè)谡T導(dǎo)和調(diào)節(jié)免疫方面也發(fā)揮著重要作用。
為定量的描述免疫系統(tǒng),Perelson和Oster(1979)提出所有的免疫事件都在形狀空間V中發(fā)生。形狀空間是抗體和與之結(jié)合的分子之間的結(jié)合程度,以及描述抗原可能性區(qū)域的多維空間,本質(zhì)上它是免疫系統(tǒng)所確認(rèn)的屬性的抽象,在數(shù)學(xué)上,這種屬性被描述成L維字符串或向量。形態(tài)空間模型可以描述出抗體和抗原之間的相互作用。在形狀空間中的每一個(gè)檢測(cè)器和抗原都有一個(gè)特定的位置,而且檢測(cè)器或抗原的變異會(huì)改變它們?cè)谛螤羁臻g中的位置[2]。
在生物免疫系統(tǒng)的理論和形態(tài)空間模型上,許多學(xué)者提出不同的免疫算法和相應(yīng)的探測(cè)器(個(gè)體)的生成方法。Forrest首先對(duì)否定選擇算法[3]用窮舉檢測(cè)器生成算法,建立合格的檢測(cè)器集合。該算法將正常的網(wǎng)絡(luò)行為定義為自體,將異常的網(wǎng)絡(luò)行為定義為非自體集。隨機(jī)產(chǎn)生候選檢測(cè)器,每個(gè)檢測(cè)器和自體集合中的元素進(jìn)行比較,看是否匹配成功。如果成功,則放棄該檢測(cè)器;如果匹配不成功,這就是一個(gè)合格的檢測(cè)器,并將其放入合格的檢測(cè)器集合中。De Castro借鑒生物免疫系統(tǒng)的克隆選擇原理的基礎(chǔ)上提出了最早的克隆選擇算法[4]。該算法利用克隆操作,以確保種群的高親和力,同時(shí),通過(guò)變異操作來(lái)找到更優(yōu)個(gè)體。在尋找更優(yōu)個(gè)體的效果方面,克隆選擇算法已大大改善,因?yàn)樵撍惴ㄔ试S使用新的個(gè)體,以取代個(gè)別低親和力的個(gè)體,所以能在一定程度上保持個(gè)體的多樣性。然而,由于隨機(jī)生成候選種群將不可避免地產(chǎn)生較多冗余個(gè)體,特別是當(dāng)進(jìn)行大規(guī)模種群的克隆變異時(shí),模式識(shí)別匹配的規(guī)模迅速擴(kuò)大,計(jì)算量增加,大大降低了檢測(cè)系統(tǒng)的效率。
模糊免疫算法依據(jù)在親和力基礎(chǔ)上的隸屬度函數(shù)的結(jié)果,對(duì)抗原群體實(shí)施變閾值檢測(cè),并對(duì)不同隸屬度的抗原群體施以不同的閾值進(jìn)行檢測(cè)。在這個(gè)模型中,B細(xì)胞是一個(gè)以聚類(lèi)數(shù)據(jù)為目的,集群繪制出的一個(gè)簇群,一個(gè)簇群對(duì)應(yīng)一個(gè)B細(xì)胞。檢測(cè)器被稱(chēng)為抗體,抗原是樣本數(shù)據(jù)的聚類(lèi)。
整個(gè)算法過(guò)程分為兩個(gè)階段:模型生成階段和模糊免疫階段。
定義1 設(shè)U=[0,1],F(xiàn)(U)是U 上的Fuzzy冪集合,如果映射
定義2 對(duì)于非空集合U,?映射A:U→[0,1]稱(chēng)為U的模糊子集,A(·)稱(chēng)為A的隸屬度函數(shù)。
定義3 對(duì)于二進(jìn)制空間的模式匹配問(wèn)題,已知自體集
定義任意候選抗體Nj對(duì)任意抗體Sj的Euclid貼近度為
式(1)定義的測(cè)度可以描述單個(gè)抗體之間“接近”程度,式(2)定義的測(cè)度能夠反映單個(gè)抗體在形態(tài)空間中的位置與整個(gè)自體集合的接近程度。模糊數(shù)學(xué)中對(duì)問(wèn)題采用“高”、“低”、“中”等帶有不確定性的描述方式。
首先,根據(jù)故障診斷中的實(shí)際問(wèn)題來(lái)定義形態(tài)空間V,下面所有的學(xué)習(xí)和故障識(shí)別問(wèn)題(包括檢測(cè)器生成階段定義的B細(xì)胞、B細(xì)胞分泌的抗體和識(shí)別階段引入的識(shí)別樣本)都發(fā)生在形態(tài)空間V內(nèi)。接下來(lái),通過(guò)已知故障的類(lèi)別來(lái)定義B細(xì)胞,并確定出所有B細(xì)胞的中心C(x1,x2,…,xL)(L 為形狀空間的維數(shù))和半徑R。B細(xì)胞的定義與B細(xì)胞中心和半徑的確定都根據(jù)專(zhuān)家的經(jīng)驗(yàn)來(lái)確定,這樣既能提高算法學(xué)習(xí)和識(shí)別過(guò)程的效率,又可以較好地利用專(zhuān)家的專(zhuān)業(yè)知識(shí)。抗體的分泌數(shù)量為:
式中:R為該B細(xì)胞的半徑;T為形狀空間跨度(即形狀空間的直徑);K為抗體分泌常數(shù)。B細(xì)胞和抗體在形狀空間中的關(guān)系如圖1所示。
檢測(cè)半徑由抗體和B細(xì)胞中心之間的距離決定??贵w檢測(cè)半徑的計(jì)算公式為:
式中:R為該抗體所屬B細(xì)胞的半徑;r為抗體的檢測(cè)半徑,并且r=R/L(L為常數(shù));d為抗體與B細(xì)胞中心的距離。如圖2所示,距離B細(xì)胞中心越近的抗體,其檢測(cè)范圍越大。
圖1 B細(xì)胞和抗體表示
為了保證對(duì)故障檢測(cè)的有效性,B細(xì)胞內(nèi)的抗體要經(jīng)過(guò)耐受過(guò)程,即進(jìn)行克隆變異。首先,計(jì)算B細(xì)胞的中心與其分泌的抗體之間的距離,并且將抗體按照升序排列。然后對(duì)所有抗體進(jìn)行克隆,因?yàn)槊總€(gè)B細(xì)胞分泌的抗體數(shù)量為N,所以抗體克隆出的總數(shù)為:
式中:β是繁殖因子;N是現(xiàn)有抗體的總數(shù)量。變異率與抗體到B細(xì)胞之間的距離成反比關(guān)系。變異后的抗體為:
式中:Bn是變異前的抗體;C是抗體所屬的B細(xì)胞的中心,μ為變異系數(shù)(0≤μ≤1)。將抗體的克隆變異過(guò)程和抗體的評(píng)估過(guò)程分別在每個(gè)B細(xì)胞內(nèi)重復(fù)執(zhí)行后,如果抗體能夠在B細(xì)胞內(nèi)監(jiān)測(cè)出足夠的有效空間,那么B細(xì)胞的耐受完成。
圖2 新的B細(xì)胞的生成
模糊免疫算法是基于人工免疫系統(tǒng),引入模糊數(shù)學(xué)的知識(shí),將已有的免疫算法改進(jìn)后得到的。由于有了模糊推理過(guò)程,其結(jié)果更加清晰,容易理解。模糊免疫算法主要包括以下六個(gè)步驟:記憶細(xì)胞演化、親和突變、免疫選擇、募集新成員、新抗體群和模糊推理。這個(gè)算法可以確保依據(jù)概率收斂到全局最優(yōu),并且在過(guò)程中不斷隨機(jī)搜索進(jìn)化。模糊免疫算法的基本原理流程如圖3所示。
圖3 模糊免疫算法的基本原理流程圖
模糊免疫算法的主要過(guò)程和步驟如下:
1)參數(shù)的確定:m,nl,nn,mn。其中m表示有多少抗體類(lèi)型,nl表示二進(jìn)制編碼長(zhǎng)度,mn表示抗體數(shù)量,nn表示抗原數(shù)量。
2)取數(shù)量50個(gè),隨機(jī)生成初始的抗體集合。
3)親和力的計(jì)算。將親和力定義為抗體和抗原之間歐氏距離的倒數(shù)。親和力的計(jì)算見(jiàn)公式(7):
式中:Ab為抗體;Ag為抗原;F(Ab)為抗體Ab的親和力。
4)克隆變異。在抗體群中,尋找出親和力較強(qiáng)的抗體進(jìn)行變異,同時(shí)克隆產(chǎn)生下一代。
5)條件判斷。判斷此時(shí)是否滿足迭代終止的條件,如果滿足條件,則可得到親和力較高的抗體并停止;否則返回步驟3)。
6)計(jì)算模糊隸屬度。得到高親和力的抗體后,計(jì)算測(cè)試樣本的模糊隸屬度。如式(8)所示:
式中:i=1,2,…,N;,j=1,2,…,c;Xi表示抗體群中第i個(gè)測(cè)試樣本;Mj表示高親和力抗體的第j個(gè)特征向量;μj(Xi)表示第i個(gè)測(cè)試樣本對(duì)第j個(gè)特征向的隸屬度大??;b是模糊程度常數(shù),一般取b=5。
采用某裝備的一個(gè)弱信號(hào)放大電路,其中有2個(gè)運(yùn)放芯片HA1774稱(chēng)為U9和U10,8個(gè)電阻:R1=2kΩ,R2=20kΩ,R3=R4=4kΩ,R5=20kΩ,R6=2kΩ,R7=20kΩ,R8=10kΩ;2個(gè)電容:C1=10 μF,C2=5μF;電源電壓U6=0.1V,其頻率為50 Hz。
在正常元件的容差范圍內(nèi),設(shè)置5類(lèi)故障:F1—R2短路,F(xiàn)2—R7短路,F(xiàn)3—R7短路而 C1開(kāi)路,F(xiàn)4—R7短路而C2開(kāi)路,F(xiàn)5—R5、R7、C1短路。
應(yīng)用蒙特卡洛法,對(duì)這5類(lèi)故障各產(chǎn)生10個(gè)樣本,將50個(gè)樣本組成抗原群,對(duì)各樣本群分別進(jìn)行訓(xùn)練和學(xué)習(xí),對(duì)應(yīng)各故障狀態(tài)分別產(chǎn)生最優(yōu)抗體,再對(duì)每類(lèi)故障各獨(dú)立測(cè)取5個(gè)故障向量組成測(cè)試樣本。
在直流電狀態(tài)下,進(jìn)行電路仿真,測(cè)量電路節(jié)點(diǎn)處的電壓值U1,U2,U3和U4,并按照順序組成特征向量。
對(duì)隨機(jī)產(chǎn)生的抗體群進(jìn)行學(xué)習(xí),經(jīng)過(guò)20代進(jìn)化后,形成的最優(yōu)抗體及其親和力如表1所示。
輸入25個(gè)測(cè)試樣本,計(jì)算其隸屬度,檢驗(yàn)最優(yōu)抗體的性能,測(cè)試樣本分類(lèi)結(jié)果輸出如表2所示。
表1 最優(yōu)抗體及親和力
表2 測(cè)試樣本分類(lèi)結(jié)果輸出
依次計(jì)算測(cè)試樣本對(duì)各故障類(lèi)型中心的隸屬度大小,借助模糊數(shù)學(xué)理論中的分類(lèi)規(guī)則和隸屬度概念,將測(cè)試樣本歸入隸屬度最大的故障類(lèi)型。
下邊給出了傳統(tǒng)免疫算法對(duì)本文仿真電路及其故障的診斷結(jié)果,并與本文提出的模糊免疫分類(lèi)算法診斷結(jié)果進(jìn)行了比較。
在MATLAB 6.0中分別進(jìn)行兩種算法設(shè)計(jì),運(yùn)行于AMD Turion 64×2的計(jì)算機(jī)上,共設(shè)5類(lèi)故障,每類(lèi)故障各選取10個(gè)訓(xùn)練樣本,共計(jì)50個(gè)訓(xùn)練樣本。二者比較的結(jié)果如圖4和圖5所示。
圖4 算法誤報(bào)率
比較結(jié)果分析:相對(duì)于傳統(tǒng)免疫算法,模糊免疫算法增加了抗體之間的貼近度計(jì)算,搜索復(fù)雜度并沒(méi)有提高,算法的檢測(cè)率和誤報(bào)率性能明顯優(yōu)于傳統(tǒng)免疫算法。
圖5 算法檢測(cè)率
通過(guò)上述模擬電路故障診斷實(shí)例及與傳統(tǒng)免疫算法比較結(jié)果表明,人工免疫理論可用于解決計(jì)算問(wèn)題,如數(shù)據(jù)挖掘等。隨著研究的發(fā)展,人工免疫系統(tǒng)的性能將得到提高。本文介紹的模糊免疫算法,與傳統(tǒng)免疫算法不同,是一種新型的免疫算法,也為未來(lái)人工免疫理論的研究提供了一種新的方法,本文的實(shí)驗(yàn)也驗(yàn)證了其效率。
[1]殷桂梁,肖麗萍,等.免疫原理用于異步電動(dòng)機(jī)故障診斷的研究[J].中國(guó)電機(jī)工程學(xué)報(bào),2003,26(3):132-133.
[2]李濤.計(jì)算機(jī)免疫學(xué)[M].北京:電子工業(yè)出版社,2004:6-11.
[3]Forest S,Perelson A S,Allen L,et al.Self/noneself discrimination in a computer[C]∥IEEE Symposium on Research in security and Privacy,CA,IEEE Computer society Press,1994:221-231.
[4]De Castro L N,Timmis J.Artificial Immune Systems:A New Computational Intelligence Approach[M].London:Springer,2002:3-9.
[5]劉繼忠,王波.AIS超變異模式識(shí)別技術(shù)及 Matlab語(yǔ)言實(shí)現(xiàn)[J].計(jì)算機(jī)時(shí)代,2005,5:22-23.
[6]楊士元.模擬系統(tǒng)的故障診斷與可靠性設(shè)計(jì)[M].北京:清華大學(xué)出版社,1993.
[7]Kim J,Bentley P J.Towards an Artificial Immune System for Network Intrusion Detection:An Investigation of Dynamic Clonal Selection[C]∥Proceedings of Congress on Evolutionary Computation,2002:1015-1020.
[8]Bradley D,Tyrell A.Immunotronics:Hardware fault tolerance inspired by the immune system[C]∥Proceedings of the 3rd International conference on Evoluable Systems(ICES2000),London:1801,Springer-verlag,2000.
[9]P S Andrews,J Timmis.Adaptable lymphocytes for artificial immune systems[C]∥Proceeding of the 7th International Conference on Artificial Immune Systems.Phuket,Tailand,2008:376-386.
[10]Gong M G,Jiao L C,Du H F,etc.Multiobjective immune algorithm with nondominated neighbor-based selection[J],Evolutionary Computation,2008,16(2):225-255.