ROSEMARY 2D Simulation Team Description Paper

Safreni Candra Sari, R.Priyo Hartono Adji, Galih Hermawan, Eni Rahmayanti

Digital Media and Game Technology Lab. School of Electrical Engineering and Informatics Bandung Institute of Technology

http://www.fifa.com/ballondor/world11/index.html · http://www.footballmanager.com/


Abstract ROSEMARY stands for RoboSoccer Management and Training System, is a system that developed to implement new Intelligence and strategies, algorithm and methods that improves soccer game performance of a 2D simulation team. ROSEMARY is a research project in Bandung Institute of Technology Indonesia, started in 2010. This document describes the main features of ROSEMARY soccer simulation team.

Keywords: RoboSoccer Simulator, User Interface, Particle Swarm Optimization, Soccer Strategy, Soccer Formation.

Introduction

ROSEMARY stands for RoboSoccer Management and Training System, a system that was developed to implement and test multi agents intelligence concepts, strategies, algorithms and methods that improve soccer game performance quality of a 2D simulation team. The feature includes a user interface for researchers and human coaches, and a intelligent decision support system in longer term of research.

Our long term goal is providing a soccer game tool to asses some new techniques, skills, intelligence, of multi agents system, that can be used by not only researchers but also human soccer coach. In order to support the research we have also developed a user interface to manage configuration tuning for soccer player, and setting the parameter strategy. The agents used in ROSEMARY are based on UvA Trilearn Base Agent. There are three main modification done in this project so far: agent's positioning scenario using Particle Swarm Optimization method, development of agent's characterizing based on FIFA/FIFPro World XI (can be seen on http://www.fifa.com/ballondor/world11/index.html), and ROSEMARY user interface for agent's and team's parameter online tuning.

The paper is described as follows. In section 2, the general strategy of ROSEMARY is explained, while in section 3 the agent's characterizing is described. The agent's positioning is discussed in section 4, while the user interface for online parameter tuning is given in section 5. Finally the conclusion and future work is presented in section 6.

Team Strategy

According to J. Kok [1], one of the main designer and developer of UvA Trilearn, the strategy of a team of agents can be defined as the collective plan which is followed in trying to achieve a common goal with the available resources. Those resources are among others formation, agent position, agent role(s), agent behavior, and agent stamina. A formation can be seen as a team arrangement, where each team member has specified role. Every role has to be played by a single agent. Each role inside a formation can be played by a single agent. Positioning of agents during passive situations i.e. during situations in which an agent does not have an active role in the game, has to be arranged. The behavior of each individual agent constitutes a mapping from perceptions to actions: each agent builds a world model based on his perceptions and uses this model to select an appropriate action in a given situation.

For agent's behavior, action is done based on his role and zone where he is standing. We develop agent's characterizing that was attached to some agent's roles. One of the agent's characterizing we have been building is what we called 'Messicharacter'. The character parameter was adopted from Football Manager 2011. The agent's characterizing is further discussed in the next section.

For agent's positioning, we use Particle Swarm Optimization (PSO) method, which was designed and introduced by Eberhart and Kennedy [5]. PSO is a population based - search algorithm which the behavior of some swarm animals such as bird swarm, bees, or fish. Every animal's individual in the swarm is represented by a vector to determine the next particle movement.

Agent's Characterizing

Agent's characterizing means adding standard characters to a certain player's role in agent behavior to form a ROSEMARY team. These characters were build by adding a new layer into the agent architecture by defining and composing some skills from low level to high level skills. The soccer agent architecture is given in fig. 1.

The bottom layer is the Interaction Layer which takes care of the interaction with the soccer server simulation environment. The middle layer is the Skills Layer which uses the functionality offered by the interaction layer to build an abstract model of the world and to implement the various skills of each agent. The highest layer is the Control Layer which contains the reasoning component of the system. In this layer, the best possible action is selected from the Skills Layer depending on the current world state and the current strategy of the team. The Characters Layer is responsible to provide the player characters needed in Control Layer.

Fig. 1. The architecture of ROSEMARY soccer agent. The Characters Layer combines and composes the right skills from the Skills Layer in order to form a certain character.
Fig. 1. The architecture of ROSEMARY soccer agent. The Characters Layer combines and composes the right skills from the Skills Layer in order to form a certain character.
Fig. 2. The names of characters which form the ROSEMARY formation are taken from the world player's name.
Fig. 2. The names of characters which form the ROSEMARY formation are taken from the world player's name.
Fig. 3. (a) represents the 'preferred moves', property of Messi's character, (b) represents the site where the Messi's character is adopted (Football Manager 2011). Fig. 4. The scenes of preferred moves in Messi's character. (a) represents the One-Twos, (b) represents the Like to Round Keeper, and (c) represents Cuts Inside.
Fig. 3. (a) represents the 'preferred moves', property of Messi's character, (b) represents the site where the Messi's character is adopted (Football Manager 2011). Fig. 4. The scenes of preferred moves in Messi's character. (a) represents the One-Twos, (b) represents the Like to Round Keeper, and (c) represents Cuts Inside.

Particle Swarm Optimization for Agent Positioning

PSO is initialized with a group of random particles (solutions) and then searches for optima by updating generations. In every iteration, each particle is updated by the best solution (fitness) it has achieved so far. This value is called $p_{id}$. Another "best" value that is tracked by the particle swarm optimizer is the best value, obtained so far by any particle in the population. This best value is a global best and called $p_{gd}$.

After finding the two best values, the particle updates its velocity and positions with following equation (1) and (2).

$$v_{id} = v_{id} + \varphi_1 * rand() * (p_{id} - x_{id}) + \varphi_2 * rand() * (p_{gd} - x_{id})$$

$$x_{id} = x_{id} + v_{id}$$

$v_{id}$ is the particle velocity, $x_{id}$ is the current particle (solution), $p_{id}$ and $p_{gd}$ are defined as stated before. $rand()$ is a function that generate random number between (0, 1) and $\varphi_1$, $\varphi_2$ are learning factors.

One of the research conducted by Eberhart and Shishows that PSO does the search effectively in a wide area, but not really representative for local search. The solution offered was introducing the inertia factor $\omega$, which adjust the velocity $v$ dynamically from time to time. The adjusted equation is then given as follow.

$$v_{id} = \omega * v_{id} + \varphi_1 * rand() * (p_{id} - x_{id}) + \varphi_2 * rand() * (p_{gd} - x_{id})$$

For agent's positioning in soccer game, the velocity $v_{id}$ represents the distance that has to be traveled by a soccer agent $i$, while $p_{id}$ represents the best evaluation value the agent $i$ ever had, and $x_{id}$ is the agent $i$'s current position.

The evaluation value of agent is obtained by considering the following aspects: the closest distance of agent to the goal, the closest distance of agent to the ball, and the closest distance of agent to the opponent's agent.

User Interface

In order to do the configuration tuning, we developed a user interface which help the user (researcher of human coach) to be able to observe change the parameter value during the game. In the following figure, one of user interface layout is given.

Fig. 5. One example of ROSEMARY user interface layout.
Fig. 5. One example of ROSEMARY user interface layout.

Conclusion and Future Work

In this Team Description Paper, we have addressed some improvements in the strategy level which involving the soccer agent positioning. We have also addressed some improvement in agent's architecture by adding a new layer called Character Layer. In the future, we are interested in designing and implementing an intelligent decision support system to control to our team strategy and we are still working on intelligent algorithms to improve our team skills. Improving and adjustment low-level implements according to the new versions of soccer simulations server is also our main concern. The user interface we have designed will be also integrated to the Simulator System.

References

  1. Boer de R., Kok, J. R.: The Incremental Development of a Synthetic Multi-Agent System: The UvA Trilearn 2001 Robotic Soccer Simulation Tim, Master Thesis, University of Amsterdam, The Netherlands, February (2002)
  2. FIFA BALLON D'OR 2010 website. http://www.fifa.com/ballondor/world11/index.html, accessed on January 15 2011, 15.10 CET.
  3. Football Manager™ 2011 Official Website. http://www.footballmanager.com/, accessed on January 20 2011, 19.10 CET.
  4. J. Kennedy, dan R Eberhart: Particle Swarm Optimization, IEEE Conference on Neural Networks, pp. 1942-1948, (Perth, Australia), Piscataway, NJ, IV, (1995)
  5. A. P. Engelbrecht, Fundamentals of Computational Swarm Intelligence, Wiley, (2005)
  6. K. E. Parsopoulos dan M. N. Vrahatis: Particle Swarm Optimization and Intelligence : Advances and Applications, IGI Global, (2010)
  7. B. Kaewkamnerdpong dan P. J. Bentley: Perceptive Particle Swarm Optimisation: an Investigation, (2009)
  8. Shi, Y. H., Eberhart, R. C.: Parameter Selection in Particle Swarm Optimization, The 7th Annual Conference on Evolutionary Programming, San Diego, USA, (1998)
  9. Fajar Juang Eka Putra: Perancangan dan Implementasi Interaksi Pengguna pada Perangkat Lunak Manajemen dan Pelatihan RoboSoccer agent "ROSEMARY", Master Thesis, Bandung Institute of Technology, October (2010)