Expertinos Simulation: Team Description Paper Robocup 2015

Marcos Renato Coutinho Faleiro, Felipe Lira Santana Silva, Cauê Franco Guidotti, Guilherme Sousa Bastos

Federal University of Itajubá, MG, Brazil

http://www.unifei.edu.br/


Abstract This paper presents the Expertino Simulation team from Federal University of Itajubá (UNIFEI), Brazil, and explains how it has changed over the years by replacing the base code and adapting programs from successful teams that have participated in Robocup competitions. In order to achieve great results in a short time, the team improved the marking, positioning and stamina control algorithms already implemented, and now it is planning to recover the Reinforcement Learning theory, used in 2012 on a UvA Trilearn base code, in the current agent2d base as future work.

1 Introduction

Expertinos Simulation is a part of the team Expertinos Unifei specialized in the 2D soccer simulation category. The team is composed by undergraduated students, who develop the soccer teams as part of a research program on artificial intelligence.

The team first participated in a competition in the Latin American and Brazilian Robotics Competition (LARC 2012) with the name ROBOK2D, which was totally programmed using reinforcement learning algorithm and the actions of UvA Trilearn base code. Since then the team has changed the base code from UvA Trilearn to the UaiSoccer2D team [3], which uses the agent2d as base, and has been improving all algorithms to achieve better results.

This team uses a fuzzy logic algorithm with an enhanced set of rules for positioning and stamina implemented on the base code. Very good results were obtained using this configuration, and the next goal is to apply reiforcement learning algorithms to rule the high level actions. The team's development was largely influenced by the brazilian teams ITAndroids [2, 6] and Uaisoccer [7], being the last one the base team used by Expertinos Simulation.

This paper describes Expertinos Simulation team in sections: section 2 describes the fuzzy logic used on the team, section 3 will explain the algorithm that controls positioning and stamina, in section 4 is discussed the results of the new modifications and a comparison with the old UvA based team, then section 5 concludes this paper and adds our planned future work.

2 Fuzzy Logic

2.1 Introduction

Fuzzy Logic is a different approach of the binary logic that allows computers to process intermediate values. In a fuzzy set, its elements have a gradual membership between two different subsets, and a function returns the degree of membership of a specific element to a subset [5].

Therefore, the team now can take actions based on this numerical degree, that will have better results than if a crisp set were used instead. For example, while making the decision of whether pass or not the ball, an agent can use the distance of the nearest opponent as a decision factor. If a crisp set is used, there will be a specific transition value where the decision changes, and it can lead to mistakes if the values were miscalculated. For instance, a fuzzy set can define a region of transition where not only the pass decision is made, but also the kick power is defined.

Since this team uses the UaiSoccer2D code as team base, their marking algorithm was inherited with strategic modifications to obtain a more offensive behavior during the games.

2.2 Modifications

The positioning algorithm created by UaiSoccer2D has 3 different marking areas with different security distances that the agent will keep from the opponent [7]. The three output variables given by the output fuzzy function are defined as Very Close, Close and Away used at Area 1 (defensive field), Area 2 (mid field) and Area 3 (offensive field) respectively.

Thus, changing the input variable values it is possible to set up marking strategies. As shown in Figure 1, if Area 1 has its range increased, using the following values: Area 1 (-52.5 to -22), Area 2 (-10 to 5), and Area 3 (20 to 52.5), the team will play defensively.

On the other hand, if Area 3 is diminished and Area 2 increased as shown in Figure 2, with: Area 1 (-52.5 to -22), Area 2 (-10 to 25), and Area 3 (35 to 52.5), the team will mark close near the offensive field leading to a more aggressive gameplay.

These parameters can be changed during the game by the coach, what is good for artificial intelligence (AI) modeling once it can work on a flexible strategy, playing aggressively at the beginning and defensively at the end of the game for example.

Fig. 1: Defensive Strategy
Fig. 1: Defensive Strategy
Fig. 2: Aggressive Strategy
Fig. 2: Aggressive Strategy

3 Positioning, Penalties and Stamina algorithms

Expertinos focused on two essential parts that will have great impact on the final game play of the team, positioning and stamina control, also a part of Gliders2014 and FCP_GPR_2014 codes were implemented.

3.1 Positioning

It was noticed in the Robocup teams, that there are many different positioning configurations even from the ones already in the agent2d base code. As a result, Expertinos Simulation uses as base two different settings from two teams:

  • YuShan [9], which has a good defensive positioning that keeps the opponents from having space for their moves as shown in Figure 3.
  • Gliders [8], with a more offensive positioning that makes it harder for the opponents to mark the players as shown in Figure 4.

Both formations were developed using the Robocup Tool Formation Editor, fedit2 [1].

Fig. 3: YuShan Defensive Formation
Fig. 3: YuShan Defensive Formation

3.2 Stamina

Watching the games of Expertinos Simulation's team, it was observed that some players were spending stamina too fast, and when a player runs out of stamina it becomes useless for the team, since stamina is necessary to keep a good marking or to make attack moves. Moreover, reading several TDP's from other teams, it is clear that stamina is a critical general problem, and each one works hard to try to solve this issue.

In the agent2d's code there is a strategic function where the stamina's usage and refill rate is determined, so it was given a different value according to the player's position as follows:

  • Defenders need a slightly more stamina to pursue the opponents when a defensive maneuver is necessary. However, it has to be perfect balanced, for the player has enough stamina until the end of the game.
  • Midfielders had their stamina at minimum, because they will work as a link between defenders and forwards, helping also in marking the opponents occasionally.
  • Forwards need as much stamina as possible, in order to have a tactical advantage over the opponent defenders to score.

3.3 Penalty Kick and Goalie routines

A small change made on the team was based on: bhv_goalie_chase_ball.cpp function created by Gliders [8], and bhv_penalty_kick.cpp function developed by FCP_GPR_2014 [4]. These functions rules the goalie and players' behavior during a penalty kick to improve defense and scoring rates.

4 Results

During the first participation in the LARC 2012, the first team had bad results taking more than 30 goals against teams that used the agent2d code as base. Since then, Expertinos Simulation was trying to improve the UvA trilearn based team without success, so recently it was decided to study and develop a team based on agent2d.

The base code was changed for two reasons:

  • Increase team's competitive edge during the games;
  • The modifications now improve high level routines in a well developed team, instead of create basic algorithms.

With the modifications made so far, it is possible to compare both teams' results as shown in Table 1, the current team has a significantly better performance.

Table 1: Results

Opponents Expertinos' Teams Score
UaiSoccer2012 ROBOK2D 37x0
ITAndroids ROBOK2D 38x0
UaiSoccer2014 Expertinos Simulation 0x2
ITAndroids Expertinos Simulation 2x1

5 Conclusion and Future Work

Considering that the work on the team using the agent2d base code is recent, the improvements and results of this team are very good, the current team won the game against the more recent UaiSoccer's team, and in 2012 it lost by 37 socores as shown in Table 1. Also, the team has not had enough time to develop a full AI modeling until the publication of this TDP, so the next step is to create its very own modeling using reinforcement learning integrated with the positioning, marking and stamina control algorithms presented in this paper. This modeling will be based on the old Expertinos' soccer team, which had a good learning rate even with the great disadvantage regarding the different base codes.

References

  1. fedit2-0.0.0. http://pt.sourceforge.jp/projects/rctools/downloads/ 48791/fedit2-0.0.0.tar.gz/. Accessed: 2015-02-11.
  2. Itandroids wiki. https://bitbucket.org/luizmramos/itandroids/wiki/ Home. Accessed: 2015-02-11.
  3. Robocup 2014 joao pessoa/brazil soccer simulation 2d league. http: //fei.edu.br/rcs/2D/2014/. Accessed: 2014-11-5.
  4. João Alberto Fabro, Bruno de Oliveira Oenning, Vinícius Brenner, Luis Paulo Reis, and Nuno Lau. Fcp_gpr_2014 team: Joining setplays from fcportugal with reinforcement learning from gpr2d to improve decision-making in multioption setplays, 2014.
  5. M. Hellmann. Fuzzy logic introduction.
  6. Fábio Mello, Luiz Ramos, Marcos Maximo, Rodrigo Roim, and Victor Moura. Itandroids 2d soccer simulation team description 2013, 2013.
  7. Andre Luiz C. Ottoni, Heitor Magno R. Junior, Itallo G. Machado, Lara T. Cordeiro, Erivelton G. Nepomuceno, Eduardo B. Pereira, Rone I. da Silva, Marcos S. de Oliveira, Luiz O. R. Vasconcelos, Andre M. Lamounier, Fellipe Lobo, Felipe M. Nomiya, Francisco A. R. Neto, and Joao G. Rocha. Ufsj2d (uaisoccer2d + robocap):team description paper robocup 2014, 2014.
  8. Mikhail Prokopenko, Oliver Obst, Peter Wang, David Budden, and Oliver Cliff. Gliders2013: Tactical analysis with information dynamics, 2013.
  9. ZeKai-Cheng, WenWen-Jin, TanQi-Yu, WeiLing-Lu, ChangLong-Liang, YaShun-Ren, and JiaYu-Zhang. Yushan2014 team description paper for robocup2014, 2014.