Evolution of General Driving Rules of a Driving Agent

We present an approach for automated design of the functionary of driving agent, able to operate a software model of fast running car. Our objective is to discover a single driving rule (if existent) that is general enough to be able to adequately control the car in all sections of predefined circuits. In order to evolve an agent with such capabilities, we propose an indirect, generative representation of the driving rules as algebraic functions of the features of the perceived surroundings of the car. These functions, when evaluated for the current surrounding of the car yield concrete values of the main attributes of the driving style (e.g., straight line velocity, turning velocity, etc.), applied by the agent in the currently negotiated section of the circuit. Experimental results verify both the very existence of the general driving rules and the ability of the employed genetic programming framework to automatically discover them. The evolved driving rules offer a favorable generality, in that a single rule can be successfully applied (i) not only for all the sections of a particular circuit, but also (ii) for the sections in several a priori defined circuits featuring different characteristics.