  Evolution by natural selection can be seen an algorithm for generating
creative solutions to difficult problems. More precisely, evolution by natural
selection is a class of algorithms that share a set of properties. The question
we address here is, what are the conditions that define this class of
algorithms? There is a standard answer to this question: Briefly, the
conditions are variation, heredity, and selection. We agree that these three
conditions are sufficient for a limited type of evolution, but they are not
sufficient for open-ended evolution. By open-ended evolution, we mean evolution
that generates a continuous stream of creative solutions, without stagnating.
We propose a set of conditions for open-ended evolution. The new conditions
build on the standard conditions by adding fission, fusion, and cooperation. We
test the proposed conditions by applying them to major transitions in the
evolution of life and culture. We find that the proposed conditions are able to
account for the major transitions.
