Skip to main content

Thank you for visiting nature.com. You are using a browser version with limited support for CSS. To obtain the best experience, we recommend you use a more up to date browser (or turn off compatibility mode in Internet Explorer). In the meantime, to ensure continued support, we are displaying the site without styles and JavaScript.

  • Review Article
  • Published:

Computational genetics

Evolutionary computation

Key Points

  • Evolutionary computation (EC) incorporates evolutionary ideas into algorithms.

  • These algorithms can be applied to problems of biological interest.

  • They are interesting models for evolution, so that EC research might inform biological questions.

  • There are many types of EC: genetic algorithms, evolutionary programming, evolution strategies, genetic programming and evolvable hardware.

  • These differ in that some solve particular problems, and others produce descriptions of entities that solve several problems. They tend to differ in implementation details.

  • Successful EC applications represent evolving objects with appropriate data structures, and implement evolutionary processes that work well with these representations.

  • Techniques exist that allow representations and evolutionary processes to change during the course of an evolutionary computation.

  • Evolved programs often have interesting properties, such as increasing genome sizes, 'unexpressed' genomic material and phenotypic resilience, which might be analogous to biological phenomena.

Abstract

Evolution does not require DNA, or even living organisms. In computer science, the field known as 'evolutionary computation' uses evolution as an algorithmic tool, implementing random variation, reproduction and selection by altering and moving data within a computer. This harnesses the power of evolution as an alternative to the more traditional ways to design software or hardware. Research into evolutionary computation should be of interest to geneticists, as evolved programs often reveal properties — such as robustness and non-expressed DNA — that are analogous to many biological phenomena.

This is a preview of subscription content, access via your institution

Access options

Rent or buy this article

Prices vary by article type

from$1.95

to$39.95

Prices may be subject to local taxes which are calculated during checkout

Figure 1: Evolutionary computation schematic.
Figure 2: Field programmable gate array — an example of a sorting network.
Figure 3: Example of automatically defined functions.
Figure 4: Example of headless chicken crossover.

Similar content being viewed by others

References

  1. Danielson, W. F., Foster, J. A. & Frincke, D. in Proc. Int. Conf. Evolutionary Computing (eds Fogel, D. B. & Angeline, P. J.) 259–264 (IEEE Press, Piscataway, New Jersey, 1998).

    Google Scholar 

  2. Shoaf, J. S. & Foster, J. A. in Proc. 1996 Annu. Meeting of the Decision Sciences Institute Vol . 2, 571– 573 (Decision Sciences Institute, Orlando, Florida, 1996).

    Google Scholar 

  3. Marconi, J. & Foster, J. A. in Proc. Int. Conf. Evolutionary Computing (eds Fogel, D. B. & Angeline, P. J.) 650– 655 (IEEE Press, Piscataway, New Jersey, 1998).

    Google Scholar 

  4. Notredame, C. & Higgins, D. G. SAGA: sequence alignment by genetic algorithm. Nucleic Acids Res. 24, 1515– 1524 (1996).

    Article  CAS  PubMed  PubMed Central  Google Scholar 

  5. Chellapilla, K. & Fogel, G. B. in Proc. Congr. Evolutionary Computation (eds Angeline, P. J. & Porto, V. W.) 445–452 (IEEE Press, Piscataway, New Jersey, 1999).

    Google Scholar 

  6. Zhang, C. & Wong, A. K. C. Toward efficient multiple molecular sequence alignment: a system of genetic algorithm and dynamic programming . IEEE Trans. Syst. Man Cybernet. B: Cybernet. 27, 918–932 (1997).

    Article  CAS  Google Scholar 

  7. Lewis, P. O. A genetic algorithm for maximum-likelihood phylogeny inference using nucleotide sequence data. Mol. Biol. Evol. 15, 277– 283 (1998).

    Article  CAS  PubMed  Google Scholar 

  8. Koza, J. R., Mydlowec, W., Lanza, G., Yu, J. & Keane, M. A. in Pacific Symp. Biocomputing 2001 (eds Altman, R. B., Dunker, A. K., Hunker, L., Lauderdale, K. & Klein, T. E.) 434–445 (World Scientific, Singapore, 2001).

    Google Scholar 

  9. Goh, G. K.-M. & Foster, J. A. in Proc. Genetic and Evolutionary Computation Conf. (GECCO-2000) (eds Whitley, D. et al.) 27–33 (Morgan Kaufmann, San Francisco, California, 2000).

    Google Scholar 

  10. Gehlhaar, D. et al. Molecular recognition of the inhibitor AG-1343 by HIV-1 protease: conformationally flexible docking by evolutionary programming. Chem. Biol. 2, 317–324 ( 1995).

    Article  CAS  PubMed  Google Scholar 

  11. Bäck, T. Evolutionary Algorithms in Theory and Practice: Evolutionary Strategies, Evolutionary Programming, Genetic Algorithms (Oxford Univ. Press, New York, 1996).Survey of all evolutionary computation types, with mathematical characterization of their properties.

    Google Scholar 

  12. Holland, J. H. Adaptation in Natural and Artificial Systems (MIT Press, Cambridge, Massachusetts, 1975).Readable introduction to genetic algorithms, with interesting additional comments on artificial ecosystems.

    Google Scholar 

  13. Fraser, A. S. Simulation of genetic systems by automatic digital computers. I. Introduction . Aust. J. Biol. Sci. 10, 484– 491 (1957).

    Article  Google Scholar 

  14. Krasnogor, N., Hart, W. E., Smith, J. & Pelta, D. A. in Proc. Genetic and Evolutionary Computation Conf. (eds Banzhaf, W. et al.) 1596–1601 (Morgan Kaufmann, San Francisco, California, 1999).

    Google Scholar 

  15. Blickle, T. in Handbook of Evolutionary Computation (eds Bäck, T., Fogel, D. B. & Michalewicz, Z.) C2. 3: 1–4 (Oxford Univ. Press, New York, 1997).

    Google Scholar 

  16. Fogel, D. B. Evolutionary Computation: Towards a New Philosophy of Machine Intelligence (IEEE Press, Piscataway, New Jersey, 1999).

    Google Scholar 

  17. Fogel, D. B. in Proc. 2nd Annu. Conf. Evolutionary Programming (eds Fogel, D. B. & Atmar, W.) 23–29 (IEEE Press, Piscataway, New Jersey, 1993).

    Google Scholar 

  18. Fogel, L. J., Owens, A. & Walsh, M. Artificial Intelligence Through Simulated Evolution (John Wiley & Sons, New York, 1966).

    Google Scholar 

  19. Bäck, T., Hammel, U. & Schwefel, H.-P. Evolutionary computation: comments on the history and current state. IEEE Trans. Evol. Comput. 1, 3–17 (1997).Thorough presentation of main types of evolutionary computation (EC), with a complete discussion of EC history.

    Article  Google Scholar 

  20. Reed, J., Toombs, R. & Barricelli, N. A. Simulation of biological evolution and machine learning. I. Selection of self-reproducing numeric patterns by data processing machines, effects of hereditary control, mutation and type crossing. J. Theor. Biol. 17, 319–342 ( 1967).

    Article  CAS  PubMed  Google Scholar 

  21. Rosenberg, R. Simulation of Genetic Populations with Biochemical Properties (Univ. of Michigan, Ann Arbor, 1967).

    Google Scholar 

  22. Fogel, D. B., Fogel, L. J. & Atmar, J. W. in Proc. 25th Asilomar Conf. Signals, Systems and Computers (ed. Chen, R. R.) 540–545 (Pacific Grove, California, 1991).

    Google Scholar 

  23. Koza, J. R. Genetic Programming. II. Automatic Discovery of Reusable Programs (MIT Press, Cambridge, Massachusetts, 1994).

    Google Scholar 

  24. Koza, J. R. Genetic Programming: On the Programming of Computers by Means of Natural Selection (MIT Press, Cambridge, Massachusetts, 1992).

    Google Scholar 

  25. Mayley, G. Landscapes, learning costs and genetic assimilation. Evol. Comput. 4, 213–234 ( 1996).

    Article  Google Scholar 

  26. Smith, R. E. in Handbook of Evolutionary Computation (eds Bäck, T., Fogel, D. B. & Michalewicz, Z.) B1. 5: 6–11 (Oxford Univ. Press, New York, 1997).

    Google Scholar 

  27. Holland, J. H. Adaptation in Natural and Artificial Systems (MIT Press, Cambridge, Massachusetts, 1992).

    Book  Google Scholar 

  28. Russo, M. Genetic fuzzy learning. IEEE Trans. Evol. Comput. 4 , 259–273 (2000).

    Article  Google Scholar 

  29. Banzhaf, W., Nordin, P., Keller, R. E. & Francone, F. D. Genetic Programming – An Introduction; On the Automatic Evolution of Computer Programs and its Applications (Morgan Kaufmann, San Francisco, California, 1998).Textbook on genetic programming, with a survey of many applications.

    Google Scholar 

  30. Foster, J. A. Discipulus: the first commercial genetic programming system. J. Genetic Programming Evolvable Hardware 2, 201– 203 (2001).

    Article  Google Scholar 

  31. Ryan, C., Collins, J. J. & O'Neill, M. in Proc. 1st European Workshop on Genetic Programming (eds Banzhaf, W., Poli, R., Schoenauer, M. & Fogarty, T. C.) 83–95 (Springer, New York,1998).

    Book  Google Scholar 

  32. Koza, J. R., Bennett, F. H., Andre, D. & Keane, M. A. Genetic Programming. III. Darwinian Invention and Problem Solving (Morgan Kaufmann, San Francisco, California, 1999).

    Google Scholar 

  33. Koza, J. R., Bennett, F. H., Andre, D., Keane, M. A. & Dunlap, F. Automated synthesis of analog electrical circuits by means of genetic programming. IEEE Trans. Evol. Comput. 1, 109–128 ( 1997).

    Article  Google Scholar 

  34. Miller, J. F., Job, D. & Vassilev, V. K. Principles in the evolutionary design of digital circuits. Part I. Genetic Programming Evolvable Machines 1, 7–35 (2000).

    Article  Google Scholar 

  35. Miller, J. F., Job, D. & Vassilev, V. K. Principles in the evolutionary design of digital circuits. Part II. Genetic Programming Evolvable Machines 1, 259–288 (2000).

    Article  Google Scholar 

  36. Miller, J. F. in Proc. Genetic and Evolutionary Computation Conf. (eds Banzhaf, W. et al.) 1135–1142 (Morgan Kaufmann, San Francisco, California, 1999).

    Google Scholar 

  37. Masner, J., Cavalieri, J., Frenzel, J. & Foster, J. A. in Proc. NASA/DoD Workshop on Evolvable Hardware (eds Stoica, A., Keymenlen, D. & John, J.) 255–261 (IEEE Press, Piscataway, New Jersey, 1999).

    Book  Google Scholar 

  38. Thompson, A. in Genetic Programming 1996: Proc. 1st Annu. Conf. (eds Koza, J. R., Goldberg, D. E., Fogel, D. B. & Riolo, R. L.) 444–452 (Morgan Kaufmann, San Francisco, California, 1996).

    Google Scholar 

  39. Dumoulin, J., McGrew, S., Frenzel, J. & Foster, J. A. in Proc. Int. Workshop on Evolvable Image and Digital Signal Processing (ed. Cagnoni, S.) 1–11 (Springer, New York, 2000).

    Google Scholar 

  40. Thompson, A., Harvey, I. & Husbands, P. in Towards Evolvable Hardware; The Evolutionary Engineering Approach (eds Sanchez, E. & Tomassini, M.) 136– 165 (Springer, Berlin, 1996).

    Book  Google Scholar 

  41. Masner, J., Cavalieri, J., Frenzel, J. & Foster, J. A. in Proc. NASA/DoD Workshop on Evolvable Hardware (eds Stoica, A., Keymenlen, D. & John, J.) 81–90 (IEEE Press, Piscataway, New Jersey, 2000).

    Book  Google Scholar 

  42. Barkai, N. & Leibler, S. Robustness in simple biochemical networks. Nature 387 (1997).

  43. Wolpert, D. H. & Macready, W. G. No free lunch theorems for optimization. IEEE Trans. Evol. Comput. 1, 67–82 (1997).

    Article  Google Scholar 

  44. Culberson, J. C. On the futility of blind search: an algorithmic view of 'no free lunch'. Evol. Comput. 6, 109–127 (1998).Readable presentation of 'no free lunch' theorems, an important part of evolutionary computation theory.

    Article  CAS  PubMed  Google Scholar 

  45. Whitely, D. in Proc. Genetic and Evolutionary Computation Conf. (eds Banzhaf, W. et al.) 833–839 (Morgan Kaufmann, San Francisco, California, 1999).

    Google Scholar 

  46. Angeline, P. J. & Pollack, J. B. in Artificial Life III (ed. Langton, C.) 55–71 (Addison-Wesley Longman, Reading, Massachusetts, 1994).

    Google Scholar 

  47. Rosca, J. P. & Ballard, D. H. in Advances in Genetic Programming 2 (ed. Angeline, P. J. & Kinnear, K. E.) 177– 202 (MIT Press, Cambridge, Massachusetts, 1996).

    Google Scholar 

  48. Jones, T. in Proc. 6th Int. Conf. Genetic Algorithms (ed. Eshelman, L. J.) 73–80 (Morgan Kaufmann, San Francisco, California, 1995).

    Google Scholar 

  49. Angeline, P. J. in Genetic Programming 1997: Proc. 2nd Annu. Conf. (eds Koza, J. R. et al.) 9–17 (Stanford Univ., California, 1997).

    Google Scholar 

  50. O'Reilly, U.-M. & Oppacher, F. in Parallel Problem Solving from Nature (PPSN III) (eds Davidor, Y., Schwefel, H.-P. & Männer, R.) 397–406 (Springer, New York, 1994).

    Book  Google Scholar 

  51. Goldberg, D. Genetic Algorithms in Search, Optimization and Machine Learning (Addison–Wesley, Reading, Massachusetts, 1989).

    Google Scholar 

  52. Lipson, H. & Pollack, J. B. Automatic design and manufacture of artificial lifeforms. Nature 406, 974 –978 (2000).

    Article  CAS  PubMed  Google Scholar 

  53. Whitley, D. L., Gordon, V. S. & Mathias, K. E. in Parallel Problem Solving from Nature (eds Davidor, Y., Schwefel, H.-P. & Männer, R.) 6– 15 (Springer, Berlin, 1994).

    Google Scholar 

  54. Turney, P., Whitely, D. & Anderson, R. Evolution, learning, and instinct: 100 years of the Baldwin effect. Evol. Comput. 4, iv– viii (1996).

    Article  Google Scholar 

  55. Hinton, G. E. & Nowlan, S. J. How learning can guide evolution . Complex Syst. 1, 495– 502 (1987).

    Google Scholar 

  56. Schaffer, J. D. & Morishima, A. in Genetic Algorithms and their Applications: Proc. 2nd Int. Conf. Genetic Algorithms (ed. Grefenstette, J. J.) 36–40 (Morgan Kaufmann, San Francisco, California, 1987).

    Google Scholar 

  57. Louis, S. J. & Rawlins, G. J. E. in Proc. 4th Int. Conf. Genetic Algorithms (eds Belew, R. K. & Booker, L. B.) 53– 60 (Morgan Kaufmann, San Mateo, California, 1991).

    Google Scholar 

  58. Hadad, B. S. & Eick, C. F. in Evolutionary Programming VI (eds Angeline, P. J., Reynolds, R. G., McDonnell, J. R. & Eberhart, R.) 223–234 (Springer, New York, 1997).

    Book  Google Scholar 

  59. Francone, F. D., Conrads, M., Banzhaf, W. & Nordin, P. in Proc. Genetic and Evolutionary Computation Conf. (eds Banzhaf, W. et al.) 1021–1026 (Orlando, Florida, 1999).

    Google Scholar 

  60. Langdon, W. B. Size fair and homologous tree genetic programming crossovers. Genetic Programming Evolvable Machines 1, 95– 119 (2000).

    Article  Google Scholar 

  61. Langdon, W. B., Soule, T., Poli, R. & Foster, J. A. in Advances in Genetic Programming 3 (eds Spector, L., Langdon, W. B., O'Reilly, U.-M. & Angeline, P. J.) 163–190 (MIT Press, Cambridge, Massachusetts, 1999).

    Google Scholar 

  62. Soule, T. & Foster, J. A. Effects of code growth and parsimony pressure on populations in genetic programming. Evol. Comput. 6, 293–309 (1998).

    Article  CAS  PubMed  Google Scholar 

  63. Soule, T., Foster, J. A. & Dickinson, J. in Genetic Programming 1996: Proc. 1st Annu. Conf. (eds Koza, J. R., Goldberg, D. E., Fogel, D. B. & Riolo, R. L.) 215–223 (Morgan Kaufmann, San Francisco, California, 1996).

    Google Scholar 

  64. Leung, K.-S., Duan, Q.-H., Xu, Z.-B. & Wong, C. K. A new model of simulated evolution computation – convergence analysis and specifications . IEEE Trans. Evol. Comput. 5, 3– 16 (2001).

    Article  Google Scholar 

  65. Deb, K. & Spears, W. M. in Handbook of Evolutionary Computation (eds Bäck, T., Fogel, D. B. & Michalewicz, Z.) C6. 2: 1–5 (Oxford Univ. Press, New York, 1997).

    Google Scholar 

  66. Paredis, J. in Evolutionary Computation. 2. Advanced Algorithms and Operators (eds Bäck, T., Fogel, D. B. & Michalewicz, Z.) 224– 238 (Institute of Physics Publishers, Bristol, UK, 2000).

    Book  Google Scholar 

  67. Dorigo, M. & Caro, G. D. in New Ideas in Optimization (eds Corne, D., Dorigo, M. & Glover, F.) 11–32 (McGraw–Hill, London, 1999).

    Google Scholar 

  68. Hofmeyr, S. A. & Forrest, S. in Proc. Genetic and Evolutionary Computation Conf. (eds Banzhaf, W. et al.) 1289–1296 (Orlando, Florida, 1999).

    Google Scholar 

  69. Vose, M. D. The Simple Genetic Algorithm: Foundations and Theory (MIT Press, Cambridge, Massachusetts, 1999).A thorough presentation of current genetic algorithm theory.

    Google Scholar 

  70. Jones, T. Computer Science. Thesis, Univ. of New Mexico, Albuquerque, New Mexico (1995).

    Google Scholar 

  71. Poli, R. & Langdon, W. B. Schema theory for genetic programming with one-point crossover and point mutation. Evol. Comput. 6, 231–252 (1998).

    Article  CAS  PubMed  Google Scholar 

  72. Heckendorn, R. B. & Whitley, D. Walsh functions and predicting problem complexity. Evol. Comput. 7, 69–101 (1999).

    Article  CAS  PubMed  Google Scholar 

  73. Altenberg, L. in Foundations of Genetic Algorithms III (eds Whitley, L. D. & Vose, M. D.) 23–49 (Morgan Kaufmann, San Francisco, California, 1995).

    Google Scholar 

  74. Fogel, D. B. & Ghozeil, A. The schema theorem and the misallocation of trials in genetic algorithms. Inform. Sci. 122, 93–119 (2000).

    Article  Google Scholar 

  75. Macready, W. G. & Wolpert, D. H. Bandit problems and the exploration/exploitation trade-off. IEEE Trans. Evol. Comput. 2, 2–22 (1998 ).

    Article  Google Scholar 

Download references

Acknowledgements

This work was supported in part by the National Science Foundation and the National Institutes of Health. The author is particularly grateful for detailed comments from, and discussions with, D. Fogel, J. Koza, R. Heckendorn and H. Wichman, and the anonymous referees.

Author information

Authors and Affiliations

Authors

Related links

Related links

FURTHER INFORMATION

Tutorial: What is GP?

Genetic programming

Easy guide to EC

Genetic Programming and Evolvable Machines, Kluwer

Evolutionary Computation, MIT Press

IEEE Transactions on Evolutionary Computation

Books

Handbook of Evolutionary Computation

Genetic Programming — An Introduction; On the Automatic Evolution of Computer Programs and its Applications

Evolutionary Algorithms in Theory and Practice: Evolutionary Strategies, Evolutionary Programming, Genetic Algorithms

An Introduction to Genetic Algorithms

James Foster's lab

Glossary

FITNESS FUNCTION

A function that measures the quality of an individual with respect to the given target function, usually as a real value.

DATA STRUCTURE

An organized collection of data, such as a list, tree, or array.

GENE

A field in a chromosome, usually associated with a single parameter (allele) in the target problem.

OPERATORS

Processes that act on chromosomes, including selection, mutation and recombination.

FINITE (STATE) AUTOMATA

A finite state machine is one that takes a sequence of input 'letters' (symbols, inputs), and begins in a 'start state', then repeatedly reads one input letter, optionally outputs a letter and moves to a new state.

SELF-ADAPTATION

The ability of an individual to alter the evolutionary processes that affect its genotype through the use of strategy parameters.

MACHINE CODE

Instructions for a particular computer, expressed in directly machine-readable form.

EMBRYONIC INDIVIDUAL

A simple individual which is transformed into a more complex one by applying instructions evolved in a grammatical or developmental genetic programme.

BOOLEAN OPERATOR

Logical operators, such as AND or OR, that form expressions with binary values, denoted 'true' and 'false', or 1 and 0.

REPRESENTATION PROBLEM

Decision on how to organize data in individuals, and the choice of variation and recombination operators that work well with that organization.

MACROMUTATION

Any large change in alleles that does not involve recombination.

HILL CLIMBING

Varying a chromosome by searching explicitly for small changes that improve the fitness of the individual, and then making those changes.

PERMUTATION

An ordered arrangement of distinct items.

EVOLUTIONARY ROBOTICS

Using evolutionary computation to design robots or robot controllers.

INTRON

Data in chromosomes that do not contribute to fitness.

PARSIMONY PRESSURE

Selective fitness advantage for smaller genomes.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Foster, J. Evolutionary computation . Nat Rev Genet 2, 428–436 (2001). https://doi.org/10.1038/35076523

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1038/35076523

This article is cited by

Search

Quick links

Nature Briefing

Sign up for the Nature Briefing newsletter — what matters in science, free to your inbox daily.

Get the most important science stories of the day, free in your inbox. Sign up for Nature Briefing