Incremental Evolution For Simulated Car Racing With Differential Evolution
Authors: Yap Khong Lim and Chin Kim On
The Open Racing Car Simulator (TORCS) is one of the famous simulator that have been used by many researchers as a platform to simulate, test, and prove the feasibility of proposed algorithms. TORCS is a car racing simulator developed for IEEE gaming Artificial Intelligence (AI) competition since 2007. It includes 3D physic based system and it can be used as a platform to generate autonomous car driving controllers. The generated controllers can be further transfer to real car. In the gaming industries, generating human-liked Non-Player Controllers (NPCs) for car racing games is costly. Furthermore, most of the games built with low AI which sometimes makes the game boring to play. In order to attract and increase players’ interest, effective AI technology is required to the games. Hence, this project proposed Incremental Different Evolution (IDE) combined Feed-forward Neural Network (FFNN) to generate the required TORCS controllers. This research aims to (1) design a new optimal fitness function for controller development in TORCS game, (2) incrementally evolve controllers with the newly designed fitness function for commonly used TORCS maps, and (3) to compare and analyze the performance of the generated controllers. There were four fitness functions have been proposed in the first experiment. The fitness function F2 had been selected and used throughout this research works after the first comparison experiment as the generated F2 controllers outperformed other controllers in term of distance raced, lap time and damages absorbed during the testing phases. Then, the generated F2 controllers have been further incrementally evolved for 50 generations for 20 commonly used maps available in the TORCS. The results showed the incremental evolved controllers performed better compared to the non-incremental evolved controllers. The controllers incrementally evolved for “Spring” track could complete others 15 unseen maps. Hence, this concludes the generated controllers could perform better if it has been previous evolved in a complex map. The generated controllers learnt different driving behaviour from the proposed fitness function. Controllers learnt the generalization driving behavior with the proposed IDE method. The generalization driving skill assists the generated controller to race successfully in any unseen tracks. It means evolving controller in highly complex tracks increased the controllers’ driving skill.