摘 要:項目開展過程是一個有著許多不確定因素的過程,在項目管理中,揭示該過程中狀態(tài)間的關(guān)聯(lián)關(guān)系,對項目狀態(tài)預(yù)測和缺陷原因的界定是十分重要。利用項目進(jìn)展過程中層次關(guān)系所蘊(yùn)含的條件獨(dú)立性,提出了一種貝葉斯推理網(wǎng)絡(luò)模型。給出該推理網(wǎng)絡(luò)的學(xué)習(xí)算法,使得在專家僅給出節(jié)點(diǎn)間的關(guān)聯(lián)強(qiáng)度的情況下,系統(tǒng)通過自我學(xué)習(xí)計算出節(jié)點(diǎn)間的條件概率,從而實現(xiàn)科學(xué)嚴(yán)謹(jǐn)?shù)耐评怼?/p>
關(guān)鍵詞:項目管理;貝葉斯網(wǎng);缺陷預(yù)防;狀態(tài)預(yù)測
中圖分類號:C93 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-291X(2013)25-0226-03
序言
由于項目過程的復(fù)雜性,其開發(fā)過程中不可避免地會出現(xiàn)各類問題,如設(shè)計缺陷、計劃延期等。清晰界定各種缺陷的原因和對項目發(fā)展?fàn)顟B(tài)進(jìn)行必要的預(yù)測,可大大提高項目的管理水平。掌握項目過程中的各狀態(tài)間的關(guān)聯(lián)關(guān)系,是甄別缺陷原因,預(yù)測項目發(fā)展?fàn)顟B(tài)的前提條件。因此對項目各狀態(tài)間的關(guān)聯(lián)關(guān)系進(jìn)行研究,一直是項目管理領(lǐng)域關(guān)注的問題[1~4]。Karolak D W.在文獻(xiàn)[5]論述了狀態(tài)預(yù)測在風(fēng)險控制的重要性;在文獻(xiàn)[1]中,作者應(yīng)用因果圖對項目的狀態(tài)進(jìn)行分析,但其因果圖連接強(qiáng)度則是由專家直接給出,但這種方法,使得項目狀態(tài)間的關(guān)系確定主觀性強(qiáng),而且缺乏學(xué)習(xí)的功能。
在項目開發(fā)過程中,項目狀態(tài)間的關(guān)聯(lián)關(guān)系是復(fù)雜,而且?guī)в幸欢ǖ牟淮_定性,這給確定項目中的狀態(tài)間的關(guān)系帶來了難度。不確定性知識的表達(dá)和處理是人工智能研究的核心內(nèi)容,主要處理方法包括馬爾科夫網(wǎng)、貝葉斯網(wǎng)、可信度推理、模糊數(shù)學(xué)等,貝葉斯網(wǎng)具有數(shù)學(xué)上的一致性和嚴(yán)格性,但這種處理方法也存在著許多不足,如不能處理因果圖中的因果循環(huán),用條件概率表達(dá)的關(guān)系強(qiáng)度不直觀等 [6]。
在實際應(yīng)用中,領(lǐng)域?qū)<腋鶕?jù)經(jīng)驗給出的因果圖并不是真正意義上的貝葉斯因果圖[7],當(dāng)有多個節(jié)點(diǎn)對一個節(jié)點(diǎn)產(chǎn)生影響時,專家給出的其實是每個原因節(jié)點(diǎn)對結(jié)果結(jié)點(diǎn)的直接相關(guān)度,而不是復(fù)雜的條件概率。相關(guān)度雖然符合專家的一般思維習(xí)慣,但其嚴(yán)密性不夠,直接使用相關(guān)度進(jìn)行推理是缺乏數(shù)學(xué)依據(jù),也是不準(zhǔn)確的[7]?;谙嚓P(guān)度的因果圖也存在著學(xué)習(xí)的困難。
鑒于此,本文提出了一種表示項目狀態(tài)間關(guān)系的層次結(jié)構(gòu)貝葉斯因果圖模型,討論了確定項目狀態(tài)關(guān)聯(lián)關(guān)系的策略和學(xué)習(xí)算法,并通過事例說明其在項目管理中原因分析和狀態(tài)預(yù)測中的應(yīng)用。
一、網(wǎng)絡(luò)模型
有n個節(jié)點(diǎn)的完全貝葉斯網(wǎng),則要確定n*(n-1)個條件概率,直接通過對每個基本事件概率的計算來處理不確定性問題,是一個NP難題[8]。因此,通過直接對每個基本事件計算或指派概率的方法來確定聯(lián)合概率分布是不現(xiàn)實的。我們需要建立適當(dāng)?shù)母怕誓P蛠硖幚磉@個問題。
機(jī)器學(xué)習(xí)是構(gòu)造貝葉斯網(wǎng)絡(luò)的重要途經(jīng),然而對于大規(guī)模貝葉斯網(wǎng)絡(luò),目前還沒有有效的學(xué)習(xí)方法[9]。大規(guī)模貝葉斯網(wǎng)絡(luò)難以學(xué)習(xí)的根本原因在于它沒有充分使用問題域中的結(jié)構(gòu)信息,它只考慮系統(tǒng)變量之間的獨(dú)立依賴等信息,而忽視了系統(tǒng)中各個子系統(tǒng)或?qū)ο髮嶓w之間的結(jié)構(gòu)信息。為了有效降低貝葉斯網(wǎng)絡(luò)的復(fù)雜度,本文利用項目進(jìn)展過程中層次關(guān)系所蘊(yùn)含的條件獨(dú)立性,定義了一種層次結(jié)構(gòu)的貝葉斯推理網(wǎng)模型(如圖1所示)。
層次貝葉斯推理網(wǎng)絡(luò)模型S,可記為S=(C,Z,B,A)。
其中C:{C1,C2,…,Cn},為層次的集合,每一層次含有多個節(jié)點(diǎn),同一層次的節(jié)點(diǎn)間不存在因果關(guān)系,即沒有連接邊。Ci為Ci+1 的父層次,每層的節(jié)點(diǎn)只和其子層節(jié)點(diǎn)間存在因果關(guān)系。
Z:{Z1,Z2,…,Zk}為節(jié)點(diǎn)的集合,各節(jié)點(diǎn)按照其涉及的領(lǐng)域可分成不同的組,同一組的各節(jié)點(diǎn)對其領(lǐng)域要形成一個劃分。
Zi∩Zj=Φ i≠j
Z1∪Z2∪…∪Zk=U,U為其涉及范圍的狀態(tài)全集。
B是連接不同節(jié)點(diǎn)間的有向弧,A為B中各連接弧的權(quán)重,即權(quán)重θij的集合。
θij=P(子層狀態(tài)為xj|父層狀態(tài)為yi)=p(X=xj|Y=yi)
這樣我們就構(gòu)造了一個層次結(jié)構(gòu)的貝葉斯網(wǎng),不但大大降低了連接復(fù)雜度,也與項目管理的實際情況相吻合。
層次結(jié)構(gòu)的貝葉斯網(wǎng)絡(luò)推理模型充分利用軟件項目管理中的結(jié)構(gòu)信息,降低了網(wǎng)絡(luò)的復(fù)雜度,為網(wǎng)絡(luò)學(xué)習(xí)提供了可能性。該網(wǎng)絡(luò)既可以實現(xiàn)項目狀態(tài)預(yù)測,也可用于項目缺陷的確定。
在狀態(tài)網(wǎng)中θij表示當(dāng)狀態(tài)yi發(fā)生時,狀態(tài)xj在未來發(fā)生的概率。在缺陷原因界定網(wǎng)中θij表示當(dāng)缺陷yi發(fā)生時,該缺陷是由xj造成的概率。狀態(tài)預(yù)測網(wǎng)和缺陷原因界定網(wǎng),其原理是一致的,只是推理方向和連結(jié)參數(shù)值不同,為了討論的方便,我們在下文中將主要描述狀態(tài)預(yù)測網(wǎng)的處理方法。
二、學(xué)習(xí)
在實際問題中,領(lǐng)域?qū)<抑苯咏o出節(jié)點(diǎn)間的相關(guān)度λij,它表征了一個原因節(jié)點(diǎn)與結(jié)果節(jié)點(diǎn)間的相關(guān)性,當(dāng)λij=1時,表征了兩者完全相關(guān),當(dāng)λij=0 兩者完全無關(guān),即在兩個節(jié)點(diǎn)間不存在連接弧,但為了實現(xiàn)貝葉斯網(wǎng)的推理和學(xué)習(xí),我們需要用條件概率θ表示節(jié)點(diǎn)間的連接強(qiáng)度,首先選用具有共軛性的狄利克萊分布作為θ先驗分布,令:
式(5)給出了完備實例數(shù)據(jù)情況下的學(xué)習(xí)算法,所謂完備實例數(shù)據(jù)是指推理網(wǎng)中的每個節(jié)點(diǎn)都有采樣統(tǒng)計數(shù)據(jù)。但在實際應(yīng)用中,有時收集的數(shù)據(jù)不夠全面,發(fā)生數(shù)據(jù)缺失,在這種不完備實例情況下,θ的先驗和后驗分布不再是狄利克萊分布,這時我們可以通過改造期望最大化算法來實現(xiàn)對聯(lián)結(jié)參數(shù)的估計[10],具體算法如下:
算法1:
Step1:對整個網(wǎng)絡(luò)的各節(jié)點(diǎn)間的連接強(qiáng)度選擇隨機(jī)值θij,0<θij<1。
Step2:如果父節(jié)點(diǎn)和子結(jié)點(diǎn)都有觀測數(shù)據(jù)時,計算ij==
Step3:如果父節(jié)點(diǎn)和子結(jié)點(diǎn)有缺失數(shù)據(jù),ij=
Step4:如果|θij-ij|>ε,goto Step2。
Step5:結(jié)束
三、推理
條件概率θij描述子層狀態(tài)節(jié)點(diǎn)xj對其父節(jié)點(diǎn)yi的概率依賴程度,貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu)特征與變量間的條件獨(dú)立性滿足馬爾可夫條件,即任一變量在已知其父節(jié)點(diǎn)取值狀態(tài)的條件下,獨(dú)立于它的所有非子孫節(jié)點(diǎn),由鏈?zhǔn)椒▌t有:
p(X=xj)=p(X=xj |Ym,...,Y2,Y1) (6)
其中m為節(jié)點(diǎn)X在貝葉斯網(wǎng)中的層次,即其祖先層的數(shù)量,Yi-1為Yi的父層,Ym=X。
在已知k-1層系統(tǒng)狀態(tài)yi的概率的情況下,可根據(jù)式7推導(dǎo)出第k層每個節(jié)點(diǎn)xj的概率。
p(Yk=xj)=p(Yk=xj|Yk-1=yi)=θk
ij p(Yk-1=yi) (7)
yi=parcent(xj)為xj的父節(jié)點(diǎn),n為parcent(xj)的節(jié)點(diǎn)個數(shù),θk
ij為第k層節(jié)點(diǎn)xj與k-1層節(jié)點(diǎn)yi連接強(qiáng)度。
在已知系統(tǒng)處于某狀態(tài)yj時,令p(yj)=1,然后利用式(6)和式(7),推導(dǎo)出其子孫層的各節(jié)點(diǎn)的概率,這樣我們可以根據(jù)項目的目前狀態(tài),推導(dǎo)出項目的發(fā)展趨勢,從而提高在項目管理中的風(fēng)險分析和預(yù)測能力,提高整個項目的管理質(zhì)量。
四、應(yīng)用
我們以上海信息中心提供的數(shù)據(jù)為例,建立起一個用于預(yù)測Bug率的貝葉斯推理網(wǎng),結(jié)構(gòu)(如圖2所示)。
圖2各節(jié)點(diǎn)的意義(如表1所示)。
首先由專家給出圖2中各狀態(tài)間的相關(guān)度λ,然后根據(jù)統(tǒng)計數(shù)據(jù),利用算法1和算式5計算各θ值,數(shù)據(jù)(如表2所示)。
對一個預(yù)算為100個人月的項目,假定單元測試時bug率為3‰,運(yùn)用(6)(7)式我們可以推算出L1發(fā)生的概率為28‰,L2發(fā)生的概率為42‰,L3發(fā)生的概率為30‰。該預(yù)測可以為公司安排維護(hù)人員和考評項目管理提供決策依據(jù)。
該網(wǎng)絡(luò)模型及其處理方法,已應(yīng)用在作者開發(fā)的“企業(yè)數(shù)據(jù)架構(gòu)中心”的軟件中,該軟件已獲得軟件產(chǎn)品認(rèn)證。
結(jié)論
利用層次關(guān)系中所蘊(yùn)含的條件獨(dú)立性,本文定義了一種層次貝葉斯網(wǎng)絡(luò)模型,有效降低了大規(guī)模貝葉斯網(wǎng)絡(luò)的復(fù)雜度。作者還提出了該網(wǎng)絡(luò)的學(xué)習(xí)算法,通過該算法,在允許專家根據(jù)自己經(jīng)驗給出相關(guān)度的情況下,系統(tǒng)可以通過學(xué)習(xí)推導(dǎo)出貝葉斯網(wǎng)連接強(qiáng)度,即利于推理網(wǎng)的構(gòu)建,又可采納比較嚴(yán)格的數(shù)學(xué)推理方式,具有一定的實用價值。
參考文獻(xiàn):
[1] 張瑞康.軟件項目質(zhì)量控制[J].廣東科技,2009,(6):154.
[2] 方木云.動態(tài)規(guī)劃算法在軟件項目管理中的應(yīng)用[J].微機(jī)發(fā)展,2011,(14):29-33.
[3] 周倫鋼,吳建軍.軟件開發(fā)項目管理探討[J].鄭州大學(xué)學(xué)報:工學(xué)版,2012,(4):102-105.
[4] 尼爾·懷特.管理軟件開發(fā)項目:第2版[M].孫艷春,譯.北京:電子工業(yè)出版社,2002.
[5] Karolak D W.Software Engeering Risk Management[M].IEEE Computer Society Press,1996.
[6] James Painter.Uses of Baysian Statistics.Scientic Software Solution,2009.
[7] Fu-ren Lin,Chih-hung Chiu,San-chiang Wu.Using Baysian Networks for Discovering Temporal-State Transition patterns in Hemodialy-sis[C].In:Proceedings of the 35th Hawaii International Conference on System Sciences,2010.
[8] Pearl J.Graphical Models for Probabilistic and Causal Reasoning[M].The computer Science and Engineering Handbook,Kluwer Aca-demic Publishers,1997.
[9] Wang R G,Zhang Y S,Peng Q S.Learning Algorithms of Bayesian-Network Conditional Probabilities from Grouped Sample Mini-MicroSystems,2002,23(6),687-689.
[10] Dempster A P,Laird N M,Rubin D B,Maximum Likelihood from Incomplete Data via the EM Algorithm,Journal of the Royal Sta-tistical Society (Series B ),1997,39(1):1-38.
[責(zé)任編輯 安世友]