1. A method for diagnosing any combination of persistent and intermittent faults or intermittent faults in a system, comprising: obtaining a behavior of a system by measuring or probing the system at particular points; investigating a predicted behavior of a modeled system of the system by drawing inferences based on at least conditional probabilities, prior observations and component models of the modeled system; comparing the predictions to their corresponding points in the system; determining if conflicts or deviations exist between the measured behavior and the predicted behavior; adjusting the conditional probabilities to more and more accurately reflect action faults in the system, so they will accept a possibility that a subsequent measurement and/or probing will produce a different value or output; and using the conflicts or deviations between the predicted behavior and the actual behavior to obtain a final result based on a new value or output.