Computer engineering students at Instituto Tecnológico de Aeronáutica Vicente Carlos de Alencar Jr. and Diego Silva Dias wanted to challenge conventional methodology when developing artificial intelligence.
As opposed to optimizing previously hand-coded strategies that have already been proven, Silva Dias and de Alencar decided to use a genetic programming approach to develop the artificial intelligence of a 2D soccer team, with the goal of developing a decision tree for each one of the team’s players.
"Sometimes, there is not a known optimal strategy that can be used to solve a given problem. In these cases, instead of trying to optimize a fixed strategy that we don’t even know whether it will bring good results or not, would be desirable if we could search for it using the computer and that is exactly the aim of genetic programming, which is an evolutionary technique based on Darwinian concepts of natural selection."
The task was daunting, and the pair faced difficulties -- for example, how to define a proper fitness function?
"The first solution was to use base teams as a benchmark to play with the ones randomly created and then evaluate the final score of each game. Based on that, the best teams would be chosen and then evolved. Knowing that the generation of good teams in the initial stages of evolution is highly improbable, it would be extremely difficult to evaluate, among lots of losses, which ones are the best teams."
You can now read the complete feature
, which includes in-depth process diagrams and results from de Alencar and Dias' experience (no reg. required, please feel free to link to this feature from other sites).