Genetic Algorithms

Genetic Algorithms

A genetic algorithm is a search-based algorithm used for solving optimization problems in machine learning. This algorithm is important because it solves difficult problems that would take a long time to solve. It has been used in various real-life applications such as data centers, electronic circuit design, code-breaking, image processing, and artificial creativity.

The following are some of the basic terminologies that can help us to understand genetic algorithms:

  • Population
    This is a subset of all the probable solutions that can solve the given problem.

  • Chromosomes
    A chromosome is one of the solutions in the population.

  • Gene
    This is an element in a chromosome.( One Element Position)

  • Allele
    This is the value given to a gene in a specific chromosome.

  • Fitness function
    This is a function that uses a specific input to produce an improved output. The solution is used as the input while the output is in the form of solution suitability.

  • Genetic operators
    In genetic algorithms, the best individuals mate to reproduce an offspring that is better than the parents. Genetic operators are used for changing the genetic composition of this next generation.

​​​​​​​Advantages of genetic algorithm:

  • It has excellent parallel capabilities.

  • It can optimize various problems such as discrete functions, multi-objective problems, and continuous functions.

  • It provides answers that improve over time.

  • A genetic algorithm does not need derivative information.

  • Provides a list of “good” solutions and not just a single solution.

  • Always gets an answer to the problem, which gets better over the time.

  • Useful when the search space is very large and there are a large number of parameters involved.