Evolution, complexity and artificial life