Skip to main content
. 2018 Mar 29;18(4):1016. doi: 10.3390/s18041016
Algorithm 5. Pseudocode of CCDLSA*.
CCDLSA*(SD, obs)
Inputs: SD, system description in the form of CNF
 obs, observations of observed variables
Output: ω, the diagnosis consistent with SD and obs
ω = all components are normal
if(!CHECK_CONSISTENCY(SD, obs, ω))
  atom_true_clause = consistency variables or valid true clauses
  conf_atom_clause = conflict variables or valid false clauses
  conflicts = {}, fault_components = empty vector
  consistencies = MAX_CONSISTENCIES(atom_true_clause)
  do
    conflicts = conflicts + MIN_CONFLICTS (conf_atom_clause)
    push back FAULT_COMPONENT(conflicts) - fault_components into fault_components
    ω = A*_BEST_CANDIDATE(conflicts, consistencies, fault_components)
  while(!CHECK_CONSISTENCY(SD, obs, ω))
return ω