Learned mutation strategies in genetic programming for evolution and adaptation of simulated snakebot