Algorithms that evolve