computing minimum-cardinality diagnoses by model relaxation

Download Computing Minimum-cardinality Diagnoses by Model Relaxation

Post on 24-Feb-2016




0 download

Embed Size (px)


Computing Minimum-cardinality Diagnoses by Model Relaxation. Sajjad Siddiqi National University of Sciences and Technology (NUST) Islamabad, Pakistan. Consistency-based Diagnosis. NOT AND. C. Abnormal observation : A B D. A. X. D. Y. B. System model : - PowerPoint PPT Presentation


Slide 1

Computing Minimum-cardinality Diagnoses by Model RelaxationSajjad Siddiqi

National University of Sciences and Technology (NUST)Islamabad, PakistanConsistency-based DiagnosisCDAYXBAbnormal observation : A B DWhich gate(s) are broken?NOT ANDConsistency-based DiagnosisCDAYXBSystem model :okX (A C) okY (B C) DHealth variables: okX, okYObservables: A, B, DNonobservable: CAbnormal observation : A B DNOT ANDConsistency-based DiagnosisCDAYXBAbnormal observation : A B DFind values of (okX, okY) consistent with : (0, 0), (0, 1), (1, 0) OR{okX=0, okY=0}, System model :okX (A C) okY (B C) DConsistency-based DiagnosisSystem model overhealth variables (okX, okY, )observablesnonobservables

Given observation , diagnosis is assignment to health variables consistent with

Consider minimum-cardinality diagnoses

Cardinality is the number of failing components in a diagnosis

Compilation-based ApproachSystemModelCompileTractable FormQueryEvaluatorDecomposable Negation Normal Form (DNNF)DAG of nested and/or

Conjuncts share no variable (decomposable)orandorandX3X1X2Min-cardinality as well as min-cardinality diagnoses can be computed efficiently using DNNFCompilation-based ApproachSystemModelCompileDNNFQueryEvaluatorBottleneckDiagnosis using DNNF

CDAYXBObservation: A B D10001111System model :okX (A C) okY (B C) DDiagnosis using DNNFCDAYXBObservation: A B D

orokXokYSystem model :okX (A C) okY (B C) DPrevious Method: Hierarchical DiagnosisSignificantly reduces number of health variables through Abstraction

Requires only 160 health variables for c1908; c1908 has 880 gates

Able to compile larger systems(Siddiqi and Huang, 2007)Previous Method: Hierarchical Diagnosis

Without Abstraction: Requires 6 health variables:

okU, okV, okE, okB, okJ, okA

Previous Method: Hierarchical Diagnosis

Abstraction:{U,V,E,A}Treats self contained sub-systems (E) as single components (cones):

Requires 4 health variables:okU, okV, okE, okA

Previous Method: Hierarchical Diagnosis{E,A} is a an abstract min-cardinality diagnosis

{E}, {J}, {B} are min-cardinality diagnoses of cone E.

{J,A}, {B,A} are deduced as more min-cardinality diagnoses

Need to find abnormal observation for cone E

Previous Method: Diagnosis of ConesReorder {E,A} as {A,E}(deeper gates first)

Propagate normal values in the circuit (input values in given observation)

Propagate faults in the order they appear in diag.

Sets the required abnormal obs for cone E

Previous MethodAgain Compilation becomes a bottleneck for very large systems even after abstraction

New MethodCombines abstraction, model relaxation (node splitting), and search to scale up

Compiles the abstraction of a relaxed model instead of the original

Applies two stage branch-and-bound search to compute minimum-cardinality diagnosesNode Splitting

Splits Y

Y1 and Y2 are clones of Y

(Choi et al., 2007)Node Splitting

Splits gate BNode SplittingSome components may come out of cones

The components in the abstraction of the split system form a superset of the set of components in the original abstraction

The abstract min-cardinality diagnoses (once computed correctly) of the split system form a superset of the set of abstract min-cardinality diagnoses of the originalSearch for minimum cardinality (First Stage) and models of original and split system

e a given assignment to variables in

e the compatible assignment to corresponding clones in the split system

For example, if e = {B = b} then e = {B = b}Search for minimum cardinality provides basis for computing lower bounds on minimum cardinality for B-n-B search

min_card( | e) >= min_card( | ee)

if e contains a complete assignment to split variables then

min_card( | e) == min_card( | ee)

Search for minimum cardinalityB-n-B search in the space of assignments s to split variables S

At each node compute min_card( | ee ss)

At leaf nodes we get candidate minimum cardinalites

Elsewhere, we get lower bounds to prune searchSearch for minimum cardinalityA good Seed for search

In the given observation, if k components output values inconsistent with the normal values then k is the upper bound on the minimum cardinality.Search for minimum cardinalityVariable and value ordering

Nogood-based scoring heuristic similar to (Siddiqi and Huang, 2009):

Every value of a variable X is associated with a score S(X = x)

Score of X, S(X), is the average of the scores of its values

Vars and values with higher scores are preferred.Search for minimum cardinalityVariable and value ordering

During search if X is assigned a value x then

S(X = x) += new_bound cur_bound

cur_bound = bound before the assignment

new_bound = bound after the assignment

Early Backtracking

Search for diagnoses (Second Stage)First Strategy

if e contains a complete assignment to split variables then

min_card_diags(|e) == min_card_diags(|ee)

Search in the space of assignments to split variables; enumerate all min-card diagnoses at those leaf nodes where cardinality is minimum.Search for DiagnosesSecond Strategy

Search in the space of assignments to health-vars

Partial assignment to h-vars == partial diagnosis

Enumerate all valid min-cardinality diagnoses.Search for DiagnosesFirst Strategy

Can efficiently compute very large number of diagnoses at leaf nodes by evaluating the DNNF

Often resulted in very large search spaces even when the number of diagnoses was small

Second Strategy

Efficient only when the number of diagnoses was reasonably smallCombined Approach; benefit from bothSystematic search in both spaces simultaneously:

Search starts in the space of assignments to health variables

At each search node, another search is performed in the space of assignments to split variables; IF REQUIRED.

Combined ApproachSearch on health variables

Validate each partial diagnosis h at each node

If h is valid and card(h) < mincard, then continue search; else backtrack

h is valid iff:h is consistent with the model + observationh can be extended to a valid min-card diagnosisHOW???Combined ApproachValidate partial diagnosis h:

B-n-B Search for complete assignment to split vars S such that for each partial assignment s

|h ee ss is consistent ANDcard (h) + min_card(|h ee ss)