This feature is experimental and not well-tested.

# Subset Simulation Method

## Overview

The Subset Simulation method (SSM) is a robust simulation technique that transforms a rare event into a sequence of multiple intermediate failure events with larger probabilities and efficiently approximates the probability of the mentioned rare event. That is, the failure event $\Omega_{f} = \{\vec{X}: g(\vec{X}) \leq 0\}$ is expressed as a union of $M$ nested intermediate events $\Omega_{f_{1}}$, $\dots$, $\Omega_{f_{M}}$, such that $\Omega_{f_{M}} \subset \dots \subset \Omega_{f_{1}}$ and $\Omega_{f} = \cap_{i = 1}^{M} \Omega_{f_{i}}$. The intermediate failure events are defined as $\Omega_{f_{i}} = \{\vec{X}: g(\vec{X}) \leq b_{i}\}$, where $b_{1} > \dots > b_{M} = 0$ are non-negative thresholds selected such that each conditional probability $P(\Omega_{f_{i + 1}} | \Omega_{f_{i}})$ equals a target conditional probability $P_{0}$.

\[P_{f} = P(\Omega_{f}) = P(\cap_{i = 1}^{M} \Omega_{f_{i}}) = P(\Omega_{f_{1}}) \prod_{i = 1}^{M - 1} P(\Omega_{f_{i + 1}} | \Omega_{f_{i}})\]

The threshold for the first failure event $b_{1}$ is computed using the Monte Carlo simulations. The thresholds for the following intermediate failure events $b_{i}$ are computed using the Monte Carlo Markov Chain samples generated from the conditional probability density functions $f_{\vec{X}}(\vec{x} | \Omega_{f_{i}})$.

Current implementation of the SSM follows Au and Beck (2001).

## API

`Fortuna.solve`

— Method`solve(Problem::ReliabilityProblem, AnalysisMethod::SSM)`

Function used to solve reliability problems using Subset Simulation Method (SSM).

`Fortuna.SSM`

— Type`SSM <: AbstractReliabililyAnalysisMethod`

Type used to perform reliability analysis using Subset Simulation Method (SSM).

`P₀::Real`

: Probability of failure for each subset $P_{0}$`NumSamples::Integer`

: Number of samples generated within each subset $N$`MaxNumSubsets::Integer`

: Maximum number of subsets $M$

`Fortuna.SSMCache`

— Type`SSMCache`

Type used to perform reliability analysis using Subset Simulation Method (SSM).

`XSamplesSubset::Vector{Matrix{Float64}}`

: Samples generated within each subset in $X$-space`USamplesSubset::Vector{Matrix{Float64}}`

: Samples generated within each subset in $U$-space`CSubset::Vector{Float64}`

: Threshold for each subset $C_{i}$`PoFSubset::Vector{Float64}`

: Probability of failure for each subset $P_{f_{i}}$`PoF::Float64`

: Probability of failure $P_{f}$