武書彥,鄒建華,吳青娥,許明喆,胡博
(1.西安交通大學(xué) 電子與信息工程學(xué)院, 陜西 西安 710049;2.河南牧業(yè)經(jīng)濟(jì)學(xué)院 信息工程學(xué)院, 河南 鄭州 450046;3.鄭州輕工業(yè)大學(xué) 電氣信息工程學(xué)院, 河南 鄭州 450002)
單位模糊自動機(jī)在模糊自動機(jī)半群中的某一時(shí)刻會對應(yīng)多種不同的狀態(tài),每一種狀態(tài)都對應(yīng)著不同的可信度,這樣模糊自動機(jī)半群就能與現(xiàn)實(shí)世界和客觀事物比較貼合,能夠比較真實(shí)地反映現(xiàn)實(shí)世界。但是半群自動機(jī)的推導(dǎo)等價(jià)并不容易實(shí)行,即便是對復(fù)雜程度較低的有限半群自動機(jī)也有一定的困難。
在神經(jīng)網(wǎng)絡(luò)技術(shù)和模糊技術(shù)發(fā)展的背景下,模糊自動機(jī)得以快速發(fā)展并取得了廣泛的應(yīng)用[1-3]。在現(xiàn)代戰(zhàn)爭方面的應(yīng)用尤為突出,面對狡猾的敵人如何識別真相是一個難題;又如列車前方障礙物的識別、汽車防撞雷達(dá)、無人機(jī)的目標(biāo)探測、潛艇的障礙物閃避等,運(yùn)用模糊神經(jīng)網(wǎng)絡(luò)自動機(jī)(Fuzzy neural network automaton, FNNA)[4-6]能夠輕松達(dá)到靈活、快速、準(zhǔn)確地做出判斷處理的效果。而且在通信領(lǐng)域FNNA中模糊自動機(jī)發(fā)揮的作用將越來越大。模糊推理在社會的諸多領(lǐng)域起到了重要的作用,尤其是控制系統(tǒng)以及人工智能領(lǐng)域。具有不確定性數(shù)據(jù)之間的相似性特點(diǎn)通??梢阅:c閉區(qū)間將它們的特征表示出來,根據(jù)這種特性,有些學(xué)者提出了區(qū)間分析方法[7-12]。為了提高自動機(jī)的診斷效果,可以將其與模糊集的方法相結(jié)合,提出模糊自動機(jī)半群的模糊推理,并將其應(yīng)用于機(jī)器故障診斷中。YAGER[13]在多值模糊關(guān)系研究基礎(chǔ)上,進(jìn)一步探究了兩種形式的模糊推理,分別是簡單多值模糊推理和多重區(qū)間值的模糊推理。模糊推理進(jìn)行時(shí),影響因素的大小可能會產(chǎn)生不同的結(jié)果,因此可以對影響大的因素分配較大的權(quán)重,影響小的因素分配較小權(quán)重,這是一種符合人的正常思維過程的想法。
在前期的工作中,已討論過一種類型的FDFA代數(shù)系統(tǒng),即格。格〈M,∨|∪,∧|∩〉具有兩個二元運(yùn)算。在本文中,將討論具有一個二元運(yùn)算的代數(shù)系統(tǒng),即半群。這些理論在自然科學(xué)以及應(yīng)用科學(xué)領(lǐng)域都起到了不小的作用。例如,在信息安全與編碼理論中就用到半群。
設(shè)F=[0,1],G是Q中的模糊集,Gλ為集合G的截集Gλ={x∈Q|G(x)≥λ,λ∈F},顯然Gλ?Q。定義λG={G(x)|G(x)≥λ,λ∈F,x∈Q},顯然λG?F。
定義1對FDFAM輸入Σ*中的一個字符序列ω后,以某一隸屬度μ,由Q的每一個狀態(tài)p都要分別變到另外一個狀態(tài)q,因此,(ω,μ)引導(dǎo)出狀態(tài)集合Q到Gu上的一個變換δ(qi,ω,μ)={qj},?μ∈F,即Q上的一個變換。所有由(ω,μ)引導(dǎo)出的變換“·”,即{qj}·{ql}={qn}。若FDFAM(M,·)滿足結(jié)合律,即對于任何m1= (Q1,Σ1,δ1,q01,G1,F1),δ1(qi1,a1,μ1)={qj1};m2= (Q2,Σ2,δ2,q02,G2,F2),δ2(qi2,a2,μ2)={qj2};m3= (Q3,Σ3,δ3,q03,G3,F3),δ3(qi3,a3,μ3)={qj3};m1,m2,m3∈M,有m1·(m2·m3)=(m1·m2)·m3,即{qj1}·({qj2}·{qj3})=({qj1}·{qj2})·{qj3},則稱FDFAM(M,·)為半群,有時(shí)就稱M為半群自動機(jī)。
例1由FDFA引導(dǎo)出的一個確定的有限態(tài)自動機(jī)(DFA)D=(Q,Σ,δa,q0,Gλ),這里定義δa(q,ω)=p?δ(q,ω,a)=p,q,p∈Q,ω∈Σ*,a∈F。則FDFA到DFA的變換構(gòu)成半群,且(D,∩)和(D,∪)也都是半群。
定義2將FDFA與M進(jìn)行二元運(yùn)算·,它們作為具有單位元的半群,相當(dāng)于對所有m1= (Q1,Σ1,δ1,q01,G1,F1),m2= (Q2,Σ2,δ2,q02,G2,F2),m3= (Q3,Σ3,δ3,q03,G3,F3),m1,m2,m3∈M,有m1·(m2·m3)=(m1·m2)·m3,并且有元素e∈M,對于任何m1∈M,有m1·e=e·m1=m1,則稱(M,·)為含單元半群。
FDFAM中存在e= (Q,Σ,δ,q0,G,F),定義δ(q,ω,μ)=q,這里ω∈Σ*,q∈Q,μ∈F和G0=Q。
顯然,含單元半群的單位元是唯一的。
在半群(M,·)中,規(guī)定mn=m·m·…·m。因此,對于任何正整數(shù)l,n,?m∈M,有ml·mn=ml+n,(ml)n=mln。
若(M,·)是含單元半群,規(guī)定m0=e(單位元)。
假如(M,·)的二元運(yùn)算“·”在半群自動機(jī)以及含單元半群自動機(jī)過程中是可進(jìn)行交換的,即?m1,m2∈M,m1·m2=m2·m1,則稱(M,·)是可換半群或含單元半群自動機(jī)。
在半群自動機(jī)(M,·)中,如果元素m滿足m·m=m,則稱m是冪等的。若m為冪等元,則mn=m,每個含單元半群至少包含一個冪等元素,即單位元。
定義3設(shè)(M,·)是一個半群自動機(jī),這里M={(Qn,Σn,δn,q0n,Gn,Fn)|n∈N},對應(yīng)δn(qi,a,μ)={qj};Mi={(Qi,Σi,δi,q0i,Gi,Fi)|i∈N},對應(yīng)δi(qk,ω,λ)={ql},這里,qj∈Gn,ql∈Gi。假設(shè)Mi作為M的有元子集,可得Qi?Qn,Σi?Σn,δi(ql,ω,λ)?δn(qi,a,μ),q0i=q0n,Gi?Gn,F(xiàn)i?Fn,Mi進(jìn)行二元運(yùn)算“·”是密閉進(jìn)行的,即對于?m1,m2∈Mi,有m1·m2∈Mi,即{qj}·{ql}={qn}?Gi,則稱(Mi,·)是(M,·)的子合單元半群自動機(jī)。
定義4設(shè)(M,·)是一個含單元半群自動機(jī),M1是M的子集,如果M1對運(yùn)算·是封閉的,且M的單位元e∈M1,則稱(M1,·)是(M,·)的子群自動機(jī)。
從定義可以看出,子半群自動機(jī)本身是一個半群(含單元半群)自動機(jī)。
定理1對于任何可換的含單元半群FDFA (M,·),M的冪等元的集構(gòu)成一個子含單元半群自動機(jī)。
證設(shè)T是M中的冪等元的集,因?yàn)閱挝辉猠是冪等元,所以e∈T。對于?t1,t2∈T,于是t1·t1=t1,t2·t2=t2,由于(M,·)可交換,故
(t1·t2)·(t1·t2)=(t1·t2)·(t2·t1)=t1·(t2·t2)·t1=t1·t2·t1=t1·t1·t2=t1·t2,因此,t1·t2∈T,即(T,·)是(M,·)的子含單元半群。
定義5設(shè)(M,·)和(T,*)是兩個半群自動機(jī),映射f:M→T稱為M到T的半群自動機(jī)同態(tài)映射,假如對于?m1,m2∈M,有
f(m1·m2)=f(m1)*f(m2),
假如f作為自動機(jī)的滿映射,就將f稱作自動機(jī)的滿同態(tài);假如f作為自動機(jī)的單映射,就將f稱作自動機(jī)的單一同態(tài);假如f作為自動機(jī)的雙映射,就可以將f作為M到T的同構(gòu)映射。如果半群自動機(jī)M和T之間存在同構(gòu)映射,則稱M和T同構(gòu),記為M?T。
定理2設(shè)f是FDFA(M,·)到(T,*)半群同態(tài)映射,則對于任何冪等元m∈M,f(m)也是冪等元。
證因?yàn)閙是冪等元,即m·m=m,于是
f(m·)m=f(m)=f(m)*f(m),
即f(m)是冪等元。
定義6設(shè)(M,·)和(T,*)是兩個含單元半群自動機(jī),映射f:M→T稱為M到T的含單元半群自動機(jī)同態(tài)映射,假如對于?m1,m2∈M,有f(m1·m2)=f(m1)*f(m2),f(eM)=eT,這里eM,eT分別是M與T的單位元。
定理3設(shè)FDFA半群自動機(jī)(M,·),(T,*),這里“·”,“*”分別是M和T的二元運(yùn)算,且f是M到T的滿同態(tài)映射。
① 如果(M,·)是半群自動機(jī),則(T,*)也是半群自動機(jī)。
② 如果(M,·)是含單元半群自動機(jī),則(T,*)也是含單元半群自動機(jī),且單位元對應(yīng)單位元。
而:
由假設(shè)
m1·(m2·m3)=(m1·m2)·m3,
于是(T,*)是半群自動機(jī)。
因此,eT是T的單位元,即(T,*)是含單元半群自動機(jī)。
定理4設(shè)FDFA(M1,*1),(M2,*2)和(M3,*3)都是半群自動機(jī),且f:M1→M2,g:M2→M3都是半群同態(tài)映射,則(g·f)是M1→M3的半群同態(tài)映射。
證設(shè)對于任何m1,m2∈M1,有
(g·f)(m1*1m2)=g[f(m1*1m2)]=g[f(m1)*2f(m2)]=
g(f(m1))*3g(f(m2))=(g·f)(m1)*3(g·f)(m2)。
因此,(g·f)是M1到M3的半群同態(tài)映射。
根據(jù)模糊自動機(jī)推理的特點(diǎn),可總結(jié)定義如下:
定義7模糊自動機(jī)推理是運(yùn)用模糊語言和自動機(jī)的一種映射轉(zhuǎn)變關(guān)系,對模糊現(xiàn)象進(jìn)行模糊判斷,推導(dǎo)出一個與模糊結(jié)論相近的解決方法,是一種不確定性推理方法。
FDFA半群的多輸入模糊推理由以下兩種推理構(gòu)成。
2.1.1FDFA半群的多態(tài)模糊推理
多態(tài)模糊推理經(jīng)常出現(xiàn)在多—單系統(tǒng)的設(shè)計(jì)里面,例如,在運(yùn)動機(jī)械動力部分的速度值控制調(diào)整系統(tǒng)中,“如果速度誤差以及速度誤差的變化量也同樣較大,就需要增加控制電壓”這類規(guī)則控制就可以采用FDFA半群的多態(tài)模糊推理機(jī)制來解決。
對于矩陣A,B,C,這種規(guī)則的一般形式可表示如下:
前提1:如果A且B,那么C,
前提2:現(xiàn)在是A′且B′。
結(jié)論:C=(A′ andB′)·[(AandB)→C]。
如果各語言變量的論域通常都為非無限集,因此隸屬度函數(shù)作為有限集的模糊子集是離散的,在這種情況下采用模糊控制的關(guān)系矩陣運(yùn)算方法是簡易的。已知如果存在當(dāng)A且B的關(guān)系時(shí),則有輸出為C,即矩陣A、B、C存在以下的推理規(guī)則:
ifAandB, thenC,
求當(dāng)A′和B′,控制輸出C′應(yīng)該多少可以用以下步驟:
① 先求矩陣D=A×B,令dxy=μA(x)∧μB(y)得D矩陣:
② 將D寫成列矢量DT,即DT=[d11,d12,…,d1n,d21,…dmn]T。
③ 求出關(guān)系矩陣R,R=DT×C。
④ 由A′、B′求出D′,D′=A′×B′。
⑤ 仿照②。將D′轉(zhuǎn)化為行矢量DT′。
⑥ 最后求出輸出的模糊推理。
2.1.2FDFA半群的多輸入多規(guī)則模糊推理
如果A1且B1,那么C1。
否則如果A2且B2,那么C2。
……
否則如果An且Bn,那么Cn。
已知A′且B′,那么C′=?
C′=(A′ andB′)·([(A1andB1)→C1])∪…∪([(AnandBn)→Cn])=C1′∪C2′∪C3′∪…∪Cn′。
其中,Ci′=(A′ andB′)·([(AiandBi)→Ci])=A′→(Ai→Ci)∩[B′·(Bi→Ci)],i=1,2,3,…,n。
對于上述的多態(tài)多規(guī)則總的推理結(jié)果是將每一個推理規(guī)則的模糊關(guān)系矩陣進(jìn)行“并”運(yùn)算就可以了,相當(dāng)于對以上所有的推理規(guī)則,都能計(jì)算出相符合的模糊關(guān)系矩陣。
Ri=Ai×Bi×…×Ci,i=1,2,3,…,n。
在上式中直積算子“×”可采用“極小”運(yùn)算,對上述式子進(jìn)行 “代數(shù)積”運(yùn)算。
系統(tǒng)總的控制規(guī)則所對應(yīng)的關(guān)系矩陣R通常采用并的算法求出,即
R=R1∪R2∪…∪Rn。
本文通過分析未處理的故障數(shù)據(jù),基于FDFA半群模糊推理的模糊技術(shù)對模糊幾何特性屬性進(jìn)行處理,從而達(dá)到故障診斷的效果。下面通過一個發(fā)動機(jī)故障診斷的例子,展示一下FDFA半群的多維模糊推理在發(fā)動機(jī)故障診斷中的應(yīng)用。
2.2.1 征兆/故障樣本集的收集與設(shè)計(jì)
發(fā)動機(jī)在高負(fù)荷和長時(shí)間運(yùn)行時(shí),容易導(dǎo)致油路和氣路發(fā)生故障。但是發(fā)動機(jī)的內(nèi)部結(jié)構(gòu)比較復(fù)雜,不易準(zhǔn)確和快速找到其故障點(diǎn)。所以下面嘗試?yán)肍DFA半群的模糊推理來實(shí)現(xiàn)對發(fā)動機(jī)的故障診斷。
發(fā)動機(jī)運(yùn)行時(shí)常有6種參數(shù)表示其運(yùn)行狀態(tài),它們分別是MA、AA、MD、AD、TR和RS。其中,MA表示發(fā)動機(jī)運(yùn)行的最大加速度,AA表示發(fā)動機(jī)運(yùn)行的平均加速度,MD表示發(fā)動機(jī)運(yùn)行的最大減速度,AD表示發(fā)動機(jī)運(yùn)行的平均減速度,TR為表示發(fā)動機(jī)的扭矩諧波分量比,RS表示發(fā)動機(jī)的燃爆時(shí)的上升速度。
在進(jìn)行診斷時(shí),需通過FDFA半群模糊推理技術(shù)對提取的相關(guān)特征參數(shù)進(jìn)行分析,具體過程如圖1所示。
圖1 基于FDFA半群的模糊推理的發(fā)動機(jī)診斷模型Fig.1 Engine diagnosis model based on fuzzy reasoning of FDFA semigroup
這里主要介紹如何利用FDFA半群的模糊推理進(jìn)行故障診斷,通過對于發(fā)動機(jī)1號氣缸的分析可知,自動機(jī)的1號氣缸一共發(fā)現(xiàn)了3種故障,它們分別是油量不足、氣門漏氣和氣缸漏氣,如果算上正常模式,可以把故障歸結(jié)為4種。本文采用二進(jìn)制格式對不同的故障類型進(jìn)行描述,見表1。這4種故障通過大量的現(xiàn)場實(shí)地考察和歷史資料的匯總分析,總結(jié)出了四組故障的樣本數(shù)據(jù),見表2。
表1 故障模式分類Tab.1 Classification of fault modes
表2 故障樣本數(shù)據(jù)Tab.2 Fault sample data
使用上面列表中的數(shù)據(jù)訓(xùn)練FDFA半群,經(jīng)2 000次迭代過程,以均方誤差最小為其訓(xùn)練的性能指標(biāo)。其模糊推理過程如圖2所示。
圖2 FDFA半群的模糊推理的訓(xùn)練過程Fig.2 Training process of fuzzy reasoning for FDFA semigroups
程序運(yùn)行,由仿真得分類結(jié)果為:faultclass =[1, 2, 3, 4]。由仿真結(jié)果可知,F(xiàn)DFA半群的模糊推理成功地對上述故障模式進(jìn)行了分類,這與表2中的數(shù)據(jù)是吻合的,共四種故障模式類。
為了測試FDFA半群自動機(jī)進(jìn)行模糊推理時(shí)的外推性能,給出一組測試樣本數(shù)據(jù),見表3。這些數(shù)據(jù)采集的是機(jī)械真實(shí)的故障數(shù)據(jù),可以準(zhǔn)確地測試出FDFA半群的模糊推理的故障檢測性能。
表3 故障樣本數(shù)據(jù)Tab.3 Fault sample data
采用訓(xùn)練樣本以外的數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行測試,是一種最好的測試方案?,F(xiàn)對表3所示的測試樣本數(shù)據(jù)進(jìn)行測試,仿真結(jié)果也為faultclass =[1, 2, 3, 4]。由仿真結(jié)果可知,F(xiàn)DFA半群的模糊推理也能成功地對上述測試樣本數(shù)據(jù)進(jìn)行了分類,這與表3的4種故障模式數(shù)據(jù)也是吻合的。
由FDFA半群的模糊推理的MATLAB仿真結(jié)果可知,F(xiàn)DFA半群的模糊推理的診斷結(jié)果是正確的。也就是說,F(xiàn)DFA半群的模糊推理成功地診斷出了這4種故障,因此,F(xiàn)DFA半群的模糊推理用于故障診斷是有效的。
2.2.2 FDFA半群的輸出向量設(shè)計(jì)
為了方便找出故障所在,本文將發(fā)動機(jī)故障的嚴(yán)重程度劃分為3個等級Fi,這里i為發(fā)動機(jī)故障的級別,即1級嚴(yán)重故障、2級中等故障和無故障(正常)。根據(jù)FDFA半群的模糊推理的輸出向量,得到以下結(jié)果。
若0.75 若0.25 若Fi<0.25或者Fi>1.50,則Fi=正常(無故障)。 所以可以通過得出的結(jié)果來判斷發(fā)動機(jī)故障的嚴(yán)重程度。 用一組實(shí)際數(shù)據(jù)對FDFA半群的模糊推理進(jìn)行檢驗(yàn),從本次測試中可以看出FDFA半群的模糊推理是否能夠正確診斷出發(fā)動機(jī)增壓系統(tǒng)中的故障。如果可以正確診斷出故障,則FDFA半群的模糊推理可以投入使用。分別在F2、F3和F4出現(xiàn)故障時(shí)進(jìn)行檢測,獲取到各參數(shù)的值,將得到的這些值作為輸入向量,對FDFA半群的模糊推理輸出采用仿真函數(shù)進(jìn)行推理計(jì)算,并且對故障點(diǎn)進(jìn)行故障判別準(zhǔn)則判斷出故障原因。測試數(shù)據(jù)見表4。 表4 測試數(shù)據(jù)Tab.4 Test data 編寫代碼進(jìn)行仿真,運(yùn)行程序,輸出如下: output 1=[2 3 4 5]; output 2=[2 3 4 5]; output 3=[2 3 4 5]。 由分析結(jié)果可知,F(xiàn)DFA半群的模糊推理成功地診斷出了所有故障,這與表4中的數(shù)據(jù)是吻合的,因此,可以將該FDFA半群的模糊推理投入實(shí)際工程應(yīng)用。 本文對故障數(shù)據(jù)采用基于FDFA半群的模糊推理等技術(shù),得出結(jié)論:在應(yīng)用該技術(shù)處理發(fā)動機(jī)故障問題后,不僅系統(tǒng)推理速度明顯提高,而且還使推理系統(tǒng)的識別精度更加理想化。對如表3中的大量樣本數(shù)據(jù),F(xiàn)DFA半群的模糊推理對故障數(shù)據(jù)的跟蹤如圖3(a)所示。對如表4中的大量測試數(shù)據(jù),F(xiàn)DFA半群的模糊推理對故障數(shù)據(jù)的跟蹤如圖3(b)所示。 (a) 對表3故障數(shù)據(jù)的跟蹤 如果所研究的問題很復(fù)雜,有很多不確定的因素,那么,F(xiàn)DFA半群邏輯為解決此問題提供了一個合適的工具,使我們可以很快為一個系統(tǒng)建模,并在多種模型和方法中選擇合適的一個。 本文給出了模糊自動機(jī)半群的定義及其性質(zhì),給出了FDFA半群的推理方法,并討論了FDFA半群的推理方法在發(fā)動機(jī)故障診斷中的應(yīng)用。針對FDFA半群的多維模糊推理,提出了一種閾值、規(guī)則的模糊推理方法,構(gòu)造了FDFA半群的推理系統(tǒng)。本文設(shè)計(jì)的系統(tǒng)在對數(shù)據(jù)進(jìn)行預(yù)處理前,首先會給每個規(guī)則條件賦予一個適當(dāng)?shù)拈撝迪蛄?對一些影響小的因素進(jìn)行篩檢,從而清除一些無用的規(guī)則,并提高了最終輸出結(jié)果的精度,所以在此方案基礎(chǔ)上得出的推理方法與實(shí)際推理更加接近,便于日常工程應(yīng)用。 一個值得思考的問題是,是否能把幾個不同的半群自動機(jī)組合,去處理多個模糊知識的疊加,以及由神經(jīng)網(wǎng)絡(luò)怎樣抽取這個組合的半群自動機(jī)?我們接下來將會對這個問題進(jìn)行探索。3 結(jié)論