递归合并和BDD法进行最小割集枚举和网络可靠性评估

递归合并和BDD法进行最小割集枚举和网络可靠性评估

Minimal Cutset Enumeration and Network Reliability Evaluation by Recursive Merge and BDD

申明
版权归原文作者及出版单位所有,如有侵权请联系删除。

摘要

网络可靠性评估中的关键任务之一是枚举网络的所有路径或最小割集。然后,可靠性可以从这些项的不交形式中计算出来。如果路径数量太多而无法实际枚举,则枚举所有最小割集可能是评估网络可靠性的可行方法。这种网络的一个例子是2x100的格子网络。已经提出了许多算法来枚举图的最小割集。其中大多数算法需要高级数学知识,或者只能应用于有向和无向图中的其中一种广泛类别。本文提出了一个简单而系统的递归算法,保证生成的割集是最小的,并且相同的逻辑可以轻松应用于有向和无向图。该算法实现简单高效,还可以用于检查其他算法生成的割集的正确性。此算法还可以与OBDD(有序二进制决策图)结合,计算网络的可靠性。实验结果显示:(1)对于给定节点数,枚举所有割集的运行时间与图的密度呈线性关系;(2)评估一个具有 2 99 2^{99} 299条路径的 2 × 100 2×100 2×100格子网络的网络可靠性需要 96.71 96.71 96.71秒。

1.介绍

网络可靠性评估中的一个关键任务是枚举网络的所有路径或最小割集。然后,可靠性可以从这些项的不交形式中计算出来[1-2]。有些网络的路径数量非常庞大,因此枚举所有这些路径是不切实际的。如果最小割集的数量远少于路径的数量,那么通过割集来评估可靠性可能是可行的方法。一个 2 × 100 2×100 2×100的格子网络就是这样的例子。它有 2 99 2^{99} 299条路径,但只包含10000个最小割集。

另一种方法是通过应用边扩展图和OBDD(有序二进制决策图)来评估可靠性,而无需枚举所有路径或割集[3-4]。虽然这种方法可以高效地评估网络可靠性,但它不会生成网络的路径集(所有路径的集合)或割集。在某些应用中,例如网络管理或网络流量控制和计算,路径集或割集可能会很有用。我们的算法可以生成所有最小割集并评估可靠性。对于具有10个节点的完整网络,它甚至比[4]中的方法更快。

已经提出了许多用于生成有向或无向图的最小割集的算法[5-13]。其中一些算法需要对图进行特殊预处理,或者只能应用于特殊类型的图[9、12、13]。有些算法需要高级数学[5],而有些算法只能应用于无向网络。另一种方法通过反转最小路径集[10]来获取最小割集,但生成图的路径集可能是不切实际的。

Tsukiyama [7] 提出了一种方法和数学背景,用于枚举图的所有最小割集(在他们的论文中也称为 s − t s-t st割集)。选择顶点的方法可以更加明确和系统化。

本文提出了一个简单而系统的算法,保证生成的割集是最小的,并且相同的逻辑可以轻松应用于有向和无向图。这个算法非常简单,实现起来很高效,甚至可以用于检查其他算法的正确性[6、14]。该算法还可以与BDD结合,计算网络的可靠性。不幸的是,枚举所有的割集是一个众所周知的NP困难问题[15],我们的实验也证明了这种计算时间的指数增长率。

实验结果还显示:(1)对于给定节点数,枚举所有割集的运行时间与图的密度呈线性关系;(2)评估一个具有 2 99 2^{99} 299条路径的2x100格子网络的网络可靠性需要96.71秒。

2. 预备知识

符号说明:

符号意义
V , E V,E V,E分别表示顶点和边的集合
G G G表示一个图, G = [ V , E ] G = [V, E] G=[V,E]
(u, v)表示连接顶点 u 和 v 的无向边,其中 u 和v∈V
<u, v>表示从顶点 u 到 v 的有向边,其中 u 和 v∈V
s,t分别表示源节点和汇节点
S,T表示不相交的顶点集合,使得 s∈S 和 t∈T
SS(源集)表示包含 s 并且 SS 连通的顶点集合
G*n表示将节点 n 通过删除与 n 和 SS 连接的任意边,合并到 G 的 SS 中

如果每对顶点之间都存在路径,则图被称为连通图。如果 V ’ ⊂ V V’ ⊂ V VV 并且 E ’ ⊂ E E’ ⊂ E EE,则图
G ’ = [ V ’ , E ’ ] G’ = [V’, E’] G=[V,E] 是图 G G G 的子图。图 G G G 的最大连通子图称为 G G G 的连通分量。对于 V V V 的任何子集 X X X,由顶点集合 X X X 和边集合 E [ X ] ≡ { e = ( u , v ) ∈ E ∣ u , v ∈ X } E[X] ≡\{e = (u, v)∈E | u, v∈X\} E[X]{e=(u,v)Eu,vX} 构成的图被称为 G G G 的分段子图,表示为 G [ X ] = [ X , E [ X ] ] G[X] = [X, E[X]] G[X]=[X,E[X]]。如果存在边 < u , v > <u, v> <u,v> ( u , v ) (u, v) (u,v),其中 u ∈ X u∈X uX v ∉ X v∉X v/X,则称节点 v v v G [ X ] G[X] G[X] 相邻。换句话说,如果存在从 X X X 到节点 v v v 的边,则节点 v v v X X X 相邻。令 s ∈ S s∈S sS t ∈ S ˉ ≡ V – S t∈\bar{S} ≡V – S tSˉVS,并设连接 S S S S ˉ \bar{S} Sˉ 的边集合表示为割集 C = w ( S , S ˉ ) ≡ { ( u , v ) ∈ E ∣ u ∈ S , v ∈ S } C = w(S, \bar{S} ) ≡\{(u, v)∈E | u∈S,v∈ S \} C=w(S,Sˉ){(u,v)EuSvS}。如果 C C C 不包含其他割集,则称其为最小割集
根据 [7] 中的引理 4,如果我们可以找到两个连通分量 S S S S ˉ \bar{S} Sˉ,其中 s ∈ S s∈S sS t ∈ S ˉ t∈ \bar{S} tSˉ,这样,与 S S S 相邻的节点均在 S ˉ \bar{S} Sˉ 中,则存在单个最小割集 C = w ( S , S ˉ ) C = w(S,\bar{S} ) C=w(S,Sˉ)
[7] 中的引理 3 指出,如果 S ˉ \bar{S} Sˉ 不是连通的,则包含 t t t 的一个连通分量 W W W 中未包括的任何其他节点可以合并到 S S S 中,以形成一个新的 S。详细的证明请参考 [7]。我们的算法基于这两个引理。为了证明我们的算法确实枚举了所有最小割集,我们需要证明:(1)我们的算法在中间子图中不会产生孤立节点,以及(2)由算法在 [7] 中生成的任何割集也可以由我们的递归合并算法生成。在算法说明之后,我们将在第 4 节中给出证明。

3. 无向图的算法

对于任何连通图 G G G,很明显,删除从 s s s 发出的所有边将阻止 s s s 到达 t t t。如果其中一条边没有被删除,那么 s s s 就有一种出路,可以通过剩下的连通图到达 t t t。因此,这是 G G G 的一个最小割集。基本思想是将源节点推广为源集。然后,最小割集由从源集发出的所有边组成。
该算法在图1中以伪代码形式呈现,并通过将 G G G 初始化为原始图,将 S S SS SS 初始化为空,将 n n n 初始化为 s s s 来调用。在算法中,我们逐个合并与源集相邻的节点,并将 G G G 的冗余节点吸收(合并)到 S S SS SS。这可以确保从特定 S S SS SS 发出的所有边的集合是一个最小割集。在传统意义上,如果一个节点 n n n 除了 s s s t t t 之外只与另一个节点相连,那么该节点被称为冗余节点。在本文中,如果一个节点与 S S SS SS 相邻并且没有经过 S S SS SS 中的任何节点就无法到达 t t t,那么该节点被称为冗余节点。如果在哈希表(hash table)中找到一个 S S SS SS,则已在递归过程中对其进行了评估,无需进行任何操作。如果在哈希表中找不到一个 S S SS SS,则将其添加到哈希表中,然后输出一个割集。割集是从 S S SS SS 发出的所有边的集合。然后,将与 SS 相邻的任何节点逐个合并到 S S SS SS 中,形成一个新的 S S SS SS,并调用递归函数。可以将 S S SS SS 视为代表原始 s s s 的单个节点。通过删除连接此节点和 S S SS SS 中任何节点的任何边,将节点合并到 S S SS SS 中,同时保持所有其他边不变。

在这里插入图片描述
在这里插入图片描述

图1:最小割集枚举算法

图2说明了这个算法,图中包含5个节点和6条边。节点1和5分别是 s s s t t t
在这里插入图片描述

图2:递归合并算法示例

R e c u r s i v e M e r g e RecursiveMerge RecursiveMerge 算法从将 S S SS SS 设置为空, n n n 设置为 1 开始。在图2中,矩形 G 1 G_1 G1 输出了一个割集 { e 1 , e 2 } \{e_1, e_2\} {e1,e2}。在 G 1 G_1 G1 中与 S S SS SS 相邻的有两个节点,2 和 3, S S SS SS 与它们合并产生 G 2 G_2 G2 G 3 G_3 G3。然后 G 2 G_2 G2 与节点3合并为 G 4 G_4 G4,得到包含 { 1 , 2 , 3 } \{1, 2, 3\} {1,2,3} S S SS SS 并输出一个割集 { e 3 , e 4 , e 5 } \{e3, e4, e5\} {e3,e4,e5}。在 G 2 G_2 G2 中的 S S SS SS 也可以与节点4合并,得到 S S = { 1 , 2 , 4 } SS =\{1, 2, 4\} SS={1,2,4}。正如我们在图中看到的,节点3将变成一个冗余节点,并且必须被吸收到 S S SS SS。它通过将节点3吸收到 S S SS SS 中来创建 G 6 G_6 G6。当然,如果没有在哈希表中找到 G 6 G_6 G6,它将产生一个割集,并像正常的子图一样调用递归合并函数。如果 G 3 G3 G3 与节点2合并,其 S S SS SS 将包含 { 1 , 2 , 3 } \{1, 2, 3\} {1,2,3} 并且在哈希表中找到。因此,不会输出割集,并且不需要进行递归处理。在图2中有 6 个矩形 G 1 G_1 G1 G 6 G_6 G6,这意味着我们对于这个图有 6 个割集。

4.有向图算法

上述算法也可以应用于有向图,无需进行修改。但是在有向图中需要注意哪些节点可以合并到 S S SS SS,哪些节点可以被吸收到 S S SS SS中。在有向图中,如果存在一个从节点 u u u到节点 v v v的有向边 < u , v > <u, v> <u,v>,那么节点v可以合并到 S S SS SS中。类似地,如果存在一个从节点 u u u到节点 n n n的有向边 < u , n > <u, n> <u,n>,并且节点 n n n没有不通过 S S SS SS中的任何节点到达 t t t的路径,那么节点 n n n可以被吸收到 S S SS SS中(即 n n n的所有路径都要经过 S S SS SS中的某些节点)(Similarly, a node n can be absorbed into SS if there is a node u∈SS such that <u, n> is an edge and n have no way to get to t without going through any node in SS)。
考虑一个有向图的中间子图,如图3所示。
在这里插入图片描述

图4:一个中间子图(有向)

如果 e 4 e_4 e4不存在,则节点 x x x y y y都是冗余节点,应该被吸收到 S S SS SS中。如果 e 4 e_4 e4存在,则只有节点 x x x是冗余节点,被吸收到 S S SS SS中。因此,在有向图中,如果一个节点 n n n不是冗余节点,从 n n n可以到达的任何其他节点不一定是非冗余节点。但是,如果一个节点 n n n是冗余节点,那么从 n n n可以到达的任何节点 r ∉ S S r∉SS r/SS也是冗余节点。否则, n n n将通过 r r r到达 t t t的路径。
对于无向图,在递归合并算法中,如果能够将一组冗余节点吸收到 S S SS SS中,可以提高性能。
考虑一个无向图的中间子图,如图4所示。
在这里插入图片描述

图4:一个中间子图(无向)

如果边 e 4 e_4 e4不存在,节点 x x x y y y都是冗余节点,应该被吸收到 S S SS SS中。显然,如果边 e 4 e_4 e4存在,节点 x x x y y y都不是冗余节点,不应被吸收到 S S SS SS中。换句话说,在无向图中,如果一个节点 n n n是冗余节点,任何从 n n n可以到达的节点 r ∉ S S r∉SS r/SS也是冗余节点。因此,在无向图中可以将一组节点吸收到 S S SS SS中,从而加速枚举过程。在某些图中,我们观察到与一次吸收一个节点的方法相比,速度提高了多达3倍。其他复杂的方法或数据结构也可以设计用于改善哈希机制中的性能或者找到中间 S S SS SS的冗余节点。

以下的两个引理和[7]中的引理证明了我们的递归合并算法确实生成了完整的最小割集枚举。[7]中的引理在本文中没有再次描述。

引理1:对于一个连通图的输入,递归合并算法不会在任何中间子图中产生孤立节点。
【证明】 在递归合并算法中,合并(或吸收)是唯一会删除边的过程。根据算法,如果它们是相连的,一组节点 S S SS SS可以一起合并。此外,对于任何节点 u ∈ V − S S u∈V - SS uVSS v ∈ V v∈V vV,连接 u u u v v v的任何边,无论是 ( u , v ) (u, v) (u,v) < u , v > <u, v> <u,v>还是 < v , u > <v, u> <v,u>,都不会被删除。换句话说,它们与其他一些节点相连。因此,递归合并算法不会在任何中间子图中产生孤立节点。

引理2:由[7]中的算法生成的任何割集也会被我们的递归合并算法生成。
【证明】[7]中的算法将图分成两个相连的分量 S S S S ˉ \bar{S} Sˉ ,其中 s ∈ S s∈S sS t ∈ S ˉ t∈ \bar{S} tSˉ ,这样,不在 S S S中的任何节点都在 S ˉ \bar{S} Sˉ中。然后,连接 S S S S ˉ \bar{S} Sˉ的边是一个最小割集。在递归合并算法中,由于只有相连的节点才能被合并在一起,所以 S S SS SS是相连的。我们想要证明 t t t S S ˉ \bar{SS} SSˉ中且 S S ˉ \bar{SS} SSˉ也是相连的。在算法中,递归在到达 t t t时终止。此外,按照定义, t t t不是冗余节点。因此, t t t S S ˉ \bar{SS} SSˉ中。根据定义,如果一个节点与 S S SS SS相邻,且没有不通过 S S SS SS中的任何节点到达 t t t的路径,那么它被称为冗余节点(redundant node)。考虑一个与 S S SS SS不相邻的冗余节点 v v v。必然存在一个与 S S SS SS相邻且可以到达 v v v的冗余节点 u u u。从 u u u v v v路径上的每个节点也是冗余节点,因为如果它们不是冗余的,那么 u u u也不会是冗余的。沿着这条路径的节点可以被吸收(合并)到 S S SS SS中。因此,任何冗余节点都可以被吸收到 S S SS SS中。换句话说,任何 n ∈ S S ˉ n∈\bar{SS} nSSˉ的节点都有一条到达 t t t的路径。因此, S S ˉ \bar{SS} SSˉ是相连的。

5. 使用BDD进行可靠性评估

B D D BDD BDD(布尔决策图)[3]是基于布尔函数的分解,称为 S h a n n o n Shannon Shannon展开。一个函数 f f f可以按照变量 z z z分解为:

f = z ⋅ f z = 1 + z ˉ ⋅ f z = 0 f = z \cdot f_{z=1} + \bar{z} \cdot f_{z=0} f=zfz=1+zˉfz=0

在上述方程中, z = 1 z=1 z=1时, f z = 1 f_{z=1} fz=1被称为关于 z z z的正项因子,即用 z = 1 z=1 z=1进行评估的结果。类似地, z = 0 z=0 z=0时, f z = 0 f_{z=0} fz=0是负项因子。在 B D D BDD BDD中,节点 z z z及其后代代表布尔函数 f f f z z z的一个出边指向代表 f z = 1 f_{z=1} fz=1的子图,另一个出边指向代表 f z = 0 f_{z=0} fz=0 的子图。在 B D D BDD BDD中,虚线表示值为 0 0 0,实线表示值为 1 1 1。从根节点沿着一条路径到达终端节点,我们可以通过连续地对函数进行因子化来计算函数的值,直到达到终端节点。

B D D BDD BDD具有一个有用的属性,即保证从根节点到终端节点的所有路径互不相交。因此,图5中的递归合并算法可以通过使用 B D D BDD BDD进行修改,用于评估图的不可用性。该算法在图5中显示。 R M _ B D D RM\_BDD RM_BDD中的 g B d d gBdd gBdd是一个全局 B D D BDD BDD变量,初始化为 b d d _ Z e r o bdd\_Zero bdd_Zero。假设 P ( z ) P(z) P(z)是变量 z z z的成功概率。在生成了所有割集之后,可以使用 g B d d gBdd gBdd来通过以下方式评估不可用性:

P r ( g B d d ) = ( 1 − P ( z i ) ) × P r ( g B d d z i = 1 ) + P ( z i ) × P r ( g B d d z i = 0 ) Pr(gBdd) = (1-P(z_i))×Pr(gBdd_{z_i=1})+P(z_i)×Pr(gBdd_{z_i=0}) Pr(gBdd)=(1P(zi))×Pr(gBddzi=1)+P(zi)×Pr(gBddzi=0)

可靠性和可用性(可靠度)的总和应为 1 1 1。因此,可以通过从1中减去不可用性来得到图的可靠性。图6显示了图2的 B D D BDD BDD和不可用性。假设每条边的成功概率为 0.9 0.9 0.9。从图6中可以看出,图2的可靠性为 1 − 0.031078 = 0.968922 1 - 0.031078 = 0.968922 10.031078=0.968922
在这里插入图片描述

在这里插入图片描述

图5. 递归合并构建BDD

在这里插入图片描述

图6:图2的不可用性和BDD

6.实验结果

存在多种方法可以从网络的路径集或割集中得出 S D P SDP SDP(不交积)项。然后,通过评估 S D P SDP SDP项可以得到可靠性。Soh [2] 表明,不同的预处理方法可能产生不同数量的 S D P SDP SDP项,因此计算时间也会不同。不幸的是,枚举大型网络的所有路径或割集是不切实际的。Kuo [4] 提出了一种非常高效的方法来解决这个问题。他们的方法不枚举所有的路径或割集。相反,他们使用边扩展图和二进制决策图( B D D BDD BDD)。然后,通过遍历 B D D BDD BDD来评估可靠性。在某些应用中,如网络管理或网络流控制和计算中,路径或割集的集合可能非常有用。
我们将德摩根定律应用于[4]中的 P a t h _ F u n c t i o n _ C o n s t r u c t Path\_Function\_Construct Path_Function_Construct算法,并从中导出了一种使用边扩展图的基于割的算法。我们还实现了这个基于割的算法,并在本文中称之为 C u t _ E E D Cut\_EED Cut_EED以进行识别和比较。我们测试了[2, 4]中的十二个基准网络,它们显示在图7中。
在这里插入图片描述

图7:12种基准网络

C u t _ E E D Cut\_EED Cut_EED R M _ B D D RM\_BDD RM_BDD都是使用C++编写,并在Linux系统上使用gcc 3.2进行编译。我们的硬件系统配备有1GHz的Pentium-III CPU和512MB的内存。这些12个基准网络的实验结果显示在表1中。时间单位为秒。请注意,[2]中的运行时间不包括枚举所有路径或割集的时间,而我们的运行时间包括枚举所有割集的时间。
在这里插入图片描述

表1:不同基准网络的比较

C u t _ E E D Cut\_EED Cut_EED使用的边扩展图与递归合并算法 R M _ B D D RM\_BDD RM_BDD相比,每次可以删除更多的边。此外,边扩展图产生的子问题比递归合并算法少得多。因此,基于边扩展图的算法通常比 R M _ B D D RM\_BDD RM_BDD更快。但对于网络11来说,情况并非如此。边扩展图与 R M _ B D D RM\_BDD RM_BDD一样,产生了许多子问题。如果在哈希表中找到一个 S S SS SS R M _ B D D RM\_BDD RM_BDD会停止递归函数调用,并在每个割集上应用 B D D BDD BDD操作( A N D AND AND O R OR OR)。与 R M _ B D D RM\_BDD RM_BDD不同, C u t _ E E D Cut\_EED Cut_EED还将 B D D BDD BDD操作应用于同构子图。除了这些事实,网络11的割数量也比路径数量少得多。这可能是 R M _ B D D RM\_BDD RM_BDD C u t _ E E D Cut\_EED Cut_EED对于网络11更快的原因。

对于某些网络而言,枚举所有路径是不切实际的,因为路径数量巨大。考虑图7中的网络12。虽然它有 2 99 2^{99} 299条路径,但只包含 10000 10000 10000个割集。虽然 C u t _ E E D Cut\_EED Cut_EED R M _ B D D RM\_BDD RM_BDD更快,但除了可靠性评估之外的应用可能需要路径集或割集。枚举它们的割集似乎是这种网络的可行替代方法。 R M _ B D D RM\_BDD RM_BDD可以在合理的时间内计算出网络12的可靠性。

我们还在一些随机生成的图上运行了递归合并算法,并测量了它们枚举所有割集的时间。图8显示了运行时间与密度之间的关系。节点数范围从16到20,密度从0.4到1.0,步长为0.1。图密度定义为 2 m n ⋅ ( n − 1 ) \frac{2m}{n\cdot(n-1)} n(n1)2m,其中 m m m n n n分别为边数和节点数
在这里插入图片描述

图8:处理时间与图密度的关系

从图8可以看出,对于特定的节点数,处理时间与图的密度呈线性增长关系。表2显示了19节点和20节点网络的详细结果。不幸的是,在时间和密度之间的线性关系之下隐藏着指数增长率的本质。这种指数增长率在图9中得以展示,我们绘制了枚举所有割集所需时间与节点数之间的关系。割集数量随节点数的增加迅速增加,以至于不可能枚举大图的所有割集。
在这里插入图片描述

图9:割集枚举指数增长的本质

最后,我们还验证了[14]中的网络,并确认我们的算法也生成了214个割集。

7.结论

本文介绍了一种简单的递归算法,利用了将冗余节点和源节点推广为源集合的思想。最小切割集由源集合发出的所有边组成。该算法还可以与 B D D BDD BDD相结合,评估网络可靠性。算法的相同逻辑可以轻松应用于有向和无向图。该算法非常简单,可以用于检验其他算法的正确性。不幸的是,枚举所有切割集是一个众所周知的 N P NP NP难问题,我们的实验证明了计算时间呈指数增长率。实验结果还表明:(1)对于给定数量的节点,运行时间与图密度之间的关系是线性的;(2)仅需要96.71秒来评估一个具有 2 99 2^{99} 299条路径的2x100格网络的网络可靠性。

参考文献

[1] S. Rai and K. K Aggarwal, “An Efficient Method for Reliability Evaluation of a General Network,” IEEE Trans. Reliability, vol. 27, pp. 206-211, Aug 1978. 
[2] S. Soh and S. Rai, “Experimental Results on Preprocessing of Path/Cut Terms in Sum of Disjoint Products Techniques,” IEEE Trans. Reliability, vol. R-42, no. 1, pp. 24-33, Mar 1993. 
[3] R. E. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation,” IEEE Trans. Computers,vol. C-35, no. 8, pp. 677-791, Aug 1986. 
[4] Sy-Yen Kuo, Shyue-Kung Lu, and Fu-Min Yeh, “Determining Terminal-Pair Reliability Based on Edge Expansion Diagrams Using OBDD,” IEEE Trans. Reliability, vol. 48, pp. 234-246, Sep 1999. 
[5] Alberto Martelli, “A Gaussian Elimination Algorithm for the Enumeration of Cut Sets in a Graph,”Journal of A.C.M., vol. 23, pp. 58-73, Jan 1976. 
[6] S. Arunkumar and S. H. Lee, “Enumeration of All Minimal Cut-Sets for a Node Pair in a Graph,” IEEE Trans. Reliability, vol. 28, pp. 51-55, Apr 1979.
[7] S. Tsukiyama, I. Shirakawa, and H. Ozaki, “An Algorithm to Enumerate All Cutsets of a Graph in Linear Time Per Cutset,” Journal of A.C.M., vol. 27, no. 4, pp. 619-632, Oct 1980. 
[8] U. Abel and R. Bicker, “Determination of All Minimal Cut-Sets between a Vertex Pair in an Undirected Graph,” IEEE Trans. Reliability, vol. R-31, no. 2, pp. 167-171, Jun 1982. 
[9] C. S. Sung and B. K. Yoo, “Simple Enumeration of Minimal Cutsets Separating 2 Vertices in a Class of Undirected Planar Graphs,” IEEE Trans. Reliability,vol. R-41, no. 1, pp. 63-71, Mar 1992. 
[10] D. R. Shier and D. E. Whited, “Algorithms for Generating Minimal Cutsets by Inversion,” IEEE Trans. Reliability, vol. 34, pp. 314-319, Oct 1985. 
[11] D. R. Shier and D. E. Whited, “Iterative Algorithms for Generating Minimal Cutsets in Directed Graphs,” Networks, vol. 16, pp. 133-147, 1986. 
[12] S. H. Ahmad, “Simple Enumeration of Minimal Cutsets of Acyclic Directed Graph,” IEEE Trans. Reliability, vol. R-37, no. 5, pp. 484-487, Dec 1988. 
[13] L. Yan, and H. A. Taha, “A Recursive Approach for Enumerating Minimal Cutsets in a Network,” IEEE Trans. Reliability, vol. 43, pp. 383-388, Sep 1994. 
[14] V. Sankar, V. C. Prasad, and K. S. Parakasa Rao, “Comment on: Enumeration of All Minimal Cutsets for a Node Pair in a Graph,” IEEE Trans. Reliability,vol. R-42, no. 1, pp. 44-45, Mar 1993. 
[15] M. O. Ball, “Computational Complexity of Network Reliability Analysis: An overview,” IEEE Trans. Reliability, vol. 35, pp. 230-239, Aug 1986.

Hung-Yau Lin, Sy-Yen Kuo and Fu-Min Yeh, “Minimal cutset enumeration and network reliability evaluation by recursive merge and BDD,” Proceedings of the Eighth IEEE Symposium on Computers and Communications. ISCC 2003, Kemer-Antalya, Turkey, 2003, pp. 1341-1346 vol.2, doi: 10.1109/ISCC.2003.1214299.

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值