FASTDIAGP: An Algorithm for Parallelized Direct Diagnosis

Authors: Viet-Man Le, Cristian Vidal Silva, Alexander Felfernig, David Benavides, José Galindo, Thi Ngoc Trang Tran

AAAI 2023 | Conference PDF | Archive PDF | Plain Text | LLM Run Details

Reproducibility Variable Result LLM Response
Research Type Experimental The performance improvements of our proposed algorithm have been shown through empirical results using the Linux-2.6.3.33 configuration knowledge base.
Researcher Affiliation Academia 1 Graz University of Technology, Graz, Austria 2 Universidad de Talca, Talca, Chile 3 University of Sevilla, Seville, Spain
Pseudocode Yes Algorithm 1: FASTDIAG(C, B) :, Algorithm 2: FD(C = {c1 . . cn}, B, ρ) : Ω, Algorithm 3: CONSISTENT(C, B, ρ) : Boolean, Algorithm 4: LOOKAHEAD(C, B, φ = {{φ1} . . {φp}})
Open Source Code Yes The dataset, the implementation of algorithms, and evaluation programs can be found at https://github.com/AIG-isttugraz/Fast Diag P.
Open Datasets Yes The basis for these evaluations was the Linux-2.6.33.3 configuration knowledge base taken from Diverso Lab s benchmark1 (Heradio et al. 2022).
Dataset Splits No The paper does not describe traditional training/test/validation dataset splits as it evaluates a diagnostic algorithm on pre-existing inconsistent sets, rather than training a machine learning model.
Hardware Specification Yes All experiments reported in the paper were conducted with an Amazon EC2 instance4 of the type c5a.8xlarge, offering 32 v CPUs with 64-GB RAM.
Software Dependencies No The diagnosis algorithms were implemented in Python using SAT4J (Le Berre and Parrain 2010) as a reasoning solver. We used the CNF class of PYSAT (Ignatiev, Morgado, and Marques-Silva 2018) for representing constraints and the Python multiprocessing package for running parallel tasks. The paper mentions software components like Python, SAT4J, and PYSAT, but does not provide their specific version numbers.
Experiment Setup Yes In this study, we compared the performance of FASTDIAGP and FASTDIAG according to three aspects: (1) run-time R needed to determine the preferred diagnosis, (2) speedup S that tells us the gain we get through the parallelization, and (3) efficiency E representing the ratio between the speedup and the number of processes in which we run the algorithm. and max GCC = #cores 1 and max GCC = 7.