Notebooks

Genetic Algorithm (GA)

GA is a type of evolutionary computing. It imitates biological evolution to find the `fittest' solution to an optimization problem. So, it is another optimization algorithm like gradient descent or exhaustive search. The fitness is determined by a fitness function.

Procedure: It defines a population of chromosomes, which are candidate solutions to the optimization problem). It then does the following operations on the initial set of parents: selection, crossover, mutation, elicitation. (pp. 2–4, Carr 2014)

Example: See pp. 6–8 and pp. 11–16, Carr 2014 for examples of discrete and continuous optimization problems, respectively. The solution of the Traveling Salesman problem is on pp. 22–27, Carr 2014.

One practical example is shown in Kim et al. 2021 who designed new polymers starting from a set of parent polymers with the goal of achieving high glass-transition temperature $T_\text{g}$ (to ensure mechanical stability at high temperatures) and high band-gap $E_\text{g}$ (to ensure protection from dielectric breakdown). They proposed 192 new polymers that may have that function based on designing new polymers using GA and then evaluating the $T_\text{g}$ and $E_\text{g}$ of those from pre-trained ML models.

Recommended

Carr, J. (2014). An Introduction to Genetic Algorithms. PDF
Kim, C., Batra, R., Chen, L., Tran, H., & Ramprasad, R. (2021). Polymer design using genetic algorithm and machine learning. Computational Materials Science, 186, 110067.