I am using the Active Learning Reliability (ALR) framework in UQLab and would like to better understand how the candidate populations are handled internally during the enrichment process.
My understanding is that the learning function (e.g., the U-function) is evaluated on a candidate population generated by the reliability algorithm at each iteration. However, I am not completely clear about whether these samples are regenerated or reused throughout the active learning procedure.
More specifically:
• Is the candidate population used for enrichment regenerated after each surrogate update, or is it kept fixed during the AL process?
• When ALR is combined with Monte Carlo Simulation (MCS), is the population used for estimating Pf regenerated at each iteration, or reused?
• Is there any theoretical drawback to using a fixed candidate population (while removing already-selected enrichment points) instead of regenerating the candidate set at every iteration?
My interest comes from an application involving highly non-smooth limit-state functions, where the handling of candidate populations appears to have a noticeable influence on the convergence behavior of the active learning process.
The answer depends on the reliability analysis method used. In principle for MCS, the same sample set is used throughout the active learning process. In fact, a common random number (CRN) option is enabled by default, meaning that for MCS, the same sample set is reused (actually regenerated) at each iteration. For importance sampling, the sample set is simply linearly shifted according to the design point. When using subset simulation, only the first subset is common to all iterations.
Note that although it is not mentioned in the documentation, it is possible to disable common random numbers by setting the following option:
.ALR.CRN = false ;
In any case, the same sample set (or initial samplet set when using SuS) is used for evaluating Pf, and the bounds Pf^+ and Pf^-.
At each iteration, the sample set used for the reliability analysis is also used for enrichment, so what I said above also applies for the candidate set. Note that there is an option called .ALR.MaxCandidateSize, which limits the size of the enrichment candidate.If the number of samples generated by the reliability analysis exceeds this limit, a random subset of size .ALR.MaxCandidateSize is selected as candidate set.
Regarding your last question, I do not see any issue with this approach, provided that the candidate set is sufficiently large compared with the dimensionality of the problem. In practice, the enrichment problem is already solved heuristically over a discrete candidate set rather than exactly over the continuous random variables space. Therefore, increasing the candidate set size generally improves the quality of the approximation, especially for high-dimensional problems.
I hope this helps, and apologies again for my delayed response.