## Progressive population-based learning

The information processing goal of the population-based progressive learning (PBIL) algorithm is to reduce the memory required by thegenetic algorithm. This is done by reducing the population of a candidate solution to a single attribute vector prototype from which candidate solutions can be generated and evaluated. Updates and mutation operators are also performed on the prototype vector, rather than the generated candidate solutions.

The population-based progressive learning algorithm maintains a real-valued prototype vector that represents the probability that each component will be expressed in a candidate solution. The following algorithm provides a pseudocodes of the population-based incremental learning algorithm for maximizing a cost function.

PBIL was designed to optimize the probability of low cardinality set components, such as bits in a bit string. The algorithm has a very small memory footprint (compared to some scalable population-based algorithms) due to the compression of information into a single prototype vector. Extensions to population-based progressive learning have been proposed to extend representation beyond sets to real-valued vectors.

The variants of PBIL that were proposed in the original article include updating the prototype vector with more than one competitive candidate solution (as an average of the best candidate solutions) and moving the prototype vector away from the most competitive candidate solution. less competitive with each iteration. Low learning rates are preferred, such as 0.1.