陳 陽,王 濤
(遼寧工業(yè)大學(xué)理學(xué)院,遼寧 錦州 121001)
近年來,發(fā)展和豐富區(qū)間二型模糊邏輯系統(tǒng)理論[1,2]并將其進行實時應(yīng)用受到較多的關(guān)注。與傳統(tǒng)的一型模糊集相比,區(qū)間二型模糊集可以更好地建模并降低不確定性帶來的影響。最近的理論和應(yīng)用研究也證實了區(qū)間二型模糊邏輯系統(tǒng)[3 - 7]在處理不確定性方面比相應(yīng)的一型模糊邏輯系統(tǒng)具有優(yōu)勢。區(qū)間二型模糊邏輯系統(tǒng)由模糊器、規(guī)則庫、推理機、降型器和解模糊器組成,如圖1[3,4]所示。其中,在推理機引導(dǎo)下的降型器在系統(tǒng)中起著很重要的作用,其主要功能是將二型模糊集轉(zhuǎn)變成一型模糊集。涉及降型運算的區(qū)間二型模糊邏輯系統(tǒng)比相應(yīng)的一型模糊邏輯系統(tǒng)復(fù)雜。
Figure 1 An interval type-2 fuzzy logic system圖1 1個區(qū)間二型模糊邏輯系統(tǒng)
Mendel教授[8]提出了KM(Karnik-Mendel)算法來計算區(qū)間二型模糊集的質(zhì)心或完成區(qū)間二型模糊邏輯系統(tǒng)降型。通常,KM算法需要2~6次迭代達到收斂。為了提高收斂速度和減少計算消耗,Wu等[9]提出了EKM(Enhanced Karnik-Mendel) 算法。大量仿真研究結(jié)果表明:與KM算法相比,EKM算法平均可節(jié)省2次迭代,從而減少不少于39%的計算時間。以上2種算法被稱為KM類算法。另一類算法不需迭代而直接計算出區(qū)間二型模糊邏輯系統(tǒng)的輸出,它們比迭代類算法計算速度快,更適合于實時應(yīng)用,如NT(Nie-Tan)算法[6,10]、BMM(Begian-Melek-Mendel)算法[11]、UB(Uncertainty Bound)算法[12]等,其中NT算法在最近被證明為KM算法的零階估計[8,13],即用NT算法的計算結(jié)果來估計KM算法的結(jié)果是較合理的。
受到文獻[6,10,14-18]的啟發(fā),本文比較了離散版本的NT算法的求和運算和連續(xù)版本的NT算法的求積分運算,結(jié)合數(shù)值積分技術(shù)中的牛頓-柯斯特求積公式(Newton-Cotes quadrature formulas)將NT算法擴展成加權(quán)NT WNT(Weighted NT) 算法。在計算區(qū)間二型模糊邏輯系統(tǒng)的質(zhì)心降型時,所提出的WNT算法比NT算法準(zhǔn)確,而NT算法只是WNT算法在權(quán)重為常值時的一種特例。
從結(jié)構(gòu)上考慮,一般認為區(qū)間二型模糊邏輯系統(tǒng)分為Mamdani型[3]和TSK(Takagi Sugeno Kang)型[19]。不失一般性,這里考慮一具有p個輸入x1∈X1,…,xp∈Xp和1個輸出y∈Y的Mamdani型區(qū)間二型模糊邏輯系統(tǒng),其中,Xi(i=1,…,p)和Y分別為語言變量xi和y的論域,第l條模糊規(guī)則有如下形式:
推理過程如下:
對每條模糊規(guī)則,首先計算激發(fā)區(qū)間Fl(x′),當(dāng)x=x′時,
(1)
(2)
其中,*也表示取小或乘積t-范運算。
(3)
(4)
數(shù)值積分用一些離散節(jié)點上的函數(shù)值f(xi)的線性組合來近似估計定積分。
定義1(數(shù)值積分) 假設(shè)a=x0 w0f(x0)+w1f(x1)+…+wNf(xN) (5) 滿足性質(zhì): (6) 下面給出的復(fù)合梯形法則、復(fù)合辛普森(Simpson)法則和復(fù)合辛普森3/8法則分別以直線、二次多項式函數(shù)和三次多項式函數(shù)來估計被積函數(shù)f(x)。 (7) 若f在區(qū)間[a,b]上是二階連續(xù)可導(dǎo)的,則誤差項: 其中a<ζ (8) 若f在[a,b]上是四階連續(xù)可導(dǎo)的,則誤差項: 其中a<ζ (9) 若f在[a,b]上是四階連續(xù)可導(dǎo)的,則誤差項: 其中a<ζ 類似于連續(xù)版本的KM CKM(Continous KM)[17]或EKM CEKM(Continous EKM)[16]算法,連續(xù)NT CNT(Continous NT)算法[6]可用來研究區(qū)間二型模糊邏輯系統(tǒng)降型和解模糊化 (或區(qū)間二型模糊集質(zhì)心) 計算的理論性質(zhì),且該算法被證明為準(zhǔn)確的質(zhì)心降型算法。這里應(yīng)指出,假設(shè)區(qū)間二型模糊邏輯系統(tǒng)的輸出集已知(通過模糊推理過程得出),那么求質(zhì)心降型即相當(dāng)于求區(qū)間二型模糊集的質(zhì)心。 (10) CNT算法可計算區(qū)間二型模糊集質(zhì)心為: (11) 以3.1節(jié)和3.2節(jié)為基礎(chǔ),本節(jié)提出一類新的NT算法,稱為加權(quán)NT算法—WNT算法,即: (12) 其中,yWNT為質(zhì)心輸出解模糊化值,wi為權(quán)值。 WNT可看成CNT的數(shù)值實現(xiàn)。NT算法在離散版本下的求和運算在連續(xù)版本下?lián)Q成了求定積分運算,即在NT中離散節(jié)點xi的求和運算起到了相關(guān)函數(shù)積分的作用。根據(jù)式(6)為每個離散節(jié)點xi的隸屬函數(shù)賦予相應(yīng)權(quán)重wi,則可更加準(zhǔn)確地計算出輸出值,而NT算法只是在系數(shù)權(quán)重wi=1(i=1,2,…,N)時的WNT算法的1個特例。 Table 1 Weights assignment methods of WNT algorithms表1 WNT算法權(quán)重分配方法 在表1中,采用式(7)~式(9)按下列步驟分配除NT算法外其余3種WNT算法的權(quán)重: (1) 用xi(i=1,…,N),其中,x1=a,xN=b取代式(7)中的xi(i=0,1,…,m),其中,x0=a,xm=b;式(8) 中的xi(i=0,1,…,2m),其中,x0=a,x2m=b;和式(9)中的xi(i=0,1,…,3m),其中,x0=a,x3m=b。 (2) 式(7)~式(9)中的系數(shù)(分別為h/2,h/3,3h/8)被式(11)中2個積分間的商運算抵消掉。 (3) 表1中分別賦予TWNT和SWNT的權(quán)重值為式(7)和式(8)括號中系數(shù)的1/2,賦予S3/8WNT的權(quán)重值為式(9)括號中系數(shù)的1/3。 (4) 對于SWNT和S3/8WNT,其采樣點的個數(shù)N不僅限于N=2n+1和N=3n+1,n為任意非負整數(shù)。 最后可總結(jié)出CNT和WNT在計算完成區(qū)間二型模糊邏輯系統(tǒng)的質(zhì)心降型和解模糊化時具體聯(lián)系為: (1) WNT算法是基于采樣數(shù)據(jù)xi(i=1,2,…,N)上的求和運算來求質(zhì)心值。而CNT算法應(yīng)用積分運算求質(zhì)心值,可近似認為它們計算取得區(qū)間二型模糊集質(zhì)心的準(zhǔn)確值。理論上說,當(dāng)采樣點個數(shù)N→+∞時,WNT算法的解趨于CNT算法的。 (2) 當(dāng)增加采樣個數(shù)時,WNT算法會得到更準(zhǔn)確的計算結(jié)果。 (3) WNT算法是以求和運算完成數(shù)值計算,而CNT算法是以求積分運算完成象征性的計算??梢园裌NT算法看成運用數(shù)值積分方法的CNT算法的數(shù)值實現(xiàn)。 假設(shè)在進行降型和解模糊化過程前,所描述的區(qū)間二型模糊邏輯系統(tǒng)的最終輸出區(qū)間二型模糊集的足跡不確定性FOU(Footprint Of Uncertainty) 已通過模糊規(guī)則合并或加權(quán)和等模糊推理運算[21]取得。在第1個例子中,整個FOU由分段線性函數(shù)[16]所限定。在第2個例子中,F(xiàn)OU的上邊界是分段高斯隸屬函數(shù),下邊界是分段線性函數(shù)[22,23]。在第3個例子中,F(xiàn)OU完全由高斯隸屬函數(shù)[16]組成。表2和圖2給出了3個例子所定義的FOU相關(guān)隸屬函數(shù)表達式及其圖形。 Table 2 FOU membership function expressions of three examples表2 3個例子的FOU隸屬函數(shù)表達式 Figure 2 FOU graphs of three examples圖2 3個例子的FOU圖 Figure 3 Computational results of example 1圖3 例1的計算結(jié)果 Figure 4 Computational results of example 2圖4 例2的計算結(jié)果 Figure 5 Computational results of example 3圖5 例3的計算結(jié)果 觀察圖3~圖5以及表3,可得出: (1) 4種WNT算法的絕對誤差都收斂。在例1中,NT和TWNT算法獲得最小的絕對誤差和變化幅度,SWNT算法取得最大絕對誤差和變化幅度,而S3/8WNT算法得到較小的絕對誤差和變化幅度。在例2和例3中,本文提出的3種WNT Table 3 Average of relative errors表3 相對誤差的平均值 算法的絕對誤差都小于NT算法的,且收斂速度也快于NT算法的。 (2)NT算法的最大平均相對誤差為0.062 920%,而WNT算法的最大平均相對誤差為0.002 766%。NT算法的總平均誤差為0.025 564%,而WNT算法的最大總平均誤差為0.001 543%。 (3) 從以上分析可知,恰當(dāng)?shù)剡x擇WNT算法,可取得優(yōu)于NT算法的計算精度和誤差穩(wěn)定性。 Figure 6 Comparisons of computation times for four types of algorithms圖6 4種算法的計算時間比較 為了取得更好的實時應(yīng)用,下面研究上述算法的計算時間 (其取決于具體的軟件與硬件環(huán)境,計算結(jié)果是不可重復(fù)的)。仿真平臺為E5300@2.60 GHz和2.00 GB內(nèi)存的雙核CPU的戴爾臺式機,Microsoft Windows XP Professional操作系統(tǒng)。在Matlab 2013a下編程,圖6所示為采樣值個數(shù)N=50∶50∶4000時的算法總計算時間。 總的來說,盡管NT算法的計算速度快于WNT算法,但TWNT算法與NT算法的計算速度幾乎相同。4種算法計算速度的大小關(guān)系為:NT>TWNT>SWNT>S3/8WNT。由于不涉及迭代過程,權(quán)重分配越簡單的算法計算速度越快。利用本文所提出的算法可研究區(qū)間二型模糊邏輯系統(tǒng)的降型及解模糊化。若只考慮計算準(zhǔn)確度,從表3可知,3種WNT算法均強于NT算法,其中TWNT算法是最好的選擇。 最后特別指出,本文的研究只關(guān)注NT算法和WNT算法的理論表現(xiàn)。從仿真例子可得出,當(dāng)使用較多個數(shù)的采樣點時,WNT算法與NT算法相比,在計算準(zhǔn)確度上有一定的提高。盡管如此,倘若對計算準(zhǔn)確度要求并不高,簡單的NT算法便可得出好的效果,WNT算法就無法體現(xiàn)其優(yōu)勢了。 本文比較了離散版本和連續(xù)版本的NT算法,利用數(shù)值積分技術(shù)中3種加權(quán)賦值方法將NT算法擴展成WNT算法。當(dāng)區(qū)間二型模糊邏輯系統(tǒng)采用質(zhì)心降型時,系統(tǒng)的輸出集的FOU已確定,此時可用連續(xù)版本的降型算法完成降型過程。仿真例子中分析和說明了算法的計算準(zhǔn)確度和計算時間。在取相同主變量采樣率時,與NT算法相比,WNT算法具有更小的絕對誤差,且TWNT算法與NT算法有幾乎相同的收斂速度。 在以后工作中,將基于本文和文獻[6,16,22-23]進一步研究基于降型算法設(shè)計區(qū)間或廣義二型模糊邏輯系統(tǒng)的質(zhì)心降型和中心集降型[13,24-26],基于優(yōu)化算法[3,4,27-29]的區(qū)間或廣義二型模糊邏輯系統(tǒng)在預(yù)測和控制等領(lǐng)域中的應(yīng)用。3.2 NT和CNT算法
3.3 WNT算法
4 仿真
5 結(jié)束語