# Genetic algorithms

Genetic algorithms can be used as optimization algorithms for search problems, where usual optimization techniques such as gradient-based ones aren’t very effective.

These methods are loosely based on evolution in biological life, implementing a limited form variation and selection to progress towards better fitness (measured by a specific fitness function).

New candidate solutions for a problem are constructed by randomly combining and mutating parent solutions. The best candidate are kept and become parents of the next generation.