王旭輝,楊 華,陳 遠
(重慶通信學院,重慶400035)
對于一些復雜的系統,由于其不確定性即模糊性和隨機性,很難準確地對其進行有效的效能評估。因此需要一種評估方法,能夠充分考慮到評估過程中出現的模型,同時能夠有效而簡便地實現定性與定量相互轉換[1]。云模型是由李德毅院士提出的一種定性定量互換模型,可將模糊性和隨機性結合在一起,充分實現精確數值與定性語言之間的轉換,可以有效地實現系統效能評估。而Matlab既是一種直觀、高效的計算機語言,同時又是一個科學計算平臺。它為數據分析和數據可視化、算法和應用程序開發提供了可靠的數學運算和高級圖形繪制工具[2]。
本文描述了單因素條件下基于云模型效能評估的方法、步驟,并通過Matlab語言予以實現。
云[3]是用自然語言值表示的某個定性概念與定量表示之間的不確定性轉換模型,具有直觀性和普遍性。它主要反映概念上的不確定性,即模糊性(邊界上的亦此亦彼性)和隨機性(發生的概率)。云的數字特征用3個參數來描述,即期望值 Ex(Expected Value)、熵 En(Entropy)和超熵He(Hyper Entropy),3個數字特征整體表征一個概念,記做 CG(Ex,En,He)。其中期望值 Ex為概念上的原型值(中心值、標準值),最能代表這個定性概念的數值;熵En為概念不確定程度的度量,熵越大,概念相對越模糊;超熵 He為熵的不確定程度的度量,即熵的熵,反映了云的離散程度。
云發生器CG(Cloud Generator)指被固化了的云模型生成算法,主要有正向云發生器和逆向云發生器兩種。
正向云發生器實現定性語言值到定量數值的轉換,在已知3個數字特征的情況下用來生成所需數量的云滴,如圖1所示。
正向云發生器 CG(Ex,En,He)的算法描述如下:
(1)生成以En為期望值,He2為方差的正態隨機數En′;
(2)生成以Ex為期望值,En′2為方差的正態隨機數x;
(4)使(x,y)成為論域中的一個云滴;
(5)重復步驟(1)~(4)直至要求數目的云滴產生。
逆向云發生器實現定量數值到其定性語言值的轉換,即從給定的云滴樣本中求出正向云發生器的3個特征數字,從而實現對樣本數據的定性評價。

圖1 正向云發生器
由于在大多數的系統效能評估中,通過采樣往往只能得到表示某個概念的一組數據值,這種單因素逆向云算法是根據云的統計特性,僅僅利用云滴xi的定量數值來還原出云的3個參數,如圖2所示。
逆 向 云 發 生 器 CG-1(Ex,En,He)的 算 法[4]:

圖2 逆向云發生器

(2)Ex=X;
可以得到,云滴樣本為xi時,得到云的描述為(Ex,En,He)。
基于云模型的系統效能評估方法,就是選取系統中的關鍵性指標,再將定性指標用正態云表述出來,根據系統指標分層結構,在不確定的情況下較為客觀地對系統進行綜合效能評估。該方法有3個關鍵因素:指標集U、權重因子集W和評價集V,其中W和V的元素是隸屬云,并不全是精確值。
而評價指標根據需要劃分為多級層次結構,每一層都有隸屬本層的子指標集、權重因子集和評價集,只有在同一層次間的指標才能進行操作和比較,結果從低層向高層傳遞,最終實現系統整體效能的評估。大致流程如圖3所示。

圖3 評估流程
根據評估需求,先將目標對象分解成多個功能模塊,每個功能模塊稱為一個元素,然后將這些功能模塊分為多個分組,每個分組中的元素為該功能模塊能力的體現。以同一層次的功能模塊作為準則,對下一層元素起支配作用,同時受到上一層元素的支配,這樣形成一個指標體系。
指標體系是否合理將直接影響最終的評價結果的可信性,元素選取有很多原則,評價指標的選取必須遵循最簡性、科學性、可測性、客觀性、完備性以及獨立性原則,能夠真實、綜合、全面地反映系統的性能。同時在構建指標體系時必須適當控制層次數,層次數應該由評估的復雜度和分析的深度決定,但一般不少于3層。
采用專家咨詢的方法為各層指標建立權重因子,這些權重因子全部用定性語言表述,如 “重要”、“比較重要”、“不重要”等。再將其轉化為正態云來表述,用不同的正態云圖表示其不同的重要程度。不失一般性,可以將權重因子集描述為 W={W1,W2,…,Wn}。通常權重因子集的等級不低于3級,不高于9級。
例如,可以參照標度值對指標集中兩兩指標間的相對重要性進行打分,并得到專家打分矩陣:

其中aij表示第i個指標與第j個指標相比的重要性標度。
計算專家打分矩陣各行元素乘積的凡次方根Wi:

對Wi進行歸一化處理:

則可求得 w=(w1,w2,…,wn)T為所求權重向量。具體Matlab代碼實現如下:

評價集的確定也就是在論域中如何劃分定性概念的問題,通??梢韵韧ㄟ^用戶直接給出相應語言值的云模型,再通過算法得到相應的數字特征值。
指標評價集一般取奇數個云,如3個或5個,評語總是“好,一般,差”之類的模糊概念。例如,在[0,1]之間,可以將論域分為 5個評估等級:“很好”、“好”、“一般”、“差”、“很差”,并分別對應其云模型。存在雙邊約束[Cmin,Cmax]的評語,可利用下式計算云的數字特征:

其中,k為常數,可根據評語本身的模糊程度來具體調整。對于只有單邊約束Cmin或Cmax的評語,可以先確定缺省期望值,再按照式(2)計算云參數,用半升半降云來描述。
構建了各指標的評價集之后,再依據專家討論的結果確定各指標的權重及評價結果,得到下面的指標評價矩陣:

該矩陣中,每行為某一個專家對各指標的評價結果,每列為同一項指標不同的專家評價的結果。使用逆向云發生器相應算法,可以計算得到每項指標云模型的數字特征值。
具體Matlab代碼實現如下:


在得到底層指標云模型的數字特征值之后,再結合該層指標項的各項權重值,就可以得到其上層指標項的評價結果,公式如下:

式(4)具體Matlab代碼實現如下:

通過上述步驟從下而上逐步計算,得到最終目標層的結果。通過正向云發生器,生成系統的綜合評估云圖,得到評估結果。
具體繪制云圖的Matlab代碼實現如下:

云是用自然語言值表示的某個定性概念與其定量表示之間的不確定性的轉換模型,具有直觀性和普遍性,因此被廣泛應用于人工智能的各個方面。本文就云模型的效能評估過程進行了簡要描述,用Matlab代碼實現了部分算法,并完成了評估云圖的繪制,由此可以得到相應的評估結果。本文中的代碼經測試均可正確運行,這對云模型的研究和實現有一定的推廣價值和研究意義。
[1]張幸,胡建旺,樊世友.基于云模型的防空 C3I系統效能分析研究[J].現代電子技術,2010,33(21):46-50.
[2]孫祥,徐流美,吳清.Matlab7.0基礎教程[M].北京:清華大學出版社,2005.
[3]李德毅.不確定性人工智能[M].北京:國防工業出版社,2005.
[4]劉常昱,馮芒,戴曉軍.基于云X信息的逆向云新算法[J].系統仿真學報,2004,16(11):2417-2420.