## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set(collapse = TRUE, comment = "#>") ## ----setup-------------------------------------------------------------------- library(dist.structure) library(algebraic.dist) ## ----------------------------------------------------------------------------- sys <- bridge_dist(replicate(5, exponential(1), simplify = FALSE)) min_paths(sys) min_cuts(sys) ## ----------------------------------------------------------------------------- sapply(1:5, function(j) structural_importance(sys, j)) ## ----------------------------------------------------------------------------- p <- 0.9 sapply(1:5, function(j) birnbaum_importance(sys, j, p)) ## ----------------------------------------------------------------------------- t_vals <- c(0.1, 0.5, 1, 2) sapply(t_vals, function(t) { sapply(1:5, function(j) criticality_importance(sys, j, t)) }) ## ----------------------------------------------------------------------------- t0 <- 1 sapply(1:5, function(j) vesely_fussell_importance(sys, j, t0)) ## ----------------------------------------------------------------------------- # Build a comparison table at p = 0.9 and t s.t. S(t) = 0.9 for all components. # For iid Exp(1), S(t) = 0.9 -> t = -log(0.9) t_star <- -log(0.9) tab <- data.frame( j = 1:5, structural = sapply(1:5, function(j) structural_importance(sys, j)), birnbaum = sapply(1:5, function(j) birnbaum_importance(sys, j, 0.9)), criticality = sapply(1:5, function(j) criticality_importance(sys, j, t_star)), vesely_fussell = sapply(1:5, function(j) vesely_fussell_importance(sys, j, t_star)) ) tab ## ----------------------------------------------------------------------------- # Series: Birnbaum importance of j equals product of the OTHER p's. series3 <- series_dist(replicate(3, exponential(1), simplify = FALSE)) p_vec <- c(0.9, 0.8, 0.7) birnbaum_importance(series3, j = 1, p = p_vec) prod(p_vec[-1]) ## ----------------------------------------------------------------------------- # Parallel: Birnbaum importance of j equals product of the OTHER (1 - p_i). parallel3 <- parallel_dist(replicate(3, exponential(1), simplify = FALSE)) birnbaum_importance(parallel3, j = 1, p = p_vec) prod(1 - p_vec[-1]) ## ----------------------------------------------------------------------------- # Series: Vesely-Fussell equals F_j / F_sys at time t, since each # component forms its own min cut. t0 <- 1 F_j_1 <- 1 - exp(-t0) F_sys <- 1 - exp(-3 * t0) # Exp(sum(rates) = 3) vesely_fussell_importance(series3, j = 1, t = t0) F_j_1 / F_sys