If there are exactly three cells alive around a dead cell another cell is born. Genetic algorithms use basic principles of biology and evolution to breed solutions to a problem. A problem is encoded in such a way that it can be represented as a vector. A population of random vectors is created and tested on the problem, after which a fitness is assigned to each of the vectors in the population. Normally then, the most fit vectors are breed together to create the next population.
GAs are essentially search algorithms, searching for a solution is a very large problem space.
See the Generation5 essays . Genetic Programing is basically a genetic algorithm that uses expression trees as the vector. In short, expression trees are used to evolve an equation to a problem. LISP is a programming language often used for GP since expression trees are so easy to represent. See also phenotype .