A Polynomial Time Algorithm For Fault Diagnosability

A Polynomial Time Algorithm for Fault D
~
~
~
o
a
a
~
~
~
by Gregory Sullivan
Yale University
Each object has two possible states ‘good’ or ‘faulty’. Fur-
Abstract
It is now possible to design and build systems which incorporate a large number of processing elements. For this reason,
fault-diagnosis at the system level [IS],a research area pioneered
by the work of Preparata, Metze, and Chien [28], is of increasing
importance. In [28], the fault-diagnosis properties of a system
are modeled with a digraph, and the concept of t-diagnosability
is introduced. A digraph is t-diagnosable if the system it models
can correctly identify t ( or fewer ) faults by self-testing.
This concept has been explored extensively since 1967. Several classes of digraphs (e.g. boolean cube [3], 0 6 , t [28, 261,
d(n,t o , z) [6] de Bruijn variant [27] ) have been analyzed in the
literature for their t-diagnosis properties. In addition, several
characterizations of thc t-diagnosable digraphs have appeared
118, 2, IO]. Algorithms based on these characterizations were
developed in [ S , IO],however, they require exponential time and
it was unknown if faster algorithms existed.
We resolve this open question by presenting the first polynomial time algorithm for t-diagnosability. The solution uses
network Bow techniques, runs in O(IEllV13/2)time and solves
the more general formulation: Given a digraph determine the
maximum t for which the digraph is t-diagnosable. We also
present part of our analysis of t/s-diagnosnbility. A digraph
is t/s-diagnosable [I51 if all faults can be localized to a set of
at most t vertices. ( i.e. faulty vertices need not be uniquely
identified ).
ther, a test returns exactly one of two possible values ‘good’ or
‘faulty’. Each of the tests is performed only once and they are
performed all at once. Note, to be useful the set of test results
should uniquely specify the ‘faulty’ objects. This goal is complicated by the fact that ‘faulty’ objects may produce spurious
results in the tests they conduct. Below, we formalize two related but distinct problems: the t-fault diagnosis problem (or
diagnosis problem ) and the t-fault diagnosability problem (or
diagnosability problem). In this paper we will use the graph
terminology of Even (131. Our graphs have no ‘self loops’ or
‘parallel edges’. Let G(V,E) be a digraph:
Definition 1.1. l ( V ) = { L: L is a function from V to { good,
faulty } } is the set of all vertex labelings
Definition 1.2. t ( E ) = { L: L is a function from E to { good,
faulty } } is the set of all edge labelings
Deinitio3 13. L1 E l ( V ) and & E L ( E ) are cornpatibk iff for
aIi
1. Introduction
U
-+
v E
E,(Ll(u)= good) * ( L ~ ( u=) &(U
-+
U)).
The above three definitions are the crux of the formalization
In a system-level fault diagnosis problem there are a collec-
of the diagnosis problem. If we think of the edge labeling as
tion of objects ( hardware modules, software modules, combina-
representing the results of a set of tests, then our goal is to h d a
tions thereof) and a set of diagnostic tests which objects perform
vertex labeling compatible with the edge labeling. In particular,
on one another. From the results of these tests we hope to de-
we would like a quickly computable function which given an
termine
which, if
any,
of the
objects are faulty.
Followkg the
edge labeling would yield a compatible vertex labeling. This is
model introduced in [28], we represent this problem with a di-
not enough, however, because the vertex labeling in which all
rected graph in which each object is represented by a vertex and
vertices are ‘faulty’ is compatible with all edge labelings. We
each test is represented by a directed edge. Specifically, there is
really want at most one vertex labeling to be compatible with
an edge from
U
to v iff object
U
tests object
an edge labeling. We can do this naturally by restricting the
U.
number of vertices that can be labeled ‘faulty’. Let t be positive
Research partially supported by NSF grants MCS-8105894,MCS-8002447and
MCS-8116678.
integer.
148
0272-5428/ 84/0000/ 0148$0 1 .OO
@
1984 IEEE
Definition 1.4. & ( V ) =: { L E
L(v): l { w : L(w)=faulty }I 5 t }
i.e. the set of vertices in V - Z which have edges to some vertex
in Z ).
are vertex labelings wil,h at most t vertices labeled faulty.
Definition 1.6. A digraph G is t-diagnosabfe iff there exists a
Theorem 2.1. A digraph G(V,E) is t-diagnosable iff for all Z
function f from L ( E ) to & ( V ) such that if L1 E L(E) and L2 E
V with 2 # 0, lr-l(Z)l+ 1z1/2 > t .
& ( V ) are compatible then f(L1) =
b. We may
Proof. Part I: Let G(V,E) be a digraph which is not t-diag-
restate this
definition: A digraph is t-diagnosable iff for any edge labeling
nosable. We will show there exists Z
L1, if there exists any compatible vertex labeling & it is unique.
II'-'(Z)l+
Definition 1.6. Given
B
lZ1/2
c
V with Z # 0 and
< t . Note, by the definition of t-diagnosability
there exist two different vertex labelings Ll, & E & ( V ) com-
t-diagnosable digraph G and an edge
patible with some edge labeling L' of G. Let F1 and Fz be the
labeling L E L ( E ) the t-diagnosis problem is to fmd a vertex
L1 and
sets of vertices labeled faulty by
labeling L' E L t ( V ) compatible with L ( if one exists ).
Z = (F1U Fz)
t-Diagnosis, t-diagnosability and many variants have been
- (F1 n Fz).
Since F1
claim, there is no edge from a vertex
respectively. Let
# FZ we know Z # 0. We
U
E (F1 U F2)' to a vertex
examined extensively in the literature [28, 18, 2, 7, 20, 16, 3,
z E Z. Suppose there is such an edge. Since U is labeled 'good'
4, 221. Prior to this paper, algorithms to test t-diagnosability
by both L1 and b the label on U -+ z in L' must equal the label
required exponential ti me [IO,51. In particular, they required at
on z in both L1 and
least O((V1choose t ) time, and t can be as large as L(lVl/2)l in
- a contradiction. We can now conclude that r-l(Z) c Fl n Fz
since V - 2 = (F1 U Fz)" U (F1 n Fz). Further:
a t-diagnosable digraph.
In [SI a polynomial time algorithm
to
approximate t is also presented. Its time complexity is the same
b,but the label on z differs in L1 and
It , IFzl It ,
as our algorithm's, O(IEIIVIS12),however, no bound is claimed
IF11+ lFzl 5 2t,
and we have constructc3dexamples where the true value o f t End
IF1 n Fzl+ IF1 U Fzl 5 2t,
its approximation differ by a factor of two.
2 p 1 n F21f 1215 21,
2. Characterhation of t-Diagnosable Digraphs
p-l(z)l
n F ~+I izv2 5 t ,
In figure 1-a we give an example of a 1-diagnosabledigraph.
+ 1z1/2 It .
This completes part I.
Figures 1-a, 1-b and 1-c give examples of edge labeling and their
Part 11: See figwe 3. Let Z be a non-null subset of vertices
unique compatible vertex labelings from L c , ( V ) .The label of
+ 1Z1/2 It.
in G with II'-'(Z)l
Note, since II'-'(Z)l
Ir-l(z)l+ [lZl/21
and t
each vertex is circled. lriyres 1-c and 1-d show that the digraph
are integers we may also state
is not 2-diagnosable, since they depict two vertex labelings from
will show G is not t-diagnosable. Partition Z into two sets Z1
f!,(V)which are comp:itible with the same edge labeling. Figure
and Zz with lZ1l I [1Z1/21 and
2 shows a 2-diagnosable digraph, an edge labeling and its unique
F1 = Z1 U r-'(Z) and Fz = Zz U r-'(Z).
compatible vertex labeling from I]z(V).
also note:
There is a simple proof [28]that if a digraph is t-diagnosable
digraphs appear in the literature. The first full characterization
Note, F1
# Fz and
Let L1,Lz E Ll:(V) be the vertex labelings which label ex-
is due to Hakimi and .4min [18]. Our statement of the theorem
actly the sets
is closer to that of Allan, Kameda and Toida [2]. We include
since
its proof here for completeness. The characterization uses the
--
IF11
F1
and Fz faulty, respectively. This is allowed
5 t and
IF21
5 t . We shall now construct an edge
labeling L' compatible with L1 and &. All edges of the form
following definition.
U
C V. P * ( Z ) =
-+
[1Z1/21. Now consider
IFl! 5 r i w 2 i + i r - ~ z ) ~ ~
IF11 < t , similarly IF21 It .
number of other partial characterizations of the t-diagnosable
( w : w E V and there exists z E Z such that w
t . We
iFII = Izli + ir-l(z)il
then the indegree of each of its vertices is t or greater. A large
Definition 2.1. Let C('V,E ) be a digraph with 2
lZzl 5
5
U
z E E} - Z (
U -+
I49
w where U or
U
with
U
U
with
U
U
are in P ( Z ) are labeled 'faulty'. All edges
Z, and
v
2,
are
IaLeled (faulty'. All
edges
E Zz and w E Z1 are labeled 'faulty'. All other
edges in L’ are labeled ‘good’ ( see figure 3 ). To see that L1 is
Definition 3.4. A cut of a network is a subset of edges and ver-
compatible with L’, observe that all edges from Fi to F1 are la-
tices, C
beled ‘faulty’, and all edges between elements of FE are labeled
contains s t least one member of the set. The capacity of a cut
‘good’. k similar argument shows & is compatible with L‘. We
is the sum of the capacities of its members. A cut of a network
conclude G is not t-diagnosable which completes part I1 of the
with minimum capacity is a min-cut.
proof. Together, parts I and I1 complete the theorem.
Theorem S.1. In a flow network the value of a may-flow equals
I
C E U V - 81, s2
such that any path from s1 to s2
the capacity of a min-cut.
Proof. See [14, 241.
S. Network flow Preliminaries
I
Our t-diagnosability algorithm uses techniques from network flow [14]. Note, these definitions allow capacities on both
4. Relationship Between Network Flow and t-Diagcosability
edges and vertices. Also, a cut is not a partition of the vertices.
We now define a digraph and capacity function which we
Definition 3.1. A flow network is a h p l e ( C ( V, E ), 31, 32, c)
use to show the basic relationship between network flow and
t-diagnosability.
1. G(V, E) is a digraph
2.
s1
and
s2
are vertices.
81
is called the source, and
32
Definition 4.1. Given digraph G(V, E) we define the digraph
is
G’(V’,E’) as follows ( see figures 4-a and 4-b ):
called the sink
V’ = v U {SI}
3. c is a function from E U V to non-negative rationals (plus
G = E U {SI
infinity). The value of the function is called the capacity of
+U
:U E V }
We also define a capacity function c’ on E’ U V’:
the vertex or edge.
For all e E (31 + U : U E V}, c’(e) = 1/2.
Definition S.2. A pow junction, f, is a function from edges to
For all e E E, c’(e) = 00
non-negative rationals such that the following three conditions
hold (where ZN(u) =
{U
-*
U’ : U --* U’
{ U ’ -+
U
: U’
--+
U
.
For all U E V‘, ~ ‘ ( u=
) 1.
E E} and OUT(u) =
Our algorithm is based on the following theorem.
E E}):
Fora11 U E V-{SI,SZ)~C e E f N ( u ) f ( e ) - C e e o ~ ~ f((ve )) = 0
Theorem 4.1. Digraph G(V, E) is t-diagnosable iff for afl U E V
- ( 3 1 , 9 2 1 CeEWqU)
f(e) 5 4
the value of the mar-ffow in the ffow network (G’(V’,C),SI, U ,
For all
U
EV
~)
For all e E E, 0 5 f(e) 5 c(e).
c’)
For convenience, the description of a flow network may as-
Proof. Part I: Suppose there exists
sign values to c(s1) and c(s2). Note, however, these values do
sl,
flow in (G’(V’,b),
not appear in the equations above and do not act as constraints.
That is, capacities on the source vertex and sink vertex always
Ce,-mT(,2)
f ( e ) A flow
of a flow f is F =
E V such that the max-
is less than or equal
C2
to t.
We will
be the edges and
vertices, respectively, in a min-cut. There are two types of edges
in G‘, those with capacity 112 and those with infinite capacity.
c(s2). This will simplify our discussion later.
value
82, c ’ )
82
show G is not t-diagnosable. Let C1 and
appear infinite, no matter what values are given to c(s1) and
Definition S.S. The
is greater than t .
Since C1 and Cz form a cut of finite capacity we can conclude
zcEIN(ra)
f(e) each edge in C1 has capacity 1/2. All vertices in G’ have capacity
function of a network with maximum
one so each vertex in CZhas capacity one, thus:
value is a maz-potu.
ICll/Z
The definition of a cut given below is different from the
Let 2 =
{U
+ IC21 5 t
: SI
--+
v E C l ) , and note Z
must be in C1, thus s2 E 2. Also note, trivially,
definition when edge weights are not used and is particularly
31
useful in a flow network which has capacities on both edges and
2
vertices. It is used in [24] for that type of network.
Assume not. There exists y E r-’(2) with y
150
-+
s2
C V.
# 8 because
We claim
r-l(.Z) C
C2 (this is r-l(Z) in G(V,E)).
4 Cz. Thus, there
exists
U
E 2 with y
a path from
to
U
s2
-+ U
E E. Since 81
(91
-+
E C1 there is
81, $2,
w'hich is not cut by any member of Cl or
C2. This follows becamw if all paths from U to
C1-
U
-+
82
c'). However, it is easier to prove a lower time complex-
ity for our algorithm by solving flow problems in the related
were cut then
network below.
and C2 would be a smaller cut than the min-cut.
U)
Now, consider the path from 81 to y (an edge), from y to U
(also an edge), and froin
U
to
82.
Below, we will show this path
is not cut by any memlbers of C1 or Cz.
definition of a cut.
81
-+
81
is not in the cut by
y is not in the cut; else y would be in 2
and by definition y is in I'-'(Z). y is not in the cut, because by
definition above y
infinite capacity.
e C:!.y
U
-+
U
is not in the cut because it has
is not in the cut; else C1 - (81
+ U)
and C2
would be a smaller cut then the min cut. Finally, the fact that
the path from U to s2 is not cut was shown above. This reasoning
allows us to conclude by contradiction that I'-I(Z)
IC11/2
For all c E
C Cz. So:
E",."(e) = 00 .
For all w E V", c"(w) = 1 .
+ IC21 5 t
For this digraph one can show the following:
l 4 / 2 + IC21 5 t
1z1/2
+ irl(z)i It
Theorem 6.1. The max-flow in ( C'(V',E'), 81,
This shows G is not t-diagnosable by our earlier character-
F iff the mau-flow in ( G"(V",E"), al, wl,i
ization, and thus completes part I of the proof.
all vi
Part 11: Suppose C' is not t-diagnosable. We will show that
€
tri
, cf ) equals
, cN ) equals 2F
v.
Prooj. Straightforward application of the cut definition
for some 82 E V, there is a cut in the flow network (G'(V', b),
m
Q , 82, e') which has capacity less than or equal to t . Let 2 be
+
a non-null set of verticta such that 11'-1(2)1 12112 5 t . Let
for
We now present the algorithm
92
Input: digraph C(V,E).
be an arbitrary member of Z. We claim the following sets form
Output: max int t such that G is t-diagnosable.
a cut in the flow network:
1. If there exists a vertex with in-degree zero then output 'not
diagnosable' and STOP
2 . Construct digraph G"(V",E")
Suppose C1 U Cz is not a cut. Consider some uncut path
# Z and 8 2 E Z there is an edge
02 in the path with q1 # Z and 02 E 2. If q1 = 81 then
QZ E C1 a contradiction. If q1 # 81 then q1 E r-'(Z) and
from s1 to
q1
-+
q1 -+
82.
-
hence
q1
Since
3. X := [ min: i E ( 1 , 2 , 3 ,...,IVl)] of FLOW((G"(V",E"),
81
81, V l , i ,
4)
4. Output largest integer strictly less than X / 2 .
-
E C2 another contradiction. So C1 U C2 is a cut. Its
In the first step of the algorithm we check if there are any
capacity is less than or equal to t because:
vertices with in-degree zero. If there are such vertices then the
iz1/2+ ir-l(z)iI t
IC11/2 + I C 2 1 5 t
digraph is not t-diagnosable ( for any positive integer t ). To
we this, suppose
This finishes part [I and our proof is complete.
U
E
V has in-degree zero. Let L
E
L(E)
be an edge labelling in which all edges are labelled 'good'. Let
m
La E L ( V ) be a vertex labelling in which all vertices are labelled
'good', and let La E L(V) be a vertex labelling in which all
6. Algorithm
vertices are labelled 'good' except
U
which is labeled 'faulty'.
The correctness of the remainder of the algorithm follows from
It is clear by theorem 4.1 that we can test if a digraph is Cdiagnosable by solving IVl network flow problems in (C'(Vf,E'),
theorems proved earlier.
151
Now we are ready to analyze the complexity of this algorithm. We assume digraphs are represented using an adjacency
list representation [I]. Checking if m y vertex has in-degree zero
c m be done in O(lE1). The remainder of the algorithm solves
IVI network flow problems in the digraph C"(V",E") where
1V"1 = 3lVl
+ 1 and
IE"I = 31V( + 41EI. However, the algo-
rithm solves these problems only if each vertex hss in-degree
one or greater.
In this case, IVI 5 IEl, thus 1E"l 5 71EI.
We now show t/s-diagnosability is co-NP-complete, and
+ 1)-diag-
sketch polynomial time algorithms for t / t and t / ( t
nosability. (In the full paper we shall show that for any fixed
integer k > 1, t/kt-diagnosability is co-NP-complete, and there
is a polynomial time algorithm for t / ( t
+ k)-dianosability).
Now we can use a result of Even and Tarjan [IZ], who showed
that Dink's algorithm [11] for finding a maxflow in a network,
(G(V,E),s1,s2, c ) in which the capacity of each vertex is one and
the capacity of each edge is infinite, has a time complexity of
in O(IEJIV1'12). So the complexity of our algorithm is bounded
by O(71EI. (3lVl
+ 1)lIz. IVl), or more simply O(IEIIVIs/2).
Theorem 6.2. If digraph G ( V , E ) is not t/e-diagnosable then
there is an edge labelling and compatible fault sets Fl,Fz, ...,F,
withrs a-t+2su&
t h a t f o r d l i E {1,2, ...r},lFil
< t and
lunion: i E {1,2, ...,r} ofFil > s
Proof. If G is not t / s diagnosable then there is an edge labelling and compatible fault sets Fl,F2,...,F,t such that for all
6. t/e-Diagnosabillty
i E { 1 , 2 ,...r'},lFilItandlunion:
Friedman [15] introduced the concept of t/s-diagnosability
i E { 1 , 2 ,...,r ' } o f F i l > s .
Let B be a set of fault sets satisfying the above. If Fj, Fj E
P and
which was further analyzed in [6] and [23]. A digraph is t/s-
IFjUFjl 5 t then (P- ( F j , F j } ) U { F i U F j }defines a set of fault
diagnosable if the system it models can localize all faults to a
sets which still satisfy the properties above. Also, if F E
set of s components, assuming t or fewer of the components are
F
faulty ( i.e. faulty vertices need not be uniquely identified ). We
above. These two facts allow us to construct a set of fault sets
d e h e this formally. First, a preliminary definition: ( Notation:
{Fl,FZ,...,F p } with the following property: For all i E { 1 , 2 , .
"union: I' E { 1 , 2 , ...,k } of Finis used for
a U ; E { l , 2,...,k)Fi"
)
C (union:
..,r"}, lunion:
Definition 6.1. If L E L ( E ) then F C V is a compafible fault
set
J' E { 1 , 2 , ..., i } of Fjl 2
t
+ I' - 1.
Thus, when
r = s - t + 2 we have lunion: j E {1,2, ...,r} of Fil 2 s + 1.
of L iff the vertex labelling L' E L ( V ) which labels each element
of F 'faulty' and all other vertices 'good' is compatible with L.
Definition 0.2. A digraph is t/s-diagnosable iff for all edge labelings L' the set of vertices labelled faulty by some compatible
vertex labeling L; E & ( V ) has size at most s,i.e. if L1, &, ...,Lk
are compatible with L' and F1, Fz, ...,Fk are the compatible fault
P and
Fi E P) then F - {F}still satisfies the properties
I
We show that deciding if a digraph is t/s-diagnosable is coNP-complete. We require the following problem descriptions.
NAXm:
Clique
INSTANCE: Graph G(V,E), positive integer k
1V1.
QUESTION: Does G contain a clique of size k or more i.e.,
sets then the [union: I' E {I, 2, ...,k } of Fii 5 s .
a subset V'
Theorem 6.1. If L is an edge labelling of digraph G(V,E) and F1
C V with IV'I 2 k such that every
two vertices in V' are joined by an edge in E?
and Fz are compatible fault sets of L then FI UFZ is a compatible
fault set of L.
NAME:
P r w / . Let L F ~L, F and
~ L F ~ I JbeF the
~ vertex labellinga specified
INPTANCE: D;part;te p p h C ( V , E ) , vertex
+
V
E
+ (LF~(U)
= L(u
w ) ) , and we have for
E , ( L F ~ ( U )= good) + ( L p 2 ( w ) = L(U
W)).
A n B = 0) such that all edges are between
U -+
w E
-+
Also, note the following two facts: for all
-P
U
E V , ( L p I U p 2 ( ~=)
good) =+ (LF,(u) = good and LF?(u)= good); for all
w E
A and
R which partition V ( i.e. A U B = V and
(LpI(u) = g o o d )
U
sets
E,
by the fault sets. By definition we have, for all
dl
Bipartite Smothering
E , ((LpI(u) = L(u + U ) ) a d ( L ~ ( u=)L(u -+
U -+
U)))
=+
members of A and B, positive integers k~ 5
IAl and
kB
5 IBI
QUESTION: Can kA (or fewe:) vertices in A smother
LB
(or more) vertices in B i.e. is there a set
V,
E
A with IVA~Ik~ and a set VB C B
labelling for G'. For all
with IVB~2 k~ such that all edges incident to
U
members of V
' are also incident to members
fault sets
E V, otherwise L(u
U -* U
U)
-+
E', L(u
-+
U) = faulty if
= good. Consider the following
F;= VAU {ui}, for each U;
E VB. One can verify that
F1,Fz,..,Fp,l are compatible fault sets of L in G'. We also note
]union: iE { 1,2, ...,kB) of Fil 2 k~ + kB > 8 .
Of V A ?
The clique problem is NP-complete [21, 171.
Now, suppose G'(V', E') are not t/s-diagnosable.
Theorem 0.3. Bipartite smothering is NP-complete
there exists L an edge labelling of G and Fl,
Proof. It is in NP sinctt vertex sets kA and k~ provide a certifi-
patible fault sets sueh that lFjl
cate. Let graph G(V,E) and positive integer k be an instance
lunion: i E (1,2, ..., r) of F;I
Then
...,F,
F2,
com-
< k~ + 1 for i E { 1,2, ...,r} and
> k~ + kB - 1 . We define F,,,, =
( intersection: i E {1,2, ...,r} of F; ), and we define Fpcrjph
=
( union: i E {1,2, ...,r) of Fi) - F,,,,. Let Fae,??,= FcoIc
n A.
of the clique problem. We define an instance of the bipartite
smothering problem
E
follows: let C'(V', E') be a graph with
V' = V U E and z-$1 E E' iff z E V , y E E and y is inci-
One can establish that Fpcriph E B. After this, one can estab-
dent to z in G(V,E). Also let A = V, B = E, k, = k and
lish that
FAcore
IFpcriphI
2k ~ .
k~
= ( k ( k - 1))/2. One may vcrify that G(V,E) has a clique of
size k (or more) iff G'( V', E') contains k~ (or fewer) members
Fperjph
in G , a d
IFAcoreI
I
kA
and
To complete the proof of the theorem we describe our re-
of A which smother k,j (or more) members of B.
duction for an instance of bipartite smothering G(V,E), A, B,
I
NAME:
smothers
k ~&;e, when k~ = 1. Note, we can in polynomial time determine
lI+*{u}l for each element U E B . This information determines
t/s-1)iagnosability
if k~ vertices can smother k~ = 1 \fwtices. If they can smother
INSTANCE: Digraph C ( V , E ) , positive integers t and a
then we define our reduction to yield an arbitrary 'mtance of the
with t 2 a.
t/a-diagnosability problem which is t/s-diagnosable, otherwise
QUESTION: Is G t/s-diagnosable?
it yields an instance which is not t/a-diagnosable.
Theorem 6.4. t/a-Diagaosability is co-NP-complete
I
Proof.
We now describe the fast algorithms for t/t and t/(t+l). In
Sketch: If G is not t/a-diagnosable then there is an edge
16)a characterization of t/t-diagnosable digraphs appears which
labeling and compatible fault sets Fl,
Fz, ...,F, with r Is - t + 2
may be restated as follows:
which certify G is not t/s-diagnosable. If s 2 IVI then G is tdiagnosable, so the certificate has polynomial size. Thus, the
Theorem 6.6. A digraph G(V,E) is t/t-diagnosable iff IVI 5 t
problem is in CO-NP.
or ( f o r dl.2
V with lZl 2 2, lI'-*(Z)l+ 1 4 / 2
>t ).
Let G(V,E),A, B, /CA,k~ be an instance of bipartite smoth-
To design an algorithm using this fact we note that, for
ering. We will first give a reduction which works when k~ >
any pair of vertices U; and v i we can modify G' by adding a sink
1. We define the following instance of t/s-diagnosability. Let
vertex 8 2 , adding directed edges from vi to a2 and from u j to 82,
G'(V',E') be a digraph with V' = V U D where D is a set disjoint
and changing the capacities of vi and ui to infinity. We claim
with V and ID1
and
U
t = k~
#
U) or
+ 1 and
2 2k.4 -1.3. Further, U -* U E I? iff (U, U E AUD
(U
9
E A and U E B and U-U
= k~
f
k~
that:
E V). Lastly, let
Theorem 8.8. Digraph C(V,E) is t/t-diagnosable if7 \VI 5 t or
- 1.
for all vi, u j E V the value of the maw-Row in the Bow network
We claim k~ (or fewer) members of A smother kB (or more)
(C'(V',E'), s1,az,e') is greater tban t .
members of B iff C ' ( V ' , O ) is not t/a-diagnosable (assuming
k~ >
k~
We can construct a modified G" to solve the network Row
(or more) members of B. Call the corresponding vertex sets
problems and achieve a time complexity of O(IEIIV1'/'). The
1). Assume &A (or fewer) members of A smother
V, and V,.
(If
neces:iary pad
V, so that l V ~ l=
/CA.
following characterization of t / ( t
The
new set still smothers VB.) Now, consider the following edge
+ 1)-diagnosable digraphs can
also be used to design an algorithm.
I53
Theorem 6.7. A digraph G ( V , E ) is t / ( t
IVl
5t+l
or ((fora112
and ( for all
15 i
+ 1)-diagnosable iff
digraphs (independently discovered by
C V with 1211 4 , ~ ~ - 1 ( Z ) ~ + ~> Zt )~ / 2
v 1 , u ~ , uE~ V, with
D.Angluin and S. Eisen-
stat) fin preparation).
no edge between vi and v i ,
9. Conclusion
5 i 5 3, ~ r - ~ { u ~ , u 5~ ,t u-~1))
}~
We have presented the first polynomial time algorithm for
We can immediately test if /VI 5 t + 1. In lVls time we can
check whether ( for all
w l , 02, vs
E V, with no edge between
testing t-diagnosability. This is a significant advance in system-
U;
level fault diagnosis. We also presented part of our analysis of
and v i , 1 5 i 5 j 5 3 , I F - ’ ( v l , v ~ , v ~ } l5 t - 1 ) . Finally, for any
t/s-diagnosability, including the fact that it is eo-NP-complete
four vertices u b , vi, viand u k , we can modify G’ by giving those
vertices infiite capacity, adding a sink vertex
a2
and that there are polynomial algorithms for t / t and t / ( t
and adding
+ 1)-
diagnosability.
directed edges from the four vertices to 92. A theorem analogous
10. Acknowledgement
to the one above holds and there is an algorithm with time
complexity O( I EIV ~1912).
The author thanks D. Gusfield for many valuable discussions and pointers, especially the suggestion to examine net-
7. Other Diagnosabilitien
work Bow techniques and connectivity testing. The author also
thanks D. Angluin for many fruitful discussions, and for sug-
The diagnosabilty questions for several other types of sys-
gesiing the problem area.
tem-level fault diagnosis are co-NP-complete. In probabilistic fault diagnosis 1251, p-t-diagnosability is co-NP-complete.
In weighted fault diagnosis 1251, t-diagnosabiiity is co-NP-complete. In fault diagnosis with formulas 1151 (even with just disjunction), t-diagnosability is co-NP-complete (in preparartion).
(Note, this does not rule out the usefulness of these concepts
since some classes of digraphs may be provably diagnosable and
these digraphs may even have fast diagnosis algorithms.)
8. D i a g ~ o s t
Recall the t-diagnosis problem is: Given a t-diagnosable
digraph G and an edge labeling L E t ( E )find a vertex labeling
L‘ E L,(V) compatible with L ( if one exists ). In [20] Kaneda,
Toida and Allan present a back-track algorithm for diagnosis
and a clever analysis which shows its complexity is only O(nS).
Recently, Dahbura and Masson [9] presented an elegant
algorithm for this problem. Their F,fution, however, requires
+
computation of a transitive closure. We have found an O ( t S
[ E l ) diagnosis algorithm (where t is the max number of faulty
elements) which is a modification of Kameda
et al’s algodthm
(in preparation).
Another approach to the diagnosis problem is to restrict
the digraphs considered. Dahbura et al [SI presented a fast
O( IEI) algorithm for diagnosis of ‘self-implicating’systems. We
have developed an O(lE1) diagnosis algorithm for a superset of
the ‘self-implicating’systems which includes t-vertex-connected
154
(161 Friedman, A. D., and L. Simoncini, System-Leuel Fault
Bafereneea
[l] Aho, A. V., J. E. Hopcroft, J. D. Ullman, The Design
Diagnosis, Computer, 13 March (1980), pp. 47-53.
[17] G m y , M. R., and D. S. Johnson, Computers and In-
and Anslysis of Computer Algorithms, Addison-
tractability, W. H. Freeman and Company, San
Wesley, Reading, MA, 1974, pp. 51-52.
[2] Allan, F. J., T. H ameda, and S. Toida, An Approach to the
Francisco, CA, 1979.
[18] Hakirni, S. L., and A. T. Amin, Characterization of Con-
Diognoiability Analysis of a System, IEEE 'Ihns.
nection Assignment of Diagnosable Systems, IEEE
Comput., C-24 (1975), pp. 1040-1042.
13) Armstrong, J. Et., and F. G. Gray, Fault Diagnosis in
Trans. Comput., C-23 (1974), pp. 8 M 8 .
[I91 Hakimi, S. L., and K. Nakajima, On Adaptive System
a Booleiin n Cube Array of Microprocessors, IEEE
Diagnosis, IEEE Trans. Comput., C-33 (1984),
'Ikans. Comput., C-30 August (1981), pp. 587-590.
[4] Barsi, F., F. Gimdoni, and P. Maestrini, A Theory of
pp. 234-240.
I201 Kameda T., S. Toida, and F. J. Allan, A Diugnosinq
Diagnosability of Digital Systems, IEEE Trans.
Comput ., C-25 June (1976), pp. 585-593.
(51 Bhat, K. V. S., Algorithms for Finding Diagnosability Level
Algorithm for Networks, Inform. Contr., 29 (1975),
pp. 141-148.
[2l] Karp, R. M., Reducibility among Combinatorial Problems,
and t-Diagnosis in a Network of Processors, Proc.
R. E. Miller and J. W. Thatcher eds., Complezity
1982 National A Chr Conf., ACM, 1982.
[6] Chwa, Kyung-Yong, and S. L. Hakimi, On FuuN Iden-
of Computer Computations, Plenum Press, 1972,
tificatiora in Diagnosable Systems, IEEE Trans.
pp. 85-104.
[22] K m a n i t h i , S., and A. D. Friedman, Analysis of.Qigita1
Comput, C-30 (1981), pp. 414-422.
[7] Dahbura, A. T., and G. M. Masson, Greedy Diagnosis
of Hybrrd Fault Situations, IEEE
Sgstems Using a New Measure of System Diagno-
Comput.,
sis, IEEE Trans. Comput., C-25 Feb (1979), pp.
C-32 (1983), pp. 777-782.
[8]Dahbura, A.T., G. M. Masson, and C. Yang, Self-
121-133.
[23] Kavianpour, A., and A. D. Friedman, Efficient Decign of
Implicating Structures for Diagnosable Systems,
Easily Diagnosable Systems, Proc. 3rd USA-Japan
'hn.9.
Proc. 1988 Symp. on Fault Tolerant Comp., IEEE
Computer Conf., IEEE, 1978, pp. 251-257.
[24] Lawler, E., Combinatorial Optimization: Networks and
Computcr Society Publications, 1983.
[9] Dahbura, A. T., and G. M. Masson, An O(n2.5) Fault
Matroids, Holt, Rhinehart and Winston,
Identificotion Algorithm for Diagnosable Systems,
N. Y.,
1976, pp. 109-123.
1251 Maheshwari, S. N., and S. I.. Hakimi, On Models for D i a p
IEEE Trans. Comput., June (1984).
[lo] De, N., A. Sengupta, S. Bandyopadhyay, and P. K. S r i m h ,
nosable Systems and Probabilistic Fault Diagnosis,
A New Method to Test System Dicgnosability, In-
IEEE ' h n s . Comput., C-25 (1976), pp. 228-236.
(261 Meyer, G. G. L., and G. M. Mssson, An Eficient Fault
form. Sciences, 22 (1980), pp. 131-138.
Ill] Dinic, E. A., Algorithm for Solution of a Problem of Maz-
Diagnosis Algorithm for Symmetric hiultiple Pro-
imum Fibw in a Network with Power Estimation,
cessor Architectures, IEEE Ttans. Comput., C-27
Soviet Math. Dokl., 11 (1970), pp. 1277--1280.
[12] Even, S., and R. E. Tarjan, Network Flow and Testing
(1978), pp. 1059-1063.
1271 Pradhan, D. K., and S. M. Reddy, A Fault Tolerant
Graph Connectivity, SIAM J. on Comp., 4 (1975),
Communication Architecture for Distributed Sys-
pp. 507-Sl8.
1131 Even, S., Graph Algorithms, Computer Science Pres?,
tems, IEEE 'hm. Comput., C-31 (1982), pp.
863-870.
[28] Preparata, F. P., G. Metze, and R. T. Chien, On the Connec-
Potomac, Maryland, 1979.
(141 Ford, L. R. Jr., and D. R. Fulkerson, Flows in Networks,
tion Assignment Problem of Diagnosable Systems,
Princeton University Press, Princeton, New Jersey,
IEEE 'lhns. Electron. Comput., EC-16 (1967),
1962.
[15] Friedman, A. D., A New Measure of Digital System Dlagno-
pp. 848-854.
ais, Dig. 1075 Int. Syrnp. Fault-Tolerant Cornput.,
IEEE, 19175.
I55
1
156