• No se han encontrado resultados

2.3. PROCESO DE AUDITORÍA INTEGRAL

2.3.3. Fase III Comunicación

2.3.3.1. Requisitos y cualidades del Informe

Diagnosis proceeds by making mode assignments, guessing and checking the be-havior mode of each component. In this simple example an inverter can be GOOD or BROKEN. Here, making a mode assignment to one component can be viewed as imposing a constraint between the input and output of the component. Due to the identical input and output value, there must be something broken in the system. To find the most likely diagnosis, CD-A* starts with the candidate of the highest prob-ability: A,B,C,D = Good. It has a probability of 90.3%, but is inconsistent with the negative measurement in the middle of the system. Given this inconsistency, CD-A*

may extract a conflict from this mode assignment, A,B = Good.

Next, to resolve this conflict, at least one component in A and B has to be broken.

CD-A* chooses the one with the higher likelihood, B, and generates a full assignment from it: A,C,D = Good and B = Broken. This assignment is still inconsistent, since C,D=Good is inconsistent with the measurements at the middle and the end.

Finally, CD-A* generates an assignment that can resolve both known conflicts at the same time: A,C = Good and B,D = Broken. It chooses D to resolve the conflict, since D’s rate of failure is higher than C. This assignment, is consistent with all the measurements and observations, and is the most likely diagnosis among all consistent diagnoses.

However, using A* to enumerate relaxations raises one important issue: CD-A* would enumerate full relaxations instead of minimal relaxations, hence the number of results generated by CD-A* is usually large and makes it hard to effectively com-municate with the users. For example, considering the simple diagnosis problem we presented in (Figure 3-4), nine different full diagnoses can be generated. On the other hand, only four minimal diagnoses exist for the problem. Therefore, we are only interested in generating minimal relaxations. For two relaxations A and B , we will always prefer B over A if B is a proper subset of A, that is, B is non-minimal.

Hence we never present non-minimal relaxations to the users. However, non-minimal relaxations, like the supersets of existing relaxations, may be generated by CD-A*

due to its use of tree expansions: if some assignments are redundant but are located at the root of the search tree, CD-A* won’t be able to remove them from the results.

The key idea we leveraged from CD-A* is the conflict-directed search strategy.

Consistency-based diagnosis using constraint suspension [9] is a form of relaxation problems with discrete domains: inconsistent mode assignments are the conflicts and diagnoses are discrete relaxations to the problems. CD-A* avoids all known conflicts while generating relaxation candidates. CD-A* starts with the best candidate and tests consistency. If inconsistent, a conflict will be extracted and used to split the tree expansion: the new candidate generated must resolve this conflict by flipping at least one assignment to the variables of the broken system.

3.4.2 Dualize & Advance

The Dualize & Advance algorithm generates discrete minimal relaxations to incon-sistent constraint satisfaction problems. Given an inconincon-sistent problem, Dualize &

Advance extracts a conflict by iterating through all constraints. It explores the dual-ity between minimal conflicts and minimal relaxations, that is, minimal relaxations are the hitting sets of minimal conflicts, and vice versa. Similar concepts has been implemented in the General Diagnosis Engine (GDE) and Sherlock [10, 11], a con-straint relaxation algorithm which uses the hitting sets of known conflicts between mode assignments to generate candidate diagnoses. However, neither GDE nor Sher-lock guarantees the minimality of the relaxation. Using this principle, DAA computes both minimal conflicts and relaxations incrementally: known minimal conflicts are used to computer candidate relaxations through hitting sets, while candidate relax-ations are used to discover unknown conflicts until all conflicts in the problem are revealed.

For example, if we apply DAA on the previous diagnosis problem, it will start by testing candidate A,B,C,D = Good. Assume that we find all two minimal conflicts in the cascaded inverters problem through testing this candidate (Figure 3-4): A,B = Good and C,D = Good. DAA can then generate all minimal relaxations by computing the hitting sets of the conflicts (Figure 3-5):

However, DAA is insufficient to solve relaxation problems due to the following two reasons:

Minimal Conflicts

Minimal relaxation sets

A = Good ,B = Good C = Good ,D = Good

A,C = Broken A,D = Broken B,C = Broken B,D = Broken

Figure 3-5: Duality between minimal conflicts and minimal relaxation sets

• First, DAA does not consider the users’ preferences. Unlike CD-A*, it cannot generate results in best-first order.

• Second, DAA cannot solve conditional CSPs. It requires a conjunctive set of constraints.

BCDR leverages two ideas from DAA in solving relaxation problems. First, DAA takes an incremental approach to detect conflicts and generate valid relaxations. For example, given a set of known conflicts, CF LT s, It computes a set of candidate relaxations, CANDs, using the hitting sets of CF LT s. If one of the candidates in CANDs, candi, is still inconsistent, it implies that at least one conflict has not been detected yet. DAA then extracts one minimal conflict from candi, update all candidates inCANDs through the incremental hitting set algorithm, and check their consistency.

Second, DAA terminates its enumeration if all candidates in CANDs are con-sistent, which signals that no more minimal conflicts can be found and all minimal relaxations have been discovered.

3.5 Generating Candidate Relaxations from

Documento similar