Skip to main content

Module reliability

Module reliability 

Source
Expand description

Network reliability analysis.

This module provides algorithms for computing and estimating the reliability of networks under random component (edge) failures.

§Problem setting

Each edge e in the graph independently fails with probability 1 − p_e (survives with probability p_e). Network reliability questions ask: what is the probability that the surviving edges satisfy some connectivity criterion?

StructQuestion
NetworkReliabilityP(source s can reach terminal t) — two-terminal reliability
AllTerminalReliabilityP(all nodes mutually reachable) — all-terminal reliability
ReliabilityPolynomialExact polynomial in p for small networks via inclusion-exclusion
BDDExact reliability via binary decision diagrams (BDD)

§Example

use scirs2_core::ndarray::Array2;
use scirs2_graph::reliability::{NetworkReliability, AllTerminalReliability};

// Triangle graph: 0-1, 1-2, 0-2
let mut adj = Array2::<f64>::zeros((3, 3));
adj[[0,1]] = 0.9; adj[[1,0]] = 0.9;
adj[[1,2]] = 0.8; adj[[2,1]] = 0.8;
adj[[0,2]] = 0.7; adj[[2,0]] = 0.7;

let rel = NetworkReliability::new(0, 2);
let estimate = rel.monte_carlo(&adj, 10000, Some(42)).unwrap();
println!("Two-terminal reliability ≈ {estimate:.4}");

let all_rel = AllTerminalReliability::new();
let est2 = all_rel.monte_carlo(&adj, 10000, Some(42)).unwrap();
println!("All-terminal reliability ≈ {est2:.4}");

Re-exports§

pub use network_reliability::AllTerminalReliability;
pub use network_reliability::ComponentFailureTree;
pub use network_reliability::NetworkReliability;
pub use network_reliability::ReliabilityPolynomial;
pub use network_reliability::BDD;
pub use reliability_extra::all_terminal_reliability_factoring;
pub use reliability_extra::k_edge_connectivity;
pub use reliability_extra::k_vertex_connectivity;
pub use reliability_extra::min_cut_reliability_bound;
pub use reliability_extra::reliability_polynomial;
pub use reliability_extra::two_terminal_reliability;

Modules§

network_reliability
Network reliability algorithms: Monte Carlo estimation, exact BDD computation, inclusion-exclusion polynomial, and component failure enumeration.
reliability_extra
Additional network reliability algorithms: factoring-based exact computation, k-connectivity, and reliability bounds.