Hostname: page-component-74656f9884-8rzl6 Total loading time: 0 Render date: 2026-11-05T19:12:57.985Z Has data issue: false hasContentIssue false

An efficient diagnosis algorithm for inconsistent constraint sets

Published online by Cambridge University Press:  10 June 2011

A. Felfernig*
Affiliation:
Institute for Software Technology, Graz University of Technology, Graz, Austria
M. Schubert
Affiliation:
Institute for Software Technology, Graz University of Technology, Graz, Austria
C. Zehentner
Affiliation:
Institute for Software Technology, Graz University of Technology, Graz, Austria
*
Reprint requests to: A. Felfernig, Institute for Software Technology, Graz University of Technology, Inffeldgasse 16b, A-8010 Graz, Austria. E-mail: alexander.felfernig@ist.tugraz.at
Rights & Permissions [Opens in a new window]

Abstract

Constraint sets can become inconsistent in different contexts. For example, during a configuration session the set of customer requirements can become inconsistent with the configuration knowledge base. Another example is the engineering phase of a configuration knowledge base where the underlying constraints can become inconsistent with a set of test cases. In such situations we are in the need of techniques that support the identification of minimal sets of faulty constraints that have to be deleted in order to restore consistency. In this paper we introduce a divide and conquer-based diagnosis algorithm (FastDiag) that identifies minimal sets of faulty constraints in an overconstrained problem. This algorithm is specifically applicable in scenarios where the efficient identification of leading (preferred) diagnoses is crucial. We compare the performance of FastDiag with the conflict-directed calculation of hitting sets and present an in-depth performance analysis that shows the advantages of our approach.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2012
Figure 0

Fig. 1. Hitting set directed acyclic graph (HSDAG; Reiter, 1987) for the CR diagnosis problem (CR = {c5, c6, c7}, CKB = {c1, c2, c3, c4}). The sets {c5, c6}, {c6, c7}, and {c5, c7} are the minimal diagnoses; the conflict sets CS1, CS2, and CS3 are determined on the basis of QuickXplain (Junker, 2004).

Figure 1

Fig. 2. FastDiag execution trace for the CR diagnosis problem (CR = {c5, c6, c7}, CKB = {c1, c2, c3, c4}). Enumerations 1–6 show the order in which the different incarnations of the FD function are activated.

Figure 2

Fig. 3. FastDiag: calculating the complete set of minimal diagnoses. Enumerations 1–6 show the order in which the different incarnations of the FastDiag algorithm are activated.

Figure 3

Fig. 4. Calculating the first minimal diagnosis with FastDiag versus hitting set-based diagnosis on the basis of QuickXplain for 5, 7, 10, and 15 user requirements (req): performance in milliseconds on the top and number of needed TP calls on the bottom. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 4

Fig. 5. Calculating the topmost-5 minimal diagnoses with FastDiag versus hitting set-based diagnosis on the basis of QuickXplain for 5, 7, 10, and 15 user requirements (req): performance in milliseconds on the top and number of needed TP calls on the bottom. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 5

Fig. 6. Calculating the topmost-10 minimal diagnoses with FastDiag versus hitting set-based diagnosis on the basis of QuickXplain for 5, 7, 10, and 15 user requirements (req): performance in milliseconds on the top and number of needed TP calls on the bottom. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 6

Fig. 7. Calculating all minimal diagnoses with FastDiag versus hitting set-based diagnosis on the basis of QuickXplain for 5, 7, 10, and 15 user requirements (req): performance in milliseconds on the top and number of needed TP calls on the bottom. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 7

Table 1. Precision of FastDiag versus HSDAG based approaches