Dynamic Positioning Based on Voronoi Cells (DPVC)
ABSTRACT In this paper we are proposing an approach for flexible positioning of players in Soccer Simulation in a MultiAgent environment.
We introduce Dynamic Positioning based on Voronoi Cells (DPVC) as a new method for players’ positioning which uses Voronoi Diagram for distributing agents in the field. This method also uses Attraction Vectors that indicate agents’ tendency to specific objects in the field with regard to the game situation and players’ roles. Finally
DPVC is compared with SBSP as the conventional method of positioning.

Conference Paper: An Approximate Computation of the Dominant Region Diagram for the RealTime Analysis of Group Behaviors.
[Show abstract] [Hide abstract]
ABSTRACT: This paper describes a method for a realtime calculation of a dominant region diagram (simply, a dominant region). The dominant region is proposed to analyze the features of group behaviors. It draws spheres of influence and is used to analyze a teamwork in the team sports such as soccer and handball. In RoboCup Soccer, particularly in small size league(SSL), the dominant region takes an important role to analyze the current situation in the game, and it is useful for evaluating the suitability of the current strategy. Another advantage of its realtime calculation is that it makes possible to predict a success or failure of passing. To let it work in a real environment, a realtime calculation of the dominant region is necessary. However, it takes 10 to 40 seconds to calculate the dominant region of the SSL’s field by using the algorithm proposed in [3]. Therefore, this paper proposes a realtime calculation algorithm of the dominant region. The proposing algorithm compute an approximate dominant region. The basic idea is (1) to make a reachable polygonal region for each time t 1, t 2, ... , t n , and (2) to synthesize it incrementally. Experimental result shows that this algorithm achieves about 1/1000 times shorter in computation time and 90% or more approximate accuracy compared with the algorithm proposed in [3]. Moreover, this technique can predict the success or failure of passing in 95% accuracy.RoboCup 2009: Robot Soccer World Cup XIII [papers from the 13th annual RoboCup International Symposium, Graz, Austria, June 29  July 5, 2009]; 01/2009  SourceAvailable from: Andreas D. Lattner[Show abstract] [Hide abstract]
ABSTRACT: This paper describes the current status of the Virtual Werder 3D team. Since last year's competition many eorts have been initiated by our team. A selection thereof is presented in this paper. Major changes include a new timing model, the use of a particle filter for the estimation of positions and velocities of moving objects at arbitrary times, and a new dynamic reposition skill based on Voronoi cells.  SourceAvailable from: InTech
Chapter: Positioning in Robots Soccer
Robotic Soccer, 12/2007; , ISBN: 9783902613219
Page 1
Dynamic Positioning Based on Voronoi Cells
(DPVC)
HesamAddin Torabi Dashti, Nima Aghaeepour, Sahar Asadi, Meysam Bastani,
Zahra Delafkar, Fatemeh Miri Disfani, Serveh Mam Ghaderi, Shahin Kamali,
Sepideh Pashami, and Alireza Fotuhi Siahpirani
Math and Computer Science Department,
Faculty of Science, University of Tehran, Iran
{dashti, nimaa, asadi, bastani, delafkar, fmiri, ghaderi,
skamali, pashami, fotuhi}@khayam.ut.ac.ir
http://www.fos.ut.ac.ir/robocup
Abstract. In this paper we are proposing an approach for flexible po
sitioning of players in Soccer Simulation in a MultiAgent environment.
We introduce Dynamic Positioning based on Voronoi Cells (DPVC) as
a new method for players’ positioning which uses Voronoi Diagram for
distributing agents in the field. This method also uses Attraction Vectors
that indicate agents’ tendency to specific objects in the field with regard
to the game situation and players’ roles. Finally DPVC is compared with
SBSP as the conventional method of positioning.
1Introduction
In MultiAgent Systems collaboration between individual agents has a critical
role, since each agent decides and acts independently in order to achieve the com
mon goal. In RoboCup Soccer Simulation each agent receives information from
environment and builds a world model. Using this world model, agents are able
to recognize their position in the field toward other agents. Each agent should
cooperate with its team by selecting an appropriate action. Thus there should
be a strategy which leads agents to take the best action. The most important
aspects of MultiAgent soccer strategy are as follow:
– The strategy must specify the formation of the team and the position of the
agents inside this formation.
– The strategy must define different roles inside a formation and assign these
roles to various player positions.
– For each role, the strategy must specify the behavior which is associated
with the player’s current role.
– The strategy must incorporate information about how an agent should adapt
its behavior to the current situation.
– The strategy must indicate how each player should manage its battery during
the game [1].
A. Bredenfeld et al. (Eds.): RoboCup 2005, LNAI 4020, pp. 219–229, 2006.
c ? SpringerVerlag Berlin Heidelberg 2006
Page 2
220H.T. Dashti et al.
To achieve these goals, we must distinct different players’ states. There is always
one player who is associated with ball and obeys a different decision method
based on the strategy; other agents should move toward their best position in
the field. So positioning is vital and should be carefully implemented in the
strategy. The most popular method for dynamic positioning in RoboCup Soccer
Simulation is SBSP (Situation Based Strategic Positioning)[2] which is presented
by FC Portugal team. This method defines specific target positions for agents
who do not possess the ball; these target positions are calculated with regard to
the current formation of the team and roles of agents in this formation.
Although SBSP is a very powerful method for positioning it has some re
strictions, one of them is the obligation to define Home Positions. In this paper
we present a simple and flexible positioning method which we call Dynamic
Positioning based on Voronoi Cells (DPVC). DPVC uses Voronoi Diagram to
calculate target positions of agents.
Section 2 describes basics of positioning also shows restrictions of SBSP. In
Sec. 3 Voronoi Diagram is introduced and a new algorithm for computing Voronoi
Cells is presented. In Sec. 4 we show how to use a simple version of DPVC for
positioning. In Sec. 5 we apply attraction vectors and study the behavior of
DPVC. Section 6 includes some experimental results and comparisons between
SBSP and DPVC.
2Basics of Positioning
As mentioned before, in SBSP players calculate their target position by getting
the game situation, formation of team, players’ roles and their current position
as input.
Situation of the game indicates rate of offence or defense considering ball
position, position of teammates and opponents. Formation is a set of information
each player needs to do positioning. It can be defined as an arrangement of
players in the field which assigns a role to each agent. Role of an agent specifies
characteristicsof that agent regardingto the team formation and current position
of the agent. Generally formations are used to keep players distributed in the
field, to do so SBSP defines a home position for each role in the field. An agent
determines its target position by computing a weighted sum of its home position
and current position of the ball as an attraction point [1]. It is important to note
that each role has specific attraction to ball. Also each player has a boundary
area that can not exceed outside it.
For the player who is associated with the ball, no home position is defined
and its movement is not bounded in a closed area. If such a player looses the
ball, it has to move into its teammates’ regions to return to its own region. This
extra movement is a waste of battery.
A solution for this problem is to switch positions within a formation. However,
switching positions can also cause increased player movement if a player has to
move across the field to occupy its new position [5].
Page 3
Dynamic Positioning Based on Voronoi Cells (DPVC)221
In most conventional positioning methods there is no significant change in
players relative positions; because in each formation number of players getting
the same role is fixed. This number changes by switching to another formation.
Considering this fact, number of players in roles is predictable for the opponent
team to adapt its strategy accordingly if it is provided with a coach.
The above problems can be solved by omitting home positions and formations
as it is done in DPVC. DPVC computes attractions, roles, and target positions
without using formation. It causes an increase in the importance of attractions
for controlling agents to implement strategy.
In DPVC each agent has specific attractions to special objects like ball, op
ponent goal and etc. These attractions are presented by force vectors, applied to
the agents. In our implementation of DPVC, vector sum of different attraction
vectors determines an agent’s movement; this vector is a function of different
parameters in the field including ball position, opponent and teammate goal po
sitions in the field. This means that attraction vectors show tendency of players
to specific objects in the field. Attraction vectors are not the same for different
roles; they are also influenced by game situation.
By removing formations, each agent’s movements wouldn’t be restricted in
a bounded region and agents may gather in specific locations. This is due to
the public attractions of some objects in the field. For example by applying
ball attraction, players may aggregate around the ball. Avoiding this problem,
players must repulse each other. To distribute players, we introduce a method
which is based on Voronoi Diagram.
3Voronoi Diagram
As mentioned before the method introduced in this paper for distributing agents
is based on Voronoi Diagram. It helps us to divide the field into 10 cells (a cell
for each player of the team except goalie). Since goalie has a different behavior, it
obeys a different positioning method. By computing center of each cell and tend
ing agents toward the center of their cells, an acceptable method for distributing
agents in the field will be achieved. We now define Voronoi Diagram formally
and then present an adaptive algorithm to soccer situation for computing each
agent’s Voronoi Cell.
3.1Basics of Voronoi Diagram
If P = {p1,p2,...,pn} be a set of n distinct objects (sites) in the plane; Voronoi
Diagram of P will be the subdivision of the plane into n cells, one for each site
in P, with the property that a point q lies in the cell corresponding to a site pi
iff dist(q,pi) < dist(q,pj) for each pjwhen j ?= i [3].
Voronoi Diagram is usually used in situations where a plane should be parti
tioned into cells of influence, as it will be discussed in the field of soccer simula
tion. It can be shown that the Voronoi Diagram is a set of subdivisions whose
edges are straight line segments. It means that the Voronoi Diagram is a set of
convex polygons.
Page 4
222H.T. Dashti et al.
We can use Voronoi Diagram to have a dynamic positioning. Voronoi Cell of
an agent is defined as the partition that contains the agent. In the first step we
need an algorithm for computing each agent’s Voronoi Cell.
3.2Computing Voronoi Diagram
The most popular algorithm for computing Voronoi Diagram is introduced by
Steve Fortune [3]. Although Fortune Algorithm computes Voronoi Diagram of n
object in O(nlogn) [3] and this makes it an ideal algorithm for most applications
but it has some complexities due to use of data structures like priority queues
and binary trees. On the other hand in a MultiAgent System for each agent we
need only its own Voronoi Cell whereas Fortune algorithm makes all the cells.
Because of these problems in DPVC instead of Fortune Algorithm a new method
is used which is more compatible with a MultiAgent System. Time complexity
of this method is O(n2). Although this is worse than Fortune Algorithm, we
compute Voronoi Cells for only 10 agents so optimal time of Fortune Algorithm
is not an important positive point.
We developed an algorithm (CalculateVC) that computes Voronoi Cell of
agents separately every sense. Thus instead of calculating Voronoi Diagram for
all agents, each player calculates its related cell.
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
1
2
3
4
5
6
a
b
c
d
e
f
Fig.1. Steps for computing the Voronoi Cell of agent 3
To compute the cell of agent i (1 ≤ i ≤ 10), at the beginning of the algorithm
we consider the entire field as cell of this agent (Fig. 1) then in a greedy method
this initial Cell will be abounded 9 times to get the desired result in a way that
the perpendicular bisectors of agent i and other 9 agents are constructed. Each
of these lines intersects the cell of agent i at most in two points, resulting in two
polygons that are both convex. From these polygons the one that contains agent
i will be considered as the cell of agent i. Figure 1 shows the consecutive steps
of this algorithm.
Page 5
Dynamic Positioning Based on Voronoi Cells (DPVC)223
Alg.1. Computing Voronoi Cell of agent i
Algorithm CalculateVC (agent i):
// Input: an agent indexed i
// Output: a polygon (cell) as the Voronoi Cell of input agent
// Consider the entire field as the initial Voronoi Cell of i
celli← all the field
Point Pi← position of i
for all agents j ?= i do
Point Pj← position of agent j
Line L ← perpendicular bisector of Piand Pj
Intersect L with celli
if L intersects celliin 0 or 1 points then
Continue
end if
// L cuts celliinto two polygons (left and right)
Polygon cell0← right polygon
Polygon cell1← left polygon
if cell0contains Pithen
celli← cell0
else
celli← cell1
end if
end for
CalculateVC makes 9 intersection lines. Calculating intersection points of a
line and a convex polygon with k edges needs O(k) time using Sutherland
Hodgeman Algorithm[4]. Since there are 9 intersection lines, k is always less
than 9. As a result, time complexity of CalculateVC is O(9 ∗ 9).
4Dynamic Positioning Based on Voronoi Cells (DPVC)
In DPVC for each agent we use its Voronoi Cell to present a vector to tend that
agent in a direction for repulsing its teammates, this vector is called Voronoi
Vector. Voronoi Vector of each agent will be combined by all attraction vectors
of that agent and the result is the force vector that should be applied to the
agent in each sense. It means that Voronoi Vectors’ duty is to distribute agents
in the field. We now explain how to use Voronoi Cells to achieve a method for
distributing agents. In the first step for agent i (1 ≤ i ≤ 10) the Voronoi Cell is
computed (see Alg.1). This cell is a convex polygon with kiedges. In the second
step center of this cell is computed using algorithms based on computational
geometry. We can define the center of a simple polygon as the center of mass
of a two dimensional object having a shape like that polygon , assuming that
the density is the same in all parts of the object. The vector from an agent’s
Page 6
224H.T. Dashti et al.
position toward the center of its Voronoi Cell is defined as the Voronoi Vector
of that agent.
According to the definition of Voronoi Cell we can approximate compression
(density) of other agents around an agent by the space of that agent’s Voronoi
Cell. If this area is increased, the compression of the other agents near that cell
(agent) will be decreased. The relative positioning (direction and distance) of
an agent toward the center of its cell shows the state of that agent in regards
to the other agents’ compression zone. If an agent is near to the center of its
cell, its distance from other agents is near optimal. For example in Fig. 2 (a)
cell of agent 1 is smaller than other cells, this means that the compression is
high around this cell. We can also see that the center of cell 1 is near to agent
1 so this agent is in the same distance from other agents (on the average) and
its relocation (in this sense) does not help to remove compression. Notice that
cell 5 has a wider area and as a consequence the compression is low around it.
We can also see that the agent 5 is far from center of its cell and it is near to
the compression zone so by moving agent 5 to the center of cell 5, compression
will be decreased. It is possible to verify this point for other agents. As it is
shown in Fig. 2 (b) and Fig. 2 (c) by moving the agents towards the center of
their cells, areas of the wider cells (like cell 5) decreases and areas of smaller
cells(like cell 1) increases. It is wise to consider the equality of Voronoi Cell
areas as a factor (or definition) for distribution, so in a sequence of senses the
agents get more distributed and this process continues until all the agents reach
a balance state. This means that the agents’ positions and the center of their
cells will be in the same point. In other word the Voronoi Vector will be zero
vector. To show that the agents reach a balance state after some senses, it is
necessary to define center of a polygon in such a way that by moving an agent
toward the center of its cell, summation of its distances from the other agents
increases. Defining center of mass as the center of a polygon (as it is suggested in
DPVC) satisfies this condition. With this definition, to show that agents reach
equivalency we use these notations: dij= distance between agent i and agent j,
Pi
the definition for center of a polygon it is obvious that sumD has an ascendant
proceed. This means that: sensea< senseb→ sumDsensea< sumDsenseb. In
other word when agents move toward the center of their cells summation of
s=?10
j=1dijfor agent i in sense s, sumDs=?10
k=1pk
sin sense s, Considering
6
2
5
4
1
3
4
3
5
1
2
6
2
6
5
3
4
1
a
b
c
Fig.2. Agent’s movement toward their cell’s center divides the field into equal areas
Page 7
Dynamic Positioning Based on Voronoi Cells (DPVC)225
a
b
c
d
e
f
Fig.3. Agents’ movement using DPVC without attraction in rcssserver3D
distances between all players (sumD) rises. Also the field of match (generally
the rectangle on which we make Voronoi Diagram) is bounded , so this ascendant
proceeding should be stopped because sumD can not be more than a limit and
after t senses it will stop. In this sense agents get equivalency. This means that
if we force agents toward the center of their cells (by applying Voronoi Vectors)
they move in a path that results in an equivalence state.
The final shape of Voronoi Diagram after getting equivalency depends on the
initial formation of agents in the field, it means that different initial formations
result in different final shapes and there is no unique final shape. Figure 3 shows
agents movement using DPVC without attraction in RoboCup Soccer Simulation
Server 3D (rcssserver3D).
Observation shows that if Voronoi Diagram in final equivalence state has some
sort of symmetry toward X axis and Y axis the result will be a stable equivalence.
This means that if we apply a little change in the position of an agent (after
reaching the equivalency), in the next sense Voronoi Diagram will be formed
in a way to rectify this change. Thus the agent moves toward its last position
to get the equivalence again. Notice that it differs from defining a static point
like home position for agents, because if the agent’s displacement increases more
than a certain limit, DPVC probably tends agents to a new equilibrium state.
On the other hand in real conditions where attractions are applied, the system
is so dynamic that agents never get an equilibrium state, they are just forced in
an equivalency path that is updated in every sense.
If in the final equilibrium state the Voronoi Diagram becomes asymmetric,
the result will be an unstable equivalency, in other word a little change in the
Page 8
226H.T. Dashti et al.
position of an agent makes the other agents move continuously until they get a
new stable or unstable equilibrium. In this new equivalency, shape of Voronoi
Cells differs from last equilibrium state.
In our earlier discussion of distributing players, Voronoi Cells are constructed
from only teammates (except goalie) as Voronoi constructing points (sites); but
considering game situation and role of players, it is a good idea to distribute some
of agents in open spaces between opponents to make passes more successful. If
we add opponents’ positions to the set of points (sites) that construct Voronoi
Cells, the field will be partitioned into 21 cells i.e. a cell for each player in the field
except goalie of our team. By applying this method on the agents specified by
situation and role, their Voronoi Vectors will be constructed in a way that make
them to move toward opponent team’s openings. In other word these agents have
a kind of repulsion to both opponents and teammates.
5DPVC with Attraction
When we apply both attraction vector and Voronoi Vector, the agent has accept
able behavior. In this condition the agents repulse each other (due to Voronoi
Vectors) and also attract certain objects like ball and opponent or teammate
goal with respect to the match situation (due to attraction vectors).
Attraction vectors prevent agents from getting equivalency, so some of them
are always moving but as it was indicated before a force (Voronoi Vector) is
applied to agents in a path to achieve equivalency and it distributes agents in
the field. For example when an agent recede center of its cell (because of its
attraction vectors), the Voronoi Vectors of other agents move them in a way to
fill that agent’s opening.
Voronoi Vectors should be applied in an optimal direction. It is not desirable
that direction of Voronoi Vectors change in two sequential senses; because this
probably makes agents to do unnecessary extra movements and this is a waste of
battery. This undesirable condition appears when the Voronoi Vector is applied
to agent in direction of getting an unstable equilibrium. However the probability
that this undesirable condition occurs is very low because agents should be in
very rare and scarce positions to be forced toward an unstable equivalency. On
the other hand matches are so dynamic and in each sense attraction vectors
change, so in real conditions agents’ movement is practically optimal. This fact
is adapted with physics too. the probability that a moving sphere stops on the
top of a hill (unstable equivalency) is so lower than stopping in the bottom of
hill (stable equivalency), because the equilibrium zone is so limited on the top.
Considering DPVC we have an efficient method that can distribute agents in
the field and also has some tools for implementation of a strategy. As explained
in Sec. 2 attraction vectors determine agents’ behavior. So it is important to
assign appropriate attraction vectors for each agent with respect to its role and
game situation. We must define attraction functions to set attraction vectors in
a way to coordinate the players. These functions get game situation and player’s
role as input. So in different situations, attraction vectors change; for example
Page 9
Dynamic Positioning Based on Voronoi Cells (DPVC)227
in offensive situation there is more attraction towards opponent’s goal. As a
conclusion team strategy can be applied by attraction functions.
Also in DPVC number of players in each role is not fixed and changes ac
cording to the game situation. As a result agents’ behavior is more flexible and
it reduces the team’s predictability, and this is a positive point for DPVC in
comparison to SBSP.
As mentioned in Sec. 2 in conventional methods of positioning when formation
changes, agents have to move across the field to get their new positions. But in
DPVC, this extra movement is omitted due to the fact that destination of agents
is updated in each sense, also every sense Voronoi Cells of each agent is updated
and its shape changes continuously. These changes are concrete i.e. there is no
sudden change in the shape of Voronoi Cell of an agent in two consecutive senses.
As a result Voronoi Cells’ center of masses and consequently Voronoi Vectors
(destination of agents) change continuously.
Considering these facts it is obvious that DPVC method has properties of a
strategic positioning as are indicated in Sec. 1.
6 Experimental Results
Performance of a team not only depends on its positioning method but also
depends on other decision modules and efficiency in implementation of agents
skills. Accordingly it is difficult to define an appropriate criterion to evaluate the
positioning method. In order to survey the applied positioning, we compared two
similar teams using different positioning methods in rcssserver3D. One of these
teams uses SBSP as positioning method and the other uses DPVC. Since there
Fig.4. The figure shows statistical distribution for average number of passable players
of the team against Aria, using DPVC and SBSP methods for positioning. N is number
of the team opportunities to pass the ball. Numbers in xaxis show number of passable
players while numbers in yaxis are times that these numbers occur. As it is shown
while using DPVC in average there are five passable players whereas by using SBSP
there are only 3.6 passable players.
Page 10
228H.T. Dashti et al.
Table 1. Results when two similar teams using different positioning methods (DPVC
and SBSP) play against Aria team
DPVC SBSP
4.09
58.31% 56.92%
18.80% 22.15%
1.47% 1.26%
23.02% 19.98%
Average number of passable players
Ball in control of the team
Ball in own half
Ball in own penalty area
Ball in opponent penalty area
3.36
is usually little density of players near corners of the field, we improved DPVC
by restricting the initial Voronoi Cells of agents to a hexagonal surrounded by
the entire field rectangle.
To compare these two positioning methods we prepared two experiments. In
these experiments both teams play against Aria team the champion of RoboCup
2004 3D competitions. In the first experiment the number of passable players
around the ball when the ball is in possession of the testing team is measured.
Passable player is a player who has the opportunity to get the ball if it is passed.
So being a passable player is a matter of player’s distance from the ball. In our
experiment a player is defined to be passable if its distance from ball is less
than 20 meters. Fig. 4 is a statistical diagram of passable players of the team.
In Fig. 4 (a) DPVC is used as the positioning method, whereas in Fig. 4 (b) the
positioning is based on SBSP.
In the second experiment both the team using DPVC and the team using
SBSP are ran against Aria 10 times. Table .1 reports results of these two series
of tests. Records of this table show parameters defined to compare the influence
of each method of positioning on success of the team.
7 Conclusion
Although we have set the parameters of attraction functions experimentally, but
the experimental results show that DPVC behavior is acceptable as a method
of positioning. We hope to improve DPVC by applying a learning method like
Reinforcement Learning. Mathematical analysis of Voronoi Diagram when agents
(sites) are moving can be an open field of study.
We are also working on implementing attractions (e.g. attraction to goals)
indirectly with restricting initial Voronoi Cells of agents moving their vertical
bounds toward opponent goal or teammate goal.
In this paper we used a geometrical model (Voronoi Diagram) for distributing
agents; there are other models that can be used. For example we are surveying
some physical models in which agents can be assumed electrical charges in a 2D
space. In this way attractions can be assigned by defining positive or negative
charges for different objects; in this way potential field on the ground direct
agents (electrons) towards less potential points and cause agents’ movement in
the correct direction.
Page 11
Dynamic Positioning Based on Voronoi Cells (DPVC)229
References
1. de Boer, R., Kok, J.: The Incremental Development of a Synthetic MultiAgent
System: The UvA Trilearn 2001 Robotic Soccer Simulation Team. M.S. Thesis.
Faculty of Science, University of Amsterdam (2002) Section 9.5.3
2. Reis, L.P., Lau, N., Oliveira, E.C., Situation Based Strategic Positioning for Co
ordinating a Team of Homogeneous Agents, Springer’s Lecture Notes in Artificial
Intelligence, Vol.2103, Berlin (2001) 175–197
3. de Berg, M., van Kreveld, M., Overmars, M., Schwarzkopf, O., Computational Ge
ometry, Springer–Verlag, New York (2000) Chapter 7
4. Sutherland, I.E., Hodgman, G.W., Reentrant polygon clipping, Communications of
the ACM, Vol.17 No.1 (1974) 32–42
5. Stone, P., Layered Learning in MultiAgent Systems. PhD Thesis. School of Com
puter Science, Carnegie Mellon University (1998) Chapter 3
View other sources
Hide other sources
 Available from Sepideh Pashami · May 22, 2014
 Available from cs.uwaterloo.ca