“…• decomposing the problem into sub-problems, each of them being solved separately, either implemented manually or learned. The resulting behaviors can then be combined through an action-selection mechanism, that may itself eventually be tuned through evolution [34,54,99]; • reformulating the target objective into an incremental problem, where the problem is decomposed into possibly simpler fitness functions of gradually increasing difficulties, ultimately leading to what is reffered to as incremental evolution [36]; • reformulating the target objective into a set of fitnesses optimized independantly in a multi-objective context [73]. As opposed to the previous point, a multiobjective formulation of the problem makes it possible to avoid ranking subfitnesses difficulties, which is often a tricky issue; • using co-evolution to build a dynamically changing evaluation difficulty in competitive tasks [79,96]; • changing the evaluation during evolution to focus first on simpler problems and make the robot face progressively more difficult versions of the same task [4]; • likewise exploring solutions of increasing complexity with mechanisms protecting innovation to give new solutions a chance to prove their value [94]; • searching for novelty of behavior instead of efficiency [60,61].…”