# Anticipatory Troubleshooting
## 6 Evaluation
### Diagnosis Experiments  
In this set of experiments we evaluated the performance of the troubleshooting algorithm that uses survival functions to better guide its sensing actions (Section 3.2). For this set of experiments we used a standard exponential curve for the survival function (defined earlier in this paper and illustrated in Figure 1) with \(\lambda=0.09\). We tried several values of \(\lambda\). All values pointed on the same trends in the results, but with \(\lambda=0.09\) we could see the trends clearly. We compared the performances of four TAs: (1) random, which chooses randomly which component to sense, (2) BN-based, which chooses to sense the component most likely to be faulty according to the BN, (3) survival-based, which chooses to sense the component  
Figure 3: BN for system S2. most likely to be faulty according to its survival curve and age, and (4) hybrid, which chooses to sense the component most likely to be faulty taking into consideration both BN and survival curve, as proposed in Section 3.2. The performance of a TA was measured by the troubleshooting costs incurred until the system was fixed. Since we only considered single fault scenarios, we omitted the cost of the single repair action performed in each of these experiments, as all algorithms had to spend this cost in order to fix the system. We generated random TP instances with a single faulty health node as follows. 1. First, we set the values of the control nodes randomly, according to their priors. 2. Then, the age of each component was sampled uniformly in the interval \([Age_{init},Age_{init}+Age_{diff}]\), where \(Age_{init}\) and \(Age_{diff}\) are parameters. 3. Then, the conditional probability table of every health node was modified to take into account the survival curve, as mentioned in Section 3.2; i.e., we replaced the prior probability for a component to be healthy with the value corresponding to its survival curve (\(S_{C}(C_{Age})\)). 4. Next, we computed the marginal probability of each component to be faulty in this modified BN, and chose a single component to be faulty according to these computed probabilities. 5. Finally, we used the BN to sample values for all remaining observed nodes (the sensor nodes). A subset of these sensor nodes' values was revealed to the DA. The value of the \(Age_{init}\) was set to 0.3 (as for \(\lambda\), with this value, we could show the impact of the other parameters the best). We examined the effects of the following parameters on the performances of the different TAs: (1) The \(Age_{diff}\) parameter. (2) The revealed sensors parameter--this is the number of sensor node values revealed to the DA. Results of the Diagnosis Experiments  
The plots in Figure 4 show the average troubleshooting costs (\(y\)-axis) for different values \(Age_{diff}\) (\(x\)-axis), for each of the algorithms. The left plot shows the results for the \(S1\) system and the right plot shows the results for \(S2\). All results were averaged over 50 instances. Several trends can be observed. First, the proposed hybrid TA outperforms all baseline TAs, thereby demonstrating the importance of considering both survival curves and MBD. For example, in system \(S2\) (Figure 4 right) with an \(Age_{diff}=20\), hybrid saves 40% troubleshooting costs compared to BN, and is slightly better than survival. Additionally, for \(Age_{diff}=0.01\) hybrid saves 15% compared to survival. Figure 4: Diagnosis experiments’ results, for \(S1\) (**left**) and \(S2\) (**right**). Troubleshooting cost on \(Age_{diff}\). Second, the performance of survival improves as \(Age_{diff}\) grows. For example, in system \(S2\) (Figure 4 left) for \(Age_{diff}=0.01\), the costs of survival and random are the same, but for \(Age_{diff}=20\) survival outperforms random. The reason for this is that increasing \(Age_{diff}\) means components' ages differ more, and thus considering it is more valuable.