FC-Perspolis 2013 Soccer 2D Simulation Team Description Paper
Amir Tavafi, Vahid Khodabakhshi, Nima Nozari, Michael Shaghelani, Hosseinali Zare, Marziye Hashemian
FC Perspolis Robotic Lab, Tehran, Iran
Abstract FC-Perspolis is a new soccer 2D simulation team. Most of its members have been participating from 2005 in this field and participated in RoboCup since year 2008 and also achieved 3rd place in last 2 years of RoboCup competitions with the name of MarliK team. At this project, we continue to research based on the previous versions of our related papers, teams and researches. This paper describes our recent ideas and main focus of our researches in soccer 2D simulation league which was using data mining methods in our defensive tactics in order to improve behavior of the existing defense system. Besides that, other skills are mainly changed and improved after recent achievements in this league at MarliK.
Keywords: Data Mining, Defense System, Artificial Neural Network, Classification, Unmark
1 Introduction
FC-Perspolis robotic project is a new project in Perspolis Football Club. This Project started on 2012 by Dr. Mohammad Jafari and then 6 researchers in soccer simulation league have been chosen for this project. Half of members are formers of MarliK soccer 2D simulation team that achieved 3rd place of 2 last RoboCup competitions, and 1st Place in IranOpen 2012, DutchOpen 2012 and many other national awards in recent years. FC-Perspolis is based on Agent-2D. Our main focus in the recent year was on using data mining methods in our defensive tactics in order to improve behavior of the existing defense system besides improving other main skills.
This paper describes our recent studies and implementations in soccer 2D simulation team. One of them is the new defensive strategy based on using data mining methods through artificial neural network to classify opponent team's behavior in order to face every type of attack properly, with a suitable formation and algorithm.
This paper is organized as follows. Section 2 reviews an overview of related data mining algorithms which are related to our new defensive system. In Section 3 introduces the new Defense Former System Based on Data Mining in our team.
Section 4 briefly describes the new unmark behavior of our agents in offensive situations. Finally, this paper is concluded in Section 5.
2 Data Mining
Generally, data mining is the process of analyzing data from different aspects of a system and converting collected data to one or more desired information. Data mining is capable of analyzing data from different dimensions or phases, then categorizes it and summarizes the needed information in a way that is hard or rarely possible by other analyzing data algorithms. The process of data mining is showed in Fig.1.
One of the most important predictive methods is classification. In classification tasks, objects assigns to one category which are defined by previous available data. In classification, data is divided to two parts which are separate from each other and the goal is to assign the class of new collected data by analyzing previous available data that their class is known and available.
Different techniques are available for classification for example, in this research decision tree based methods and artificial neural networks will be explained.
2.1 Decision Tree Based Method
Decision tree based method is one the most common technique of classification. In this method a decision tree will be built from available training data – the part of data that is labeled and is used to classify new records – with an algorithm such as Hunt's algorithm, CART or C4.5. These algorithms will generate rules for the classification of a dataset.
After generating the decision tree, test data – the part of data that is not labeled and will be classified to one of the predefined classes – will be applied to the tree by asking generated questions about attributes of each test record to lead the class label of the record.
2.2 Artificial Neural Networks
Artificial neural networks (ANN) are models that learn through training and act like biological neural networks in structure. This model consists of many artificial neurons (nodes) and weighted links to connect them in order to process information and lead the input data to create processed output data. Artificial neural networks can be used for a variety of data mining tasks such as classification, clustering, time series prediction, function approximation and descriptive modeling.
3 The Defense Former System Based on Data Mining
In Soccer 2D Simulation, teams use different strategies and formations with different number of attackers, some teams use learning algorithms and/or dynamic formations e.g. WrightEagle team; other teams use static formations which makes it easier to find a stable defense strategy against those teams. In MarliK's previous works on defense strategies, it was shown that one or a combination of some static or dynamic algorithms can be good and effective but in higher levels and against teams like Helios or WrightEagle, something more is needed. So the idea of using data mining and learning algorithm in order to improve the act of defense players came up.
The goal of this system is to use a feed-forward artificial neural network that is learned enough to classify each attack that is started from opponents half with a reliable accuracy, in order to form the defense to do the best action against opponent's agents. And this ANN learns with the back propagation algorithm after each attack is performed by the opponent team. To achieve this goal the algorithm will collect all available data in specified field areas which is the important part of starting opponent's offense (Selection Data). The defense former system will classify the attack to a pre-defined class using trained neural network and the defense will face the attack in a way that is planned and tested against that specific type of offense strategy before. As shown in the following table, all possible attack systems are considered as the system's available classes and in total the algorithm has 8 different classes with different defensive behavior against them.
Table 1. Defense former system will classify every attack in one of the following classes.
| Class | Formation |
|---|---|
| 1 | 433_normal |
| 2 | 433_wide |
| 3 | 433_norrow |
| 4 | 433_agressive |
| 5 | 442_offensive |
| 6 | 442_defensive |
| 7 | 442_normal |
| 8 | Unknown_formation |
After classifying the attack and passing the area that was specified for the prediction, collected data will be kept for performing the back propagation algorithm if needed. When attack is performed and opponents formed their attack system, the system will classify the performed attack by previous knowledge with seen formation and the number of attackers like the first definitions, in order to train the ANN with new collected record.
In Fig.2 important regions that data is selected for performing this method is shown. Area A is the first part and all available data (positions of all players, ball's position and velocity, player's speeds,…) will be saved the whole cycles that ball is in this area in opponent's possession until the time that ball is out of this area. At this time, selected and preprocessed data will be given to the ANN as a test record and the result which is the class of opponent's attack system, will be used by the defense players. After ball comes into area B, new data will be analyzed by default knowledge that have created the classes and checks the real attack system with predicted system that was predicted after ball left area A. If the answers were not equal, A training data will be applied to the ANN with this new data record and it's known class.
Table 2. Result of classifying a total number of 850 attacks in 50 games.
| Opponent formation | Number of attacks | Correctly Classified Instances | Incorrectly Classified Instances | Accuracy percentage |
|---|---|---|---|---|
| 433 | 670 | 632 | 38 | 94.329 % |
| 442 | 180 | 174 | 6 | 96.667 % |
4 Unmark System
In attack situations our attacker players are often marked or in a position that might not be able to receive a pass or perform a shoot while opponents are trying to defend their goal. So we have implemented a new algorithm for simultaneously finding a position that is good for both receiving a pass and performing a shoot to opponent's goal.
In this algorithm several points near default strategic position of each player is considered. There are two important methods in FC-Perspolis's unmark system, first one is a method that searches for positions that a shoot is available toward the goal from that points. Second method finds positions that receiving a pass from ball owner to that position is possible. Then if a point is available that both actions are possible from that position, the agent will perform a fast move to that position for a defined period of cycles and after that period it will look for a new position with this algorithm again. If there is no possible position for that both actions are available each time, a position will be selected which a pass is available to that position and the fast move action will be executed to that point.
By using this method against powerful defense systems, there are now more chances to score a goal before this method was executed. In Fig. 3 two scene of this action can be observed which both of them lead to a goal, each player is moving to the pointed position for a defined period of time and this action will continue while ball possession is ours in offense situations.
3 Conclusions and Future Work
This paper described our recent works and studies in the field of multi-agent systems, artificial intelligence and briefly described our ideas and newly implemented methods. Our current effort on using data mining methods to improve behavior of agents is still improving and we are trying to extend it to other parts such as offense positioning. We are working to achieve our goal in adding different learning methods to our agents and manage to develop techniques allowing our agents to learn and adapt to any situation like humans do.
References
- Tavafi, A., Nozari, N., Vatani, R., Rad Yousefi, M., Rahmatinia, S., Piredeyr, P.: MarliK 2012 Team Description Paper. In: RoboCup 2012 Symposium and Competitions, Mexico (2012)
- Thearling, K.: An Introduction to Data Mining. (2008)
- Singh, Y., Chauhan, A.S.: Neural Networks in Data Mining. In: Journal of Theoretical and Applied Information Technology (2009)
- VenkateswaraRao, B., SrinivasaRao, Ch.: Research on Data mining using Feed-forward Neural Networks. In: Journal of Theoretical and Applied Information Technology, Vol.2 issue 1 (2012)
- Tan, P., Steinbach, M., Kumar, V.: Introduction to Data Mining, Chapter 4: Classification: Basic Concepts, Decision Trees, and Model Evaluation. (2006)
- Kamath, Ch.: Scientific Data Mining: A Practical Perspective, Chapter 4: The Scientific Data Mining Process. (2009)
- Zhang, G.P.: Neural Networks for Classification: A Survey. In: IEEE transactions on systems, man, and cybernetics - Part C: applications and reviews, Vol. 30, No. 4. (2000)