An adaptive Algorithm involving search and optimization first used by John Holland. Holland created an electronic organism as a binary string (``chromosome''), and then used genetic and evolutionary principles of fitness-proportionate selection for reproduction (including random crossover and mutation) to search enormous solution spaces efficiently. So-called genetic programming languages apply the same principles, using an expression tree instead of a bit string as the ``chromosome.''
See also Cellular Automaton