* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Pardis, a Fuzzy Extension to Multi agent Simulation Systems
Survey
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
Neural modeling fields wikipedia , lookup
Agent-based model in biology wikipedia , lookup
History of artificial intelligence 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
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.