The BayesiaLab's Unsupervised Structural Learning algorithms aim at finding Bayesian networks that compactly represent the Joint Probability Distribution sampled by the associated data set. The quality of the Bayesian networks that are generated during the learning is evaluated with the Minimum Description Length (MDL) score.
The number of Bayesian networks that can be designed in a domain grows super exponentially with respect to the number of variables that define this domain. It is thus impossible to carry out an exhaustive search, i.e. generate all the solutions, and select the network with the best MDL score (the lowest one). The learning algorithms are therefore based on heuristics, which implies that there is no guarantee that the optimal solution will be found.
BayesiaLab offers different algorithms in order to increase the probability to find the optimal solution. They are using different search policies (greedy, taboo) and/or are exploring different spaces (Trees, Bayesian networks, Essential Graphs, Order of nodes).