Ziziphus Team Description Paper 2015
Mohsen Sadeghi Pour, Azin Ghasemi, Mohsen Firoozbakht
Department of Computer Engineering, Islamic Azad University, South Tehran Branch, Tehran, Iran
Abstract Ziziphus Team was established in 2013 and has participated in the annual RoboCup competitions since 2013. Our main idea was to model a playground and collect data for skills. However, this year, we used a matrix around players and each matrix contains both coordination in playground and results of the Bernoulli Test. By finding victory regions in matrix, we could gather data to calculate skills required for the player to dribble, pass and block. This improvement may lead the players to enhance the strategy to confront unforeseen situations.
1 Introduction
Ziziphus Soccer 2D Simulation Team was established in 2013 by Computer Engineering Department of Islamic Azad University of South Tehran Branch, Iran. In RoboCup2014, our team's name was CMC and we participated in both IranOpen and SharifCup held in 2013, Iran. Last year, we also tried to get qualified in the RoboCup, but we couldn't. Subsequently, we have been working on refurbishment and improvement of the team strategy which is based on Agent2D 3.1.1 [1].
This paper presents a method based on a matrix around each player in multi-agent systems. Section 2 is going to describe the matrix modeling that contains the method of using the matrix and calculation of considered skills which are Dribble, Pass and Block. Eventually, conclusion and future work are followed in section 3.
2 Modeling Area Using a Matrix
A Matrix will be used to model area around each player and store some information about different states of the player for making decisions. Previously, we modeled a playground as a unique matrix; however, it was static and states of the player were not known, therefore the results were the same as taking a log from a match. We have developed our strategy by assigning a unique square matrix to each player (the player is center of the matrix) which is dynamic and unique. Each cell of the matrix shows a relative coordination (calculation of the number of cells from center multiplying cell's dimension) of player in playground and also contains the results of the test which depends on three questions related to the Bernoulli test [2]. Each question is a description of a skill and the matrix is filled with the results based on the following questions:
- If I kick the ball, can I intercept it? (for dribbling)
- If I kick the ball, can one of the teammates intercept it? (for passing)
- If the opponent kicks the ball, can I intercept it? (for blocking)
How to use the matrix model and calculating skills using the matrix model are described in the following sections.
2.1 How to Use the Matrix Model
Using the matrix generally starts with finding victory regions[^1] in the matrix. The victory region is the area in which the player must be or must shoot. The action of the player for victory region depends on two factors: 1) skills to be calculated and 2) questions to be selected.
[^1]: Aggregation of cells that contain victory (1) for test results.
2.2 Calculating Skills Using the Matrix Model
When the matrix is created, skills will be calculated depending on the methods that we would like to investigate. Usage of the matrix model in dribble, pass and block is described in the following sections.
2.2.1 Calculating Dribble
For dribbling, the player needs a point to carry (with ball dribbling) or to kick (fast dribbling) the ball into it, then runs after the ball. In order to find the best position for dribbling, two conditions occur: 1) a suitable victory region is present in front of the player or not, 2) the region is too small in size.
For instance, the matrix is created (Fig.1) and its cells are filled with the first question (if I kick the ball, can I intercept it?). The player (depicted as a green circle) is surrounded by three opponents (depicted as yellow circles). The analysis of the matrix shows four victory regions which are based on the first question. Accordingly, the player will dribble into a largest victory region available in front of it (Region C).
| 1 | 1 | 0 | 0 | 0 | ° | 0 | 0 | 0 | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | |
| 1 | 1 | 1 | 1 | 1 | 1 | 7 | 1 | 0 | |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | |
| 1 | 1 | 1 | 1 | 1 | ] | 0 | 0 | 0 | |
| 1 | 1 [ | 1 | 1 | ٥ | 0 | 0 | 0 | 0 | 6 |
| 1 | 1 | 1 | 0 | 0 | 0( | 5 º | 0 | 0 | |
| 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Fig. 1. An example of the matrix with four victory regions (A, B, C and D). The teammate player is depicted as a green circle and opponents as yellow circles. The player will dribble into a largest victory region available in front of it (Region C).
2.2.2 Calculating Pass
There are three kinds of passes; direct pass, cross pass and through pass. Different passes have different sizes and cell dimensions within the created matrix. Direct pass is indicated with a large matrix and a small cell size while cross pass is indicated with a large matrix and a medium cell size. Through pass requires a specific area of the large matrix which is close to the opponent's goal.
Typically, through pass is more suitable, but needs a special condition. Priority conditions of passes are defined as follow:
Through Pass >> Direct Pass >> Cross Pass Forward >> Cross Pass Backward
For instance, the large matrix is created (Fig.2) and its cells are filled with the second question (if I kick the ball, can the teammate intercept it?). Our teammates and opponents are depicted as green and yellow circles, respectively. The analysis of the matrix showed five victory regions that are based on the second question. Accordingly, the player can do the direct pass to the teammate 1, cross pass to the teammates 1 & 2, through pass to the teammate 2 and cross pass backward to the teammates 3 & 4.
2.2.3 Calculating Block
To block an opponent, the player must be in a position to make the largest victory region which contains opponent's lines (the lines between the opponent with ball and other opponents around it) and goal's lines (the lines between the opponent with ball and our goal posts).
For instance (Fig. 3), eight points (depicted as light green circles) will be considered and each point represents a matrix that its cells are filled with the third question (If the opponent kicks the ball, can I intercept it?). It can be seen that the matrix of the point number two is the most eligible, as the player can cover both opponent's lines (depicted as dashed red lines) and goal's lines (depicted as complete red line) maximally.
3 Conclusion and Future Work
This paper shows a simple way of using the matrix model to calculate three skills; dribble, pass and block. The results of the simulation can be reasonable. For future work, the proposed method can be extended by using AI2[^2] algorithms like ANNs[^3] to analyze the collected data from the matrix for guessing the reaction of the opponent's players in each situation. The data can be used to improve the performance of teamwork and skills.
[^2]: Artificial Intelligence [^3]: Artificial Neural Networks, a family of statistical learning models inspired by biological neural networks.
References
- AKIYAMA, H.: Agent2D Soccer Simulation 2D Base Source code and Documentation. http://en.osdn.jp/projects/rctools/releases/p4887.
- Devore, J. L.: Probability and Statistics for Engineering and the Sciences. 94 (2011)
- Halliday, D., Resnick, R., Walker, J.: Fundamental of physics. (2008)
- Neapolitan, R., Naimipour, K.: Introduction to Algorithms. (2001)