一种计算系统首次被无关触发概率的方法技术领域
本发明属于不完全故障覆盖系统的可靠性领域,具体涉及一种计算系统首次被无
关触发的概率方法。
背景技术
对于高可靠性系统,容错技术是一个基本的构造属性,被应用在例如飞行控制、太
空任务和数据存储等重要的系统中。一个容错系统通常是用来解决系统中最有可能发生的
错误,这些错误包括硬件有关的故障、软件的错误和故障、以及软硬件间接口的错误等。
容错一般是依赖冗余的概念来完成的。尽管一般的高可靠系统采用了足够的冗余
来实现容错,但一旦故障不能被系统完整地检测、定位和恢复,就会立刻产生系统失效,这
种行为属于未覆盖失效,基于计算机的容错系统通常会未完全故障覆盖的情况。在传统的
覆盖模型中,通常只覆盖故障组件,而不考虑系统的关联性。
系统关联性是指系统中的组件相互关联共同影响系统。但在实际系统中,很多初
始关联的系统在运行过程中,由于某些组件的覆盖失效导致其他组件与系统失去关联。在
不完全故障覆盖模型中,任何组件的未覆盖故障则会直接导致系统失效。也就是说,如果一
个无关的组件不失效就不会被隔离,但一个相关组件的未覆盖错误和一个无关组件的未覆
盖错误一样都会导致系统的失效。
因此,检测并隔离无关组件是系统可靠性分析中必要的组成部分。
发明内容:
为了克服上述背景技术的缺陷,本发明提供一种计算系统首次被无关触发概率的
方法。
为了解决上述技术问题本发明的所采用的技术方案为:
一种计算系统首次被无关触发概率的方法,包括:
步骤1,构建系统的布尔结构表达式;
步骤2,计算系统的最小割集;
步骤3,计算系统中各组件的最小无关触发集合;
步骤4,对系统中组件的寿命模拟全排列,根据系统的最小割集和各组件的最小无
关触发集合计算每个排列的系统被首次触发无关的时间;
步骤5,统计系统被首次触发无关时间点的次数,计算系统在各时间点被首次无关
触发的概率,得到系统首次被触发无关的时间概率向量。
较佳地,步骤1构建系统的布尔结构表达式为f(x1,…,xn),其中,x1,…,xn分别为
系统的n个组件。
较佳地,步骤2计算系统的最小割集集合MCS为MCS[f(x1,…,xn)]={K1,K2,…,Kr},
其中,K1,K2,…,Kr表示系统的r个最小割集。
较佳地,步骤3计算系统中各组件的最小无关触发集合
![]()
其中
f[0/xi]表示当xi=0
即组件xi正常运行情况下系统的布尔表达式,f[1/xi]表示当xi=1即组件xi失效情况下系
统的布尔表达式,
为逻辑运算符“否”;\表示集合的差分算子运算,PPI[g]为g的正素蕴含
式,系统f的正素蕴含式即为系统的最小割集,PPI[f(x1,…,xn)]=MCS[f(x1,…,xn)];mi表
示该系统中第i个组件的最小无关触发的个数,
表示第i个组件的最小无关触
发,则MIT[xi,f(x1,…,xn)]表示系统f(x1,…,xn)中第i个组件的最小无关触发集合。
较佳地,步骤4具体包括:
系统中n个组件的寿命均为独立同分布的连续随机变量,X(i)为第i个最小组件寿
命,P为整数集合{1,2,…,n}全排列集合,组件寿命排列为π,π为P中的任一排列,即π=
(π(1),π(2),…,π(n))∈P;则系统寿命时间T可表示为:
![]()
其中,Xj表示割集Ki中的一个元素。
系统首次被无关触发的时间R公式为:
![]()
其中,Ij表示组件xi的最小无关触发MIT集合中的一个子集,即![]()
Xk为子集Ij中的一个元素;
对于任一排列π,当T≤R时,表示系统在首次出现无关组件之前已失效,失效时的R
表示为0。
较佳地,步骤5具体包括:
获取系统在时间点X(j)首次出现无关组件的概率
其中n!是排列的次数,
时间点X(j)出现的次数C(X(j))=k;
获取系统首次被无关触发的时间概率向量
SIPT(f)=(P(X(1)),P(X(2)),…,P(X(n)))。
本发明的有益效果在于:本发明以完全非参数的方法比较不同系统的性能及其组
件的关联性,而不涉及组件的寿命分布。可以在无参数的情况下,评估系统运行过程中首次
出现无关组件的时间点,从而对比不同结构系统关联性的优劣。
附图说明
图1为本发明实施例的系统结构示意图;
图2为本发明实施例的方法流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步的说明。
最小割集MCS(Minimal Cut Set)是指:在可靠性分析中,最小割集通常指导致系
统整体失效的一组(一个或多个)故障组件的最小集合。
无关性组件:当前组件是否失效对其他组件或整个系统的正常运作没有影响。
最小无关触发MIT(Minimal Irrelevant Trigger)是指:设f为当前系统的布尔表
达式,x为当前系统组件,MIT[x,f]表示为组件x失效导致的无关性组件的最小集合(不包含
f的最小割集及含非子式)。
下面结合附图表和实例对本发明进行详细的描述,本实施例的一种计算系统首次
被无关触发概率的方法的具体步骤包括:
步骤1,构建基于系统的布尔结构表达式。
假设一个系统有n个组件,分别为x1,…,xn。系统中任一组件xi(1≤i≤n)有且仅有
两种状态,分别为0和1,0表示组件正常工作,1表示组件失效。则系统的布尔结构表达式为:
f(x1,…,xn)
通常我们假设系统的组件初始状态均为正常,即x1=x2=…=xn=0,此时系统也
处于正常工作状态。
例如,图1中系统的布尔结构表达式为:
f(x1,x2,x3)=(x1∨x2)∧x3
步骤2,计算系统的最小割集MCS[f(x1,…,xn)]={K1,K2,…,Kr}。
本实施例是使用布尔代数简化法计算系统最小割集,这种方法的理论依据是:布
尔结构表达式和布尔代数的运算相似,所不同的只是“V”、“∧”与“+”、“×”的问题。实质上,
布尔代数中的“+”、“×”和结构式中的“V”、“∧”是一致的。这样,用布尔代数简化,最后求出
的若干组件逻辑积的逻辑和,其中,每个逻辑积就是最小割集。由此,r表示所给系统最小割
集的个数,K1,K2,…,Kr表示系统的最小割集,则系统的最小割集集合MCS[f(x1,…,xn)]=
{K1,K2,…,Kr}
以图1为例进行简化:
f(x1,x2,x3)=(x1+x2)×x3=x1×x3+x2×x3
所得的系统最小割集为{x1,x3},{x2,x3},即MCS[f(x1,x2,x3)]={{x1,x3},{x2,
x3}}。
对于简单且组件数量较少的系统可以使用上述方法,但对于复杂系统,布尔代数
简化法运算量较大,推荐使用二元决策图算法计算最小割集。
基于二元决策图算法计算最小割集在如下的参考文献中有详述:Rauzy A.New
algorithms for fault trees analysis.Reliability Engineering&System Safety,
1993;40:203-11.,在此不详细描述。
步骤3,计算系统中各组件的最小无关触发集合。
本发明中计算系统各组件的最小无关触发的算法在如下的参考文献中有详述:
J.Xiang,F.Machida,K.Tadano,Y.Maeno,An Imperfect Fault Coverage Model With
Coverage of lrrelevant Components,IEEE Transactions on Reliability,vol.64,
no.1,pp.320-332,2015。
计算组件最小无关触发集合MIT的公式为:
![]()
其中
其中f[0/xi]表示当
xi=0即组件xi正常运行情况下系统的布尔表达式,f[1/xi]表示当xi=1即组件xi失效情况
下系统的布尔表达式,
为逻辑运算符“否”。\表示集合的差分算子运算,并将PPI[g]定义
为g的正素蕴含式,而系统f的正素蕴含式即为系统的最小割集,即PPI[f(x1,…,xn)]=MCS
[f(x1,…,xn)]。mi表示该系统中第i个组件的最小无关触发的个数,
表示第i
个组件的最小无关触发,则MIT[xi,f(x1,…,xn)]表示系统f(x1,…,xn)中第i个组件的最小
无关触发集合。
以图1为例,组件x1的最小无关触发计算过程如下:
![]()
故组件x1的最小无关触发为{{x2}}。依次图1实例中各组件的最小无关触发,得到
系统中各组件最小无关触发的集合为:
![]()
步骤4,对系统中组件的寿命模拟全排列,根据系统的最小割集和各组件的最小无
关触发集合计算在每个排列下系统被首次无关触精的时间。
假设中n个组件的寿命分别为X1,X2,…,Xn,组件寿命是独立同分布的连续随机变
量,分布函数为F。令X(j)为第j个最小组件寿命,其中j=1,2,…,n。P为整数集合{1,2,…,n}
全排列集合,即P中有n!个元素。π为其中任一排列,即π=(π(1),π(2),…,π(n))∈P,其中π(k)(1
≤k≤n)表示π中的一个元素。这意味这X1,X2,…,Xn之间的顺序为:
![]()
T表示系统的寿命,则系统寿命可以有下列公式表示:
![]()
其中,Xj表示割集Ki中的一个元素。
计算系统首次被无关触发的时间R公式为:
![]()
其中,Ij表示组件xi的最小无关触发MIT集合中的一个子集,即Ij∈{I1,I2,…,Im}。
Xk为子集Ij中的一个元素。
对于任一排列π,当T≤R时,表示系统在首次出现无关组件之前已失效,此状况没
有讨论首次被无关触发的意义,故此时的R表示为0。
以图1为实例,对于组件寿命全排列得到系统的寿命已经首次被无关触发的时间
如表1所示:
表1
π
Aπ
T
R
(1,2,3)
X1<X2<X3
X(3)
X(1)
(1,3,2)
X1<X3<X2
X(2)
X(1)
(2,1,3)
X2<X1<X3
X(3)
X(1)
(2,3,1)
X2<X3<X1
X(2)
X(1)
(3,1,2)
X3<X1<X2
X(2)
0
(3,2,1)
X3<X2<X1
X(2)
0
步骤5,统计系统被首次触发无关时间的次数,计算系统在各时间被首次无关触发
的概率,得到系统首次被触发无关的概率向量。
对于R,时间点X(j)出现的次数C(X(j))=k,则系统在时间点X(j)首次出现无关组件
的概率
其中n!是排列的次数。
综上所述,系统首次被无关触发的时间概率向量为:
SIPT(f)=(P(X(1)),P(X(2)),…,P(X(n)))
如图1所示实例,各时间点系统首次出现无关组件的概率分别为:
![]()
P(X(2))=0
P(X(3))=0
则该系统首次被触发无关时间的概率向量为:
![]()
以上实例为简单系统的无关性分析,本发明适用于复杂系统的无关性分析,并通
过计算机进行快速分析。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,
而所有这些改进和变换都应属于本发明所附权利要求的保护范围。