What are Genetic Algorithms?
Genetic algorithms are a group of search techniques used in computer science developed in the 1970s. These search techniques are based on the process of biological evolution and are used to provide useful solutions to optimization and search problems. As they are based on biological evolution, they use techniques that are emulated from the concepts of inheritance, mutation and selection.
In simplified terms, genetic algorithms generate a population of solutions for a given problem. Next, the ‘fittest’ solutions are selected and these solutions ‘reproduce’ (with a chance of ‘mutations’ occurring) resulting in a new population of possible solutions, with a different composition than the previous population. This process ends when a solution is found that adheres to certain criteria.
The rest of this article discusses some genetic algorithm applications, though keep in mind that a complete list of all possible applications would be a lot longer and increasing as research keeps developing and fine-tuning genetic algorithms.
Genetic Algorithm Applications
Mostly, genetic algorithms are utilized in the optimization of certain processes, or for finding a solution for a problem that fits certain requirements. The fields in which genetic algorithms can be applied, are quite diverse:
- Biological research: various aspects of biological research can be aided by genetic algorithm applications, from the profiling of the gene expression in bacteria to the phylogenetic analysis of proteins.
- Industrial process optimization: using genetic algorithms, industrial processes can be optimized, maximizing profits and minimizing effort, from power grid systems to the design of efficient and effective turbines.
- Computer games: genetic algorithms can also be used in computer games, from allowing characters to develop, to identifying the ideal strategy to be victorious.
- Economics: yet another use of genetic algorithms is in economics, where they are used to develop optimal bidding strategies or model the emergence of economic markets.
- Robotics: a last genetic algorithm application mentioned here is in robotics, from determining the optimal robot design for a certain environment to the use in machine learning, allowing machines to classify and predict tasks and act accordingly.
(For a demonstration of a genetic algorithm, go to: https://math.hws.edu/xJava/GA/)
- Hill T, Lundgren A, Fredriksson R, Schiöth HB (2005). "Genetic algorithm for large-scale maximum parsimony phylogenetic analysis of proteins". Biochimica et Biophysica Acta 1725 (1): 19–29.
- Lucas, S., and Kendell, G. (2006). Evolutionary computation and games. IEEE Comput Intell Mag., pp. 10–18
- Mitchell, M. (1998). An introduction to genetic algorithms. MIT Press.
- To, C.C. & Vohradsky, J. (2007). A parallel genetic algorithm for single class pattern classification and its application for gene expression profiling in Streptomyces coelicolor. BMC Genomics 8: 49.
- Zhang, J., Lo, W.L., and Chung, H. (2006).Pseudocoevolutionary Genetic Algorithms for Power Electronic Circuits Optimization. IEEE Trans Systems, Man, and Cybernetics, 36C (4), pp. 590–598.