GECCO 2012 tutorial: cartesian genetic programming