Genetic Algorithms (GAs) are a part of Evolutionary Computing (EC), which is a rapidly growing area of Artificial Intelligence (AI). It inspired by the process of biological evolution based on Charles Darwin’s theory of natural selection, where fitter individuals are more likely to pass on their genes to the next generation. We, as human beings, also are the result of thousands of years of evolution.

History of Genetic Algorithms

The GA, developed by John Holland and his collaborators in the 1960s and 1970s.

  • As early as 1962, John Holland’s work on adaptive systems¹ laid the foundation for later developments.
  • By the 1975, the publication of the book “Adaptation in Natural and Artificial Systems”², by Holland and his students and colleagues.

The GA got popular in the late 1980s by was being applied to a broad range of subjects that are not easy to solve using other techniques.

In 1992, John Koza has used genetic algorithm to evolve programs to perform certain tasks. He called his method “genetic programming” (GP)³.

What is evolution in the real world?

For thousands of years, humans have acted as agents of genetic selection, by breeding offspring with desired traits. All our domesticated animals and food crops are the results. Let review the genetic terms in nature as follows.

  • Each cell of a living thing contains chromosomes — strings of DNA.
  • Each chromosome contains a set of genes — blocks of DNA
  • Each gene determines some aspect of the organism (like eye colour)
  • A collection of genes is sometimes called a genotype
  • A collection of aspects (like eye colour) is sometimes called a phenotype
  • Reproduction (crossover) involves recombination of genes from parents and then small amounts of mutation (errors) in copying
  • The fitness of an organism is how much it can reproduce before it dies
  • Evolution based on “survival of the fittest”

What’s Genetic Algorithm in Computer Science?

Genetic Algorithms are categorized as global search heuristics. A genetic algorithm is a search technique used in computing to find true or approximate solutions to optimization and search problems. It uses techniques inspired by biological evolution such as inheritance, mutation, selection, and crossover.

Image for post

five steps of a genetic algorithm

We look at the basic process behind a genetic algorithm as follows.

Initialize population: genetic algorithms begin by initializing a Population of candidate solutions. This is typically done randomly to provide even coverage of the entire search space. A candidate solution is a Chromosome that is characterized by a set of parameters known as Genes.

**Evaluate: **next, the population is evaluated by assigning a fitness value to each individual in the population. In this stage we would often want to take note of the current fittest solution, and the average fitness of the population.

#python #genetic-algorithm #technology #algorithms

An Introduction to Genetic Algorithms
1.45 GEEK