Population-based incremental learning

In computer science and machine learning, population-based incremental learning (PBIL) is an optimization algorithm, and an estimation of distribution algorithm.

This is a type of genetic algorithm where the genotype of an entire population (probability vector) is evolved rather than individual members.

[2][3][4] In PBIL, genes are represented as real values in the range [0,1], indicating the probability that any particular allele appears in that gene.

The PBIL algorithm is as follows: This is a part of source code implemented in Java.

In the paper, learnRate = 0.1, negLearnRate = 0.075, mutProb = 0.02, and mutShift = 0.05 is used.