贝叶斯网在软件项目管理中的应用

时间:2024-03-28 点赞:48836 浏览:97981 作者原创标记本站原创

本文是一篇项目管理论文范文,关于项目管理方面毕业论文参考文献格式,关于贝叶斯网在软件项目管理中的应用相关专升本毕业论文范文。适合项目管理及节点及软件项目管理方面的的大学硕士和本科毕业论文以及项目管理相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:项目开展过程是一个有着许多不确定因素的过程,在项目管理中,揭示该过程中状态间的关联关系,对项目状态预测和缺陷原因的界定是十分重要.利用项目进展过程中层次关系所蕴含的条件独立性,提出了一种贝叶斯推理网络模型.给出该推理网络的学习算法,使得在专家仅给出节点间的关联强度的情况下,系统通过自我学习计算出节点间的条件概率,从而实现科学严谨的推理.

关 键 词:项目管理;贝叶斯网;缺陷预防;状态预测

中图分类号:C93文献标志码:A文章编号:1673-291X(2013)25-0226-03

序言

由于项目过程的复杂性,其开发过程中不可避免地会出现各类问题,如设计缺陷、计划延期等.清晰界定各种缺陷的原因和对项目发展状态进行必要的预测,可大大提高项目的管理水平.掌握项目过程中的各状态间的关联关系,是甄别缺陷原因,预测项目发展状态的前提条件.因此对项目各状态间的关联关系进行研究,一直是项目管理领域关注的问题[1~4].KarolakDW.在文献[5]论述了状态预测在风险控制的重要性;在文献[1]中,作者应用因果图对项目的状态进行分析,但其因果图连接强度则是由专家直接给出,但这种方法,使得项目状态间的关系确定主观性强,而且缺乏学习的功能.

在项目开发过程中,项目状态间的关联关系是复杂,而且带有一定的不确定性,这给确定项目中的状态间的关系带来了难度.不确定性知识的表达和处理是人工智能研究的核心内容,主要处理方法包括马尔科夫网、贝叶斯网、可信度推理、模糊数学等,贝叶斯网具有数学上的一致性和严格性,但这种处理方法也存在着许多不足,如不能处理因果图中的因果循环,用条件概率表达的关系强度不直观等[6].

在实际应用中,领域专家根据经验给出的因果图并不是真正意义上的贝叶斯因果图[7],当有多个节点对一个节点产生影响时,专家给出的其实是每个原因节点对结果结点的直接相关度,而不是复杂的条件概率.相关度虽然符合专家的一般思维习惯,但其严密性不够,直接使用相关度进行推理是缺乏数学依据,也是不准确的[7].基于相关度的因果图也存在着学习的困难.

鉴于此,本文提出了一种表示项目状态间关系的层次结构贝叶斯因果图模型,讨论了确定项目状态关联关系的策略和学习算法,并通过事例说明其在项目管理中原因分析和状态预测中的应用.

一、网络模型

有n个节点的完全贝叶斯网,则要确定n*(n-1)个条件概率,直接通过对每个基本事件概率的计算来处理不确定性问题,是一个NP难题[8].因此,通过直接对每个基本事件计算或指派概率的方法来确定联合概率分布是不现实的.我们需要建立适当的概率模型来处理这个问题.

机器学习是构造贝叶斯网络的重要途经,然而对于大规模贝叶斯网络,目前还没有有效的学习方法[9].大规模贝叶斯网络难以学习的根本原因在于它没有充分使用问题域中的结构信息,它只考虑系统变量之间的独立依赖等信息,而忽视了系统中各个子系统或对象实体之间的结构信息.为了有效降低贝叶斯网络的复杂度,本文利用项目进展过程中层次关系所蕴含的条件独立性,定义了一种层次结构的贝叶斯推理网模型(如图1所示).

层次贝叶斯推理网络模型S,可记为S等于(C,Z,B,A).

其中C:{C1,C2,等,Cn},为层次的集合,每一层次含有多个节点,同一层次的节点间不存在因果关系,即没有连接边.Ci为Ci+1的父层次,每层的节点只和其子层节点间存在因果关系.

Z:{Z1,Z2,等,Zk}为节点的集合,各节点按照其涉及的领域可分成不同的组,同一组的各节点对其领域要形成一个划分.

Zi∩Zj等于Φi≠j

Z1∪Z2∪等∪Zk等于U,U为其涉及范围的状态全集.

B是连接不同节点间的有向弧,A为B中各连接弧的权重,即权重θij的集合.

θij等于P(子层状态为xj|父层状态为yi)等于p(X等于xj|Y等于yi)

这样我们就构造了一个层次结构的贝叶斯网,不但大大降低了连接复杂度,也与项目管理的实际情况相吻合.

层次结构的贝叶斯网络推理模型充分利用软件项目管理中的结构信息,降低了网络的复杂度,为网络学习提供了可能性.该网络既可以实现项目状态预测,也可用于项目缺陷的确定.

在状态网中θij表示当状态yi发生时,状态xj在未来发生的概率.在缺陷原因界定网中θij表示当缺陷yi发生时,该缺陷是由xj造成的概率.状态预测网和缺陷原因界定网,其原理是一致的,只是推理方向和连结参数值不同,为了讨论的方便,我们在下文中将主要描述状态预测网的处理方法.

二、学习

在实际问题中,领域专家直接给出节点间的相关度λij,它表征了一个原因节点与结果节点间的相关性,当λij等于1时,表征了两者完全相关,当λij等于0两者完全无关,即在两个节点间不存在连接弧,但为了实现贝叶斯网的推理和学习,我们需要用条件概率θ表示节点间的连接强度,首先选用具有共轭性的狄利克莱分布作为θ先验分布,令:

式(5)给出了完备实例数据情况下的学习算法,所谓完备实例数据是指推理网中的每个节点都有采样统计数据.但在实际应用中,有时收集的数据不够全面,发生数据缺失,在这种不完备实例情况下,θ的先验和后验分布不再是狄利克莱分布,这时我们可以通过改造期望最大化算法来实现对联结参数的估计[10],具体算法如下:

算法1:

Step1:对整个网络的各节点间的连接强度选择随机值θij,0<θij<1.

Step2:如果父节点和子结点都有观测数据时,计算ij等于等于

Step3:如果父节点和子结点有缺失数据,ij等于

Step4:如果|θij-ij|>ε,gotoStep2.Step5:结束

三、推理

条件概率θij描述子层状态节点xj对其父节点yi的概率依赖程度,贝叶斯网络的结构特征与变量间的条件独立性满足马尔可夫条件,即任一变量在已知其父节点取值状态的条件下,独立于它的所有非子孙节点,由链式法则有:

p(X等于xj)等于p(X等于xj|Ym..,Y2,Y1)(6)

其中m为节点X在贝叶斯网中的层次,即其祖先层的数量,Yi-1为Yi的父层,Ym等于X.

在已知k-1层系统状态yi的概率的情况下,可根据式7推导出第k层每个节点xj的概率.

p(Yk等于xj)等于p(Yk等于xj|Yk-1等于yi)等于θk

ijp(Yk-1等于yi)(7)

yi等于parcent(xj)为xj的父节点,n为parcent(xj)的节点个数,θk

ij为第k层节点xj与k-1层节点yi连接强度.

在已知系统处于某状态yj时,令p(yj)等于1,然后利用式(6)和式(7),推导出其子孙层的各节点的概率,这样我们可以根据项目的目前状态,推导出项目的发展趋势,从而提高在项目管理中的风险分析和预测能力,提高整个项目的管理质量.

四、应用

我们以上海信息中心提供的数据为例,建立起一个用于预测Bug率的贝叶斯推理网,结构(如图2所示).

图2各节点的意义(如表1所示).

首先由专家给出图2中各状态间的相关度λ,然后根据统计数据,利用算法1和算式5计算各θ值,数据(如表2所示).

对一个预算为100个人月的项目,假定单元测试时bug率为3‰,运用(6)(7)式我们可以推算出L1发生的概率为28‰,L2发生的概率为42‰,L3发生的概率为30‰.该预测可以为公司安排维护人员和考评项目管理提供决策依据.

该网络模型及其处理方法,已应用在作者开发的“企业数据架构中心”的软件中,该软件已获得软件产品认证.

结论

利用层次关系中所蕴含的条件独立性,本文定义了一种层次贝叶斯网络模型,有效降低了大规模贝叶斯网络的复杂度.作者还提出了该网络的学习算法,通过该算法,在允许专家根据自己经验给出相关度的情况下,系统可以通过学习推导出贝叶斯网连接强度,即利于推理网的构建,又可采纳比较严格的数学推理方式,具有一定的实用价值.

相关论文

ei期刊发表网软件项目管理

本文是一篇博士生论文范文,关于博士生方面本科毕业论文,关于ei期刊发表网软件项目管理相关硕士学位毕业论文范文。适合博士生及大学博士及思。

贝叶斯网络策略在试卷中的运用

本文是一篇参考文献论文范文,参考文献相关硕士论文开题报告,关于贝叶斯网络策略在试卷中的运用相关专科毕业论文范文。适合参考文献及比较好。

软件项目管理中的风险识别与管理

本文是一篇风险管理论文范文,关于风险管理类大学毕业论文,关于软件项目管理中的风险识别与管理相关本科论文范文。适合风险管理及项目管理及。

ei会议发表软件项目管理

本文是一篇专业论文范文,专业类有关电大毕业论文,关于ei会议发表软件项目管理相关函授毕业论文范文。适合专业及奖学金及研究生方面的的大学。

软件项目管理过程其实施要点

本文是一篇软件项目管理论文范文,软件项目管理有关毕业论文格式模板,关于软件项目管理过程其实施要点相关函授毕业论文范文。适合软件项目管。

关于软件项目管理常见问题的

本文是一篇软件项目管理论文范文,关于软件项目管理方面自考毕业论文开题报告,关于关于软件项目管理常见问题的相关毕业论文格式模板范文。适。

软件项目管理环境下的质量管理

本文是一篇质量管理论文范文,质量管理相关学年毕业论文,关于软件项目管理环境下的质量管理相关专升本毕业论文范文。适合质量管理及项目管理。