Download Pardis, a Fuzzy Extension to Multi agent Simulation Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Time series wikipedia , lookup

Perceptual control theory wikipedia , lookup

Philosophy of artificial intelligence wikipedia , lookup

Ethics of artificial intelligence wikipedia , lookup

Existential risk from artificial general intelligence wikipedia , lookup

Artificial intelligence in video games wikipedia , lookup

Enactivism wikipedia , lookup

Neural modeling fields wikipedia , lookup

Agent-based model in biology wikipedia , lookup

History of artificial intelligence wikipedia , lookup

AI winter wikipedia , lookup

Agent-based model wikipedia , lookup

Agent (The Matrix) wikipedia , lookup

Cognitive model wikipedia , lookup

Embodied cognitive science wikipedia , lookup

Type-2 fuzzy sets and systems wikipedia , lookup

Fuzzy concept wikipedia , lookup

Fuzzy logic wikipedia , lookup

Transcript
. +,-) * ) %& '("#$ !"#$ 11th International CSI Computer Conference (CSICC’2006), School of Computer Science, IPM, Jan. 24-26, 2006, Tehran, Iran.
Pardis, a Fuzzy Extension to Multiagent Simulation Systems
Saeed Bagheri Shouraki
Reza Hesamifard
Vahid M. Hashemi
Sharif University
of Technology
Sharif University
of Technology
Sharif University
of Technology
Sharif University
of Technology
Math and Computer
science Department
Math and Computer
science Department
[email protected]
sramezani @mehr.sharif.edu
Computer Engineering
Department
bagheri @ce.sharif.edu
Computer Engineering
Department
[email protected]
ABSTRACT
Fuzzy approach has been shown to be useful in various
applications, particularly in real world problems such as
artificial intelligence and complex systems. With this
background, a plan for enhancing simulation environments using
fuzzy tools has been proposed. For this purpose we have chosen
the RoboCup soccer simulation environment as a pilot case to
implement and test our method. This idea and its implementation
have been honored as best contribution in the RoboCup 2005 3D
Server Development competitions. The central point of our idea
is to design a fuzzy environment where agents can define their
own fuzzy sets for different concepts, thus they can acquire
skills by modifying their fuzzy sets, and manipulating skills
becomes much easier. These enhancements can make a
simulation system such as the RoboCup 3D soccer simulation
server more powerful, flexible, and particularly more natural.
Sara Ramezani
and attractive sport, thus attracting attention of both students and
researchers, and sponsors.
As mentioned above, the goal of RoboCup is centered on the
ability of playing with, and defeating a real human team. Thus,
the ultimate goal is to design agents that resemble humans, both
in appearance, and in intelligence.
RoboCup has been divided into two main branches, the robot
leagues and the simulation leagues, so that concentration on
hardware and software could move on in parallel. The
simulation leagues are especially designed for implementing
ideas related to artificial intelligence, independent of hardware
implementation. Thus, we have chosen the RoboCup soccer
simulation environment as a base for implementing fuzzy tools,
especially regarding that this system simulates a natural
environment.
Keywords
Fuzzy logic, simulation system, RoboCup.
1. INTRODUCTION
Simulation is an effective technique that has been used in
promoting various fields of science. In many applications where
testing new ideas in the real environment may be complicated or
costly, simulation has proven to be very successful.
In this paper we introduce a structure for simulation
environments. Although this method was first tested and applied
in the RoboCup simulation environment, it can also be used to
enhance any other simulation environment. This method has
been applied to the RoboCup 3D Soccer Simulation Server and
chosen as best contribution in the RoboCup 2005 server
development competitions.
RoboCup was introduced in 1994 as a platform for promoting
and concentrating research on artificial intelligence [7]. Soccer
has been chosen as a framework for standardizing and unifying
studies and activities, and comparing and evaluating different
ideas, methods and approaches. Also, a long–term goal has been
determined as a guideline for leading the research community.
This goal is to “By the year 2050, develop a team of fully
autonomous humanoid robots that can win against the human
world soccer champion team”. We will come back to this issue
shortly, but first we shall discuss the significance of choosing
soccer as a basis. There are various aspects in the soccer game
such as real-time motion and inference, interaction with the
environment, communication of agents in a multi-agent system,
planning an intelligent strategy, and competing with an opponent
and trying to understand and predict his strategies and actions.
These aspects cover a large area of the problems that arise in
artificial intelligence and robotics. Soccer is also a very popular
2. Real Soccer Environments
PIn a real soccer game, two teams of players play soccer against
each other; each of the players receives an amount of sensory
data from the environment, and in turn performs some actions
that affect the environment. These are what practically any
person could do, with the difference that a professional soccer
player’s senses are sharper, and actions more skilled than an
ordinary person, at least in those areas that are needed to play
soccer well (e.g. identifying his team-mates in the field, kicking
the ball, etc.).
Another property of soccer is the interaction between teammates. Finally, each team has a general plan or strategy that is
designed by the coach and implemented by the players.
In a real environment, it seems that human agents deal with
qualities, not quantities. For instance, when a soccer player kicks
a ball he may plan to kick it “hard” or “very hard” but he would
not kick it “so that its speed would reach a maximum of 80
Km/h after 3 seconds”, no matter how skilled he may be. As an
example of sensory information, a player may approximate the
speed and direction of the ball and its distance from himself, and
even calculate and adjust his own direction and speed compared
to the nearby opponents, so that he would reach the ball before
the closest opponent, but in the whole process he would not use
even a single number. He would not think that the ball is “30
meters away from him, 73 degrees to the northeast, moving at 50
Km/h”, and then compute exactly what action he should do, but
he might think that the ball is “relatively close to him, coming
with a slight angle from his right side, moving at a moderately
fast speed”, and if the player is skilled enough, he would
perform better than an agent that is capable of exact
computations (at least with current technology). This shows that
this sort of qualitative computation can be very powerful.
The same is true for the interactions between team-mates, and
the design and communication of the team strategy by the coach.
These are also done on a qualitative and imprecise basis, but
serve their purposes very well in a real team.
the characteristic function is the interval [0, 1], so that FA(x)
shows the degree of membership of x in A.
Each fuzzy set represents a linguistic label such as cold, warm,
far, short, large, etc. These labels do not have a precise
interpretation in a natural language; the fuzzy set representing
them reflects this impreciseness or fuzziness by assigning
membership degrees to its members. Some of the basic notions
regarding fuzzy sets are defined below.
Another point worthwhile discussing here is the relation between
the skilfulness of a player and the preciseness of his perceptions
and actions. It is easily observed that a player’s senses become
more sensitive and his actions more precise, as he becomes more
experienced and skilful. It seems that an extremely skilful player
can perceive many different stages for any sensory data (and
actions), for instance the speed of the ball, and this is what
enables them to compute their actions correctly and precisely.
For two fuzzy sets A and B, A is a subset of B if for each in X,
FA(x)≤ FB(x).
Table 1 Agent perceptions in 3D soccer server
The operators normally used for the union and intersection of
fuzzy sets are:
Two fuzzy sets A and B are equal (A=B) if for each x in X,
FA(x)= FB(x).
The complement of a fuzzy set A is Ac defined by FAc(x) = 1FA(x) for each x in X.
Percept
Description
Objects
position
Current position of game objects (ball, players,
filed flags, goal, …)
Agent
battery
Current agent status
The intersection of two fuzzy sets Aand B is a fuzzy set C such
that FC(x) = min(FA(x), FB (x)) for each x in X.
Temperature
Current whether temperature
5. Fuzzy Agents
Time
Game time
3. Current (non Fuzzy) Soccer Simulation
Server
The 3D Soccer Simulation Server was used for the second
consecutive year in the 2005 RoboCup 3D soccer simulation
contest. This server uses ‘Spades’ which is a very powerful base
for implementing natural simulation environments [8]. In this
environment, each agent receives the data specified in table 1 in
each time cycle, and chooses one of the actions in table 2 to
perform. The focus of this paper is on the fuzzy extension
developed on this server, so [9] can be referenced for more
information about the 3D server itself.
The union of two fuzzy sets Aand B is a fuzzy set C such that
FC(x) = max(FA(x), FB (x)) for each x in X.
Any program or artificial entity that interacts with a natural or
artificial environment is called an agent [2]. If this interaction is
performed with the aim of reaching a specific goal, the
intelligence of the agent can be evaluated by comparing the
performance of the agent with the designated goal. A schematic
model of an agent and its environment is shown in Fig 1.
Perceptions
Agent
Environment
Table 2 Agent Actions in 3D soccer server
Actions
parameters
Description
Beam
x, y, z
Place agent in (x,y,z) coordination
Drive
Vx, Vy, Vz
Move agent in such direction
Kick
Degree, power
Kick the ball with such degree and
power.
4. Fuzzy Logic
The notion of fuzzy sets was first introduced by Zadeh in 1965
[1]. In this section, a brief general introduction to the concepts of
fuzzy sets, fuzzy logic and fuzzy rules will be presented. Fuzzy
agent will be introduced in the next section.
Let X be the universal set, a set A in classical set theory can be
defined by a function FA(x) from X onto {0,1} such that FA(x) =
1 if and only if x is a member of A. Such a function is known as
the characteristic function of A. In fuzzy set theory, the range of
Figure 1: A model of an agent. In This model the agent
receives perceptions from the environment and affects the
environment by its actions.
The data an agent receives from its environment is called its
perceptions. An agent performs various actions according to its
perceptions.
If an agent uses fuzzy logic for inference, modelling, or
decision-making it is a fuzzy agent. So, our emphasis is on the
inference and decision-making of an agent. Before discussing
the different models of fuzzy agents, we shall briefly study fuzzy
inference systems.
5.1 Fuzzy Inference Systems
In the previous section it was shown that fuzzy logic can
be used to express the relation among fuzzy events. The
assumptions of any inference system are expressed as
logical propositions, and general conclusions can be
inferred from these propositions. The propositions of a
fuzzy inference system are fuzzy propositions. The
general model of an FIS is:
R1 : if P1 then Q1 .
R2 : if P2 then Q2 .
...
(7)
Rn : if Pn then Qn .
We can conclude that the expertise of a fuzzy system is basically
incorporated into its rule base and inference system, because the
fuzzification and defuzzification stages only make the system
compatible with the environment. In other words, if we had an
environment in which the agents’ perceptions could be naturally
fuzzy, and the agent could execute fuzzy actions, then there
would be no need for the fuzzification and defuzzification
stages, and the agent could be modelled as in Fig 3. It can be
seen that this figure is very similar to the model of an ordinary
agent (Fig. 1).
Pi
Y is B
Fuzzy Rule Base
Our goal is to find the truth value of the statement. There are
various methods for fuzzy inference. A classical method was
defined by Zadeh; But Mamdani introduced a different method
that is widely used in control systems. Let the
Ri s
be the
inference system rules in a Mamdani Fuzzy inference system:
Fuzzy Inputs
Ri : if x is Ai then Y is Bi (i = 1, m).
(8)
Fuzzy Inferences Engine
Fuzzy Outputs
Then the value of Y will be:
wi = FAi ( x).
(9)
m
Y=
∑w B
i =1
m
i
i
∑w
i =1
5.2 Computing with Words
i
Note that Bi is not necessarily a fuzzy set [3]. Most fuzzy
systems have a general structure as shown in Fig 2.
Numeric Inputs
Numeric Outputs
Fuzzy
Rule Base
Fuzzifier
Figure 3: A fuzzy agent in a fuzzy environment. It can be
seen that there is no fuzzifier and defuzzifier in this
structure.
Defuzzifier
Fuzzy Inference
Engine
Figure 2: A model of an Fuzzy agent. In This model the
agent receives perceptions from the environment and affects
the environment by its actions.
Fuzzy agents are usually used in environments that do not have a
fuzzy structure, so two layers are needed, one for converting the
crisp inputs from the environment (e.g. the outputs from a
sensor) into fuzzy data for the system (fuzzy sets), and another
for converting the fuzzy output of the system back to crisp data
for applying in the environment; these stages are called the
fuzzification and defuzzification stages respectfully.
The inference in such a system is an inference with words, and
the knowledge is represented and stored as qualitative data, and
not quantities. In the recent years, Zadeh has introduced a new
concept that is called “Computing with Words” (CW) [4]. The
main idea behind this concept, which he believes is the next step
in the natural evolution of fuzzy systems, is that natural
languages essentially incorporate most of human intelligence.
Humans store and transmit information, and even infer and
compute using natural languages. So, if we could capture the
power of natural languages, we may come closer to simulating
human intelligence. The inputs and outputs of such a system
shall be words, which are imprecise in nature. The inference is
also performed using words. Two contexts where such a system
can be useful, as described in [4, 6] are:
“…first, ‘computing with words’ is a necessity when the
available is too imprecise to justify the use of numbers, and
second when there is a tolerance for imprecision which can be
exploited to achieve tractability, robustness, low solution cost,
and better rapport with reality.”
These cases cover probably most of the significant problems that
humans try to solve, particularly in artificial intelligence.
Thus, CW can be chosen as a computational core for designing a
fuzzy agent. In such an agent, all computation and inference
could be done using words, and each word corresponds with a
fuzzy set. The principles of CW are described in [4]. Still, there
are many obstacles in implementing CW, and the non-existence
of a real fuzzy environment is part of them.
DeFuzzifier
Another issue concerning fuzzy agents is the relation between
preciseness and simplicity; usually less precise systems are
simpler [3]. So by sacrificing preciseness simpler and more
efficient systems may be designed. Intelligent agents usually
deal with two different types of impreciseness, one type is that
an agent may not know whether an event has happened or not,
for instance in flipping a coin, an intelligent agent may not know
which side has come, but eventually one of the two possible
events has happened. This sort of impreciseness can successfully
be modelled using probability theory. Another kind of
impreciseness is caused by the ambiguous nature of natural
concepts and events. This impreciseness is exactly the
impreciseness we tried to capture when defining a fuzzy set (e.g.
“cold”). Modelling this sort of natural ambiguousness is the
main motivation behind the fuzzy approach.
Fuzzifier
Finally, fuzzy agents try to achieve simpler and more efficient
models by acknowledging the natural ambiguousness of real
systems. These systems are usually complex systems that no
precise model is known for them.
Soccer server
Fuzzy Agent
Fuzzy Profiler
6. Description of the Pardis Environment
In the Pardis environment, the current 3D Simulation Server [5]
is used as a core, and we have designed a new layer that can be
added to the current server. This layer enables fuzzy
communication of agents with the server (see fig.3). Each agent
can inform the server of what fuzzy sets it shall use for each of
the designated notions, e.g. the agent can say that by a “gentle
kick”, I mean this specific fuzzy set, etc.
By adding this fuzzy layer, the previous functions of the server
are preserved, and each agent can notify the server at
initialization whether it wants to use the fuzzy layer or not. The
agents using the fuzzy tools should communicate with the server
via a special communication protocol that shall be introduced. In
such an environment, fuzzy agents will only consist of a fuzzy
rule base and inference system (Fig 2).
A restriction is considered for fuzzy sets used in the Pardis
system. This restriction is due to the fact that fuzzy sets and the
fuzzy approach altogether have been inspired by the structure of
human perception and reasoning:
“A human does not use two distinct words for a specific
concept. This means that if ‘x is cold’ is true with degree one,
any other expression about temperature like ‘x is hot’ should not
be true (have degree zero). So the core of each fuzzy set should
not overlap any other fuzzy set.”
This restriction is imposed on the sets in Pardis to reduce
ambiguity in the defuzzification process.
Soccer
Server
Figure 6 Columns on Last Page Should Be Made As Close As
Possible to Equal Length
Non-Fuzzy
Interface
Non-Fuzzy
Agents
6.1 Properties of Fuzzy Membership
Functions in Pardis
Fuzzy
Interface
Fuzzy
Agents
Figure 5 A more detailed view of the Fuzzy Interface.
Near
Medium
Figure 4 Columns on Last Page Should Be Made As Close
As Possible to Equal Length
The internal structure of the fuzzy interface is shown in Fig 5.
The fuzzy profiler component maintains the details of the
fuzzy sets that the agent sends to the server. The fuzzifier and
defuzzifier use this information for interpreting the data between
the server and each agent.
x
6.2 Fuzzifying and Defuzzifying Processes
Fuzzification:
Various approaches can be used for fuzzifying data:
1
Linguistic labels only: This method is shown in fig 5; data
sent to the agent is of the form x=near + medium. In this
method, although the data is absolutely fuzzy, but too little
information is transferred to the agent. Also, agents
interacting in such an environment would tend to use
classical AI and symbolic learning methods.
2
Near
Linguistic labels and membership degrees: Linguistic
labels are used along with membership degrees to show
the degree of association with the concept. For example fig
6 is represented by x=0.2/Near + 0.7/ Medium. This
method does not have the defects of the first method,
because the transferred information is fuzzy; however it
has another problem. The agents set their membership
functions themselves, so by using the inverse of these
functions, an agent can compute the exact value of x if it
has the membership degree. Albeit, the inverse function
may yield to multiple values of x for a membership degree
(e.g. two values for a triangle shaped membership
function), but the exact value can be computed by
examining the overlapping sections of the functions (see
fig 7).
A
B
X = (Ax1 or Ax2)
X = (Bx1 or Bx2)
X = Ax2 =Bx1
1
Slightly
= [0, 0.2]
Somewhat = (0.2, 0.4]
Relatively = (0.4, 0.8]
Very
0.8
= (0.8, 1]
0.4
0.2
x
Figure 8 Third method for fuzzifying information, which is
used in the Pardis environment. x= somewhat near is shown
in the figure.
recover the exact original values. This method is also
conceptually consistent with knowledge granularity. The
information that agents receive is a linguistic description of the
occurred events, and this was our objective in developing the
simulation environment. Also, the information that the agents
receive in this system is completely fuzzy, this makes Pardis a
novel environment for fuzzy research.
Defuzzification:
Ax1
Ax2
Bx1
Bx2
Figure 7 Example of finding the correct value of a variable.
3
Second order fuzzy systems: In this method, linguistic
labels are used to show the membership degrees to fuzzy
sets. Each agent defines a set of hedges along with each
membership function. The environment uses these hedges
for fuzzifying the information; this procedure is illustrated
in the following example. In fig 8 you can find x =
somewhat Near.
Defuzzification methods corresponding to the three methods
mentioned in the fuzzification section can be considered. The
defuzzification method used in the Pardis environment is
designed similar to the fuzzification method for consistency and
also simplifying the design of agents. Before describing the
system we first observe an example:
When an agent says ‘x= very moderate’ it means that x is in
interval 3 (see fig 9), but when it says ‘x= slightly moderate’ it
could mean interval 1 or 5. Each of these two intervals may be
implied conceptually or in a natural language. But if the agent
uses two sets it will help clarify what it means, for instance ‘x =
slightly moderate AND slightly hard’ definitely means interval
5, or ‘x = slightly moderate AND slightly light’ explicitly means
interval 1. Therefore agents using the Pardis system are advised
to use two expressions for expressing each concept.
Defuzzifying in the Pardis environment is performed using the
following procedure:
DeFuzzifier(x)
x = h1 w1 and h2 w2
w1, w2: linguistic labels (e.g. light, hard, close, far …)
…)
h1, h2: linguistic hedges (e.g. slightly, very, somewhat
Ij: interval obtained by hj
Ij = {a|Fwj(a) is in hj interval}
The subintervals of Ij are denoted by Iji,1 ≤ i ≤2.
Light
Moderate
Hard
A
1
2
3
4
B
5
Figure 9 An example of defuzzifying in the Pardis
environment. Depending on the hedge used, different
intervals will be selected.
Each fuzzy set is partitioned into at most two subintervals,
considering the restrictions imposed on the sets. Iji’s are
numbered from left to right. For defuzzifying, first the
designated interval is calculated, and then a random value in this
interval is chosen as the result of defuzzification of x.
A
B
if I 1k ∩ I 2 j ≠ φ (∀ k , J )
Interval = I 1k ∩ I 2 j
else
Interval = I 12 ∪ I 21
It is again emphasized that w1 is on the left of w2. The possible
cases are shown in figure 10.
7. Problem Solving in Pardis
Two examples are presented to show the effectiveness of the
Pardis system. First the concentration mechanism in this system
is described and it is shown that Pardis can be used for testing
and implementing different concentration methods. Next,
positioning is discussed, focusing on the positioning of fuzzy
agents.
Concentration
Making:
Mechanism
and
Hierarchical
Decision
An intelligent agent may define the membership functions in
fig11 for different distances.
Sometimes an agent may need more precise visual information
for decision making, so it may change the membership functions
corresponding to a specific region so that the objects in that
region are described more precisely.
Figure 10 Different kinds of intervals that may be caused in
the defuzzification process in Pardis environment.
8. conclusions
In this paper we have tried to show the improvements and
benefits that a fuzzy approach can have in a simulation
environment, we have particularly concentrated on the RoboCup
simulation to demonstrate this point. The main contributions of
such an approach are summarized below:
Positioning of Fuzzy Agents
•
Positioning is one of the most important analytical problems in
simulation environments. The basic problem is for the agent to
understand its position in the field, by observing the flags. This
problem can be easily solved using a fuzzy reasoning system.
This would be clear from the following example (see fig 12).
This approach assists the use of qualitative data in
communication and reasoning, which seems to be
much closer to the natural human approach.
•
Human experts can transfer their knowledge more
easily to agents, because fuzzy systems have closer
resemblance to the human mind, and high level ideas
can be more easily implemented in a fuzzy
environment. Also, the outputs of such a system use
linguistic labels and hedges that allow human users to
understand and manipulate them more easily.
•
The fuzzy system can be enhanced using linguistic
hedges, which aid the communications of skilful
agents.
Near
1
Medium
10
Medium
15
FL1
FR1
FL2
FR2
Far
20
30
Far_Medium
25
Far
if
( FL1 is LEFT ) and ( FL1 is FRONT ) and
then
( FR1 is RIGHT ) and ( FR 2 is BACK )
" Position" is " Penalty Zone".
Figure 12 Defining the Penalty Zone in a soccer field with
fuzzy rules.
9. References
[1]
L.A. Zadeh, “fuzzy sets”, Information and control, 8(3),
1965, pp 338-353.
[2] Stuart J. Russell and Peter Norvig, “Artificial Intelligence,
A modern Approach”, Prentice Hall, 1995.
10
20
22
22.5
25
30
Figure 11 An example of defining new membership
functions that lead to hierarchical problem solving.
[3] GJ Klir and Bo Yuan, “Fuzzy Sets and Fuzzy Logic:
Theory and Applications”, Prentice Hall, Upper Saddle
River, NJ, 1995.
[4] L. Zadeh, “Fuzzy logic = computing with words”, IEEE
Trans. on Fuzzy Systems 4, 1996103-111.
[5] Lotfi A. Zadeh, “Toward a theory of fuzzy information
granulation and its centrality in human reasoning and fuzzy
logic”, Fuzzy Sets and Systems Vol 90, 1997, Issue 2.
[6] Zadeh, Lotfi A. “Granular computing as a basis for a
computational theory of perceptions”, IEEE International
Conference on Plasma Science. v 1, 2002, p 564-565.
[7] Itsuki Noda, Hitoshi Matsubara, Kazuo Hiraki, Ian Frank,
“Soccer Server: A Tool for Research on Multiagent
Systems”, Applied Artificial Intelligence, 12, 2--3, 1998,
pp233-250.
[8] Riley, P., Riley, G.: “SPADES A Distributed Agent
Simulation Environment with
[9] Marco K¨ogler and Oliver Obst. “Simulation league: The
next generation”. In Daniel Polani,Andrea Bonarini, Brett
Browning, and Kazuo Yoshida, editors, Proceedings of the
RoboCup Symposium 2003, July 2003.