Utilizing multi-agent technology and swarm intelligence for automatic frequency planning
Full text
(2) Dedicated to my loving wife Linda and my beautiful daughter Lauche..
(3) Acknowledgements My sincere gratitude to: My supervisor, Professor E.M. Ehlers, for her guidance and support throughout the course of this project. The valuable discussions and comments are greatly appreciated. To my loving wife, Linda, I would like to say thank you for your support, motivation, understanding and endless love during this project. To my late mother, thank you for the love, guidance and steadfast devotion you gave to me in everything I did. To my father and brother, thank you for your support and motivation. To my father-in-law and mother-in-law, thank you for your support and understanding. To my friend Stephen Syrett, thank you for our long discussions and your continuous inspiration and support. To MTN SA for allowing the testing of the swarm AFP on their network.. I thank thee, Almighty Father, for standing by me and giving me the ability to accomplish this task..
(4) Keywords Swarm intelligence, stigmergy, complex adaptive systems, emergence, multi-agent systems, swarm effect minimization algorithm (SEMA), automatic frequency planner (AFP), swarm AFP, frequency assignment problem (FAP), N-P complete problems, cellular telecommunications networks, telecommunication.
(5) Abstract A modern day N-P complete problem is the assigning of frequencies to transmitters in a cellular network in such a manner that, ideally, no two transmitters in the same cell or neighbouring cells use the same frequency. Considering that an average cellular network provider has over 29 000 transmitters and only 55 frequencies, choosing these frequencies in an optimal way is a very difficult computational problem. Swarm intelligence allows the acceptable minimization and optimization of the frequency assignment problem (FAP).. Swarm intelligence is a concept modelling the processes in natural systems such as ant colonies, beehives, human immune systems and the human brain. These systems are selforganizational and display high efficiency in the execution of their tasks. A number of simple automated agents interacting with each other and the environment form a collective. Specifically, there is no "central agent" directing the others. A collective can display surprising intelligence which emerges out of the interaction of the individual agents. This collective intelligence, referred to as swarm intelligence, is displayed in ant colonies when ants build elaborate nests, regulate nest temperature and efficiently search for food in very complex environments.. In this thesis a proposal is made to utilize swarm intelligence to build a swarm automatic frequency planner (swarm AFP). The swarm AFP produces frequency plans that are better, or on par with existing frequency planning tools, and in a fraction of the time. A swarm AFP is presented through an in-depth investigation into complex adaptive systems, agent architectures and emergence. Based on an understanding of these concepts, a swarm intelligence model called ACEUS is constructed. ACEUS forms the platform of the swarm AFP. It is a contribution to multi-agent technology as it is a new multi-agent framework that exhibits swarm intelligence and complex distributed computation. What differentiates ACEUS from other multi-agent technologies is that ACEUS works on the basis that the tasks or constructions that have been created by the.
(6) agents actually guide the agents in their endeavours. There is no centralised agent controlling or guiding the process. The agents in ACEUS receive information and stimulation from their tasks or constructions in the environment. As these constructions or tasks alter the environment, the agents receive stimulus from the changing environment and then react to the changing environment. The changing environment acts as an emergent guiding force to the agents. This is the important contribution that stigmergy contributes to ACEUS. Utilizing this concept, ACEUS is used to create a swarm AFP. The swarm AFP is benchmarked against the COST 259 Siemens benchmarks. In all the COST 259 Siemens scenarios the swarm AFP produced the best results in the shortest time. The swarm AFP was also tested in a real cellular network and the resulting statistics before and after the swarm AFP implementation are presented..
(7) Contents Chapter 1 Introduction Problem definition 1.1. Proposed solution 1.2. Architecture 1.3. Layout 1.4. Conclusion 1.5.. 13 13 13 13 14 16 18. Chapter 2 Complex adaptive systems Introduction 2.1. 2.2. Definition of a complex adaptive system Distribution 2.2.1. Connectivity 2.2.2. Co-evolution 2.2.3. Sensitivity 2.2.4. Emergent behaviour 2.2.5. Adaptability 2.2.6. General characteristics of a complex adaptive system 2.3. Aggregation 2.3.1. Tagging 2.3.2. Non-linearity 2.3.3. Flows 2.3.4. Diversity 2.3.5. Internal models 2.3.6. Building blocks 2.3.7. Conclusion 2.4.. 19 19 19 20 20 21 21 21 21 22 23 24 24 24 25 26 26 27 28. Chapter 3 Agent architecture Introduction 3.1. 3.2. Agent-oriented programming Agents 3.3. Characteristics of agents 3.4. Multi-agent systems 3.5. Multi-agent environment 3.6. Multi-agent system engineering 3.7. No functional decomposition 3.7.1. Keep agents small 3.7.2. Decentralization between agents 3.7.3. Diversity among agents 3.7.4. Risk and redundancy 3.7.5.. 29 29 29 29 31 33 35 35 36 37 37 38 39 40. 1.
(8) 41 41 42. Sharing information 3.7.6. Dynamic response 3.7.7. 3.8. Conclusion Chapter 4 Emergence 4.1. Introduction 4.2. What is emergence? Complexity 4.2.1. Intrinsic and extrinsic emergence 4.2.2. Emergence and reductionism 4.2.3. 4.3. Characteristics of emergence 4.4. System-environment 4.5. Basic concepts of emergence Purely mathematical concepts 4.5.1. System concepts 4.5.2. General concepts 4.5.3. 4.6. Emergence as a persistent pattern Emergence in generated systems 4.6.1. The whole is greater than the sum of its parts 4.6.2. Persistent patterns with changing components 4.6.3. Embedded persistent patterns 4.6.4. Increasing persistent patterns 4.6.5. Differential persistent patterns 4.6.6. Enhanced persistent patterns 4.6.7. 4.7. Conclusion. 43 43 43 45 46 46 47 47 48 50 51 51 52 53 53 54 54 54 55 55 56 57. Chapter 5 Stigmergy and swarm intelligence 5.1. Introduction 5.2. Swarm intelligence 5.3. Stigmergy 5.4. Stigmergy in natural systems Complex architecture constructions 5.4.1. Stigmergy approach - a catalyst 5.4.2 5.5. Conclusion. 59 59 59 60 63 67 70. Chapter 6 GSM network frequency planning 6.1. Introduction 6.2. GSM structure 6.3. Network elements Mobile stations (MSs) 6.3.1. Base station subsystem (BSS) 6.3.2. Network and switching subsystem (NSS) 6.3.3. Operations and maintenance subsystem (OSS) 6.3.4.. 75 75 75 75 76 77 79 80 81. 2. 73.
(9) Channels 6.4. Physical channels 6.4.1. Logical channels 6.4.2. Broadcast control channel (BCCH) 6.4.2.1. Traffic channel (TCH) 6.4.2.2. Dedicated control channel (DCCH) 6.4.2.3. Frame structure 6.5. 6.6. Mobile measurement recording 6.7. Frequency planning Network quality indicators 6.8. Dropped call ratio 6.8.1. RXQUAL statistics 6.8.2. RXLEV statistics 6.8.3. Interference 6.9. Separation and blocked channels 6.10. Interference matrix 6.11. Mapping from CIR to FEP 6.12. Radio link simulations 6.12.1 6.12.1 Why convert CIR to FEP? Processing the MMRs 6.13. Collecting MMRs in a network 6.14. Conclusion 6.15. Chapter 7 The frequency assignment problem Introduction 7.1. 7.2. N-P complete problems Interference graph 7.3. Minimizing interference 7.4. 7.5. Computational complexity of FAP Decision problems 7.5.1. Optimization and minimization problems 7.5.2. NPO problems 7.5.2.1. Minimization problems 7.5.2.2. Approximate algorithms and approximation classes 7.5.3. Classical problems related to FAP 7.5.4. Complexity of FAP 7.5.5. Conclusion 7.6. Chapter 8 The Artificial Collective Engine Utilizing Stigmergy (ACEUS) Introduction 8.1. Background 8.2. 8.3. ACEUS framework Layers 8.4. Organic agent layer 8.4.1. Stigmergy layer 8.4.2.. 3. 81 81 82 82 83 84 85 87 88 89 89 90 90 91 91 92 94 95 96 100 101 103 103 103 103 104 105 107 107 108 109 109 111 112 113 114 115 115 115 117 118 120 121 124.
(10) In silica agent layer 8.4.3. Rules base layer 8.4.4. Ontology layer 8.4.5. 8.5. Complex adaptive systems properties and mechanisms of ACEUS Aggregation (property) 8.5.1. Tagging (mechanism) 8.5.2. Non-linearity (property) 8.5.3. Flows (property) 8.5.4. Diversity (property) 8.5.5. Internal models (mechanism) 8.5.6. Building blocks (mechanism) 8.5.7. 8.6. Implementation of ACEUS ACEUS agent model 8.6.1. Generic implementation of ACEUS 8.6.2. 8.7. Conclusion Chapter 9 Swarm Automatic Frequency Planner Application. 9.1. Introduction 9.2. Database design 9.3. Class structure design 9.4. The swarm effect minimization algorithm 9.5. The swarm AFP 9.6. Cost 259 benchmark 9.7. Conclusion Chapter 10 Swarm Automatic Frequency Assignment Implementation Results. Introduction 10.1. Execution stages in the swarm AFP 10.2. Implementation of the swarm AFP 10.3. Test case 1: Pretoria 10.3.1 10.3.2 Test case 2: Sandton-Randburg 10.4. Running the frequency plan into the cellular network Test case 3: Pietersburg BSC 10.4.1 10.4.2 Test case 4: Pretoria North BSC 10.5. Conclusion. 126 127 128 129 129 130 130 130 131 131 132 132 133 135 137 140 140. 140 140 143 147 152 155 156 159 159. 159 159 165 165 171 177 177 186 195 196 196. Chapter 11 Conclusions 11.1. Introduction. 196 196 201 203. 11.2. Contribution 11.3. Future 11.4. Summary. 206. References. 4.
(11) List of figures. .6. List of tables. 9. List of equations. 9 10. List of abbreviations. 5.
(12) List of figures Figure 4.1. Example of a system-environment coupling. 49. Figure 5.1. Ants find the shortest path by means of pheromone signalling. 64. Figure 5.2. Termites building a nest utilizing stigmergy. 67. Figure 5.3. Complex architecture construction by a swarm of wasps.. 69. Figure 5.4. Depicted experiment of stigmergy in action. 71. Figure 6.1. GSM subsystems. 77. Figure 6.2. GSM architecture.. 78. Figure 6.3. Time division multiple access in GSM. 82. Figure 6.4. GSM channel organization. 83. Figure 6.5. GSM frame structure. 84. Figure 6.6. Speech data bits. 86. Figure 6.7. Function mapping of CIR to FEP. 94. Figure 6.8. MMR collection and processing. 101. Figure 8.1. ACEUS framework layers. 120. Figure 8.2. ACEUS framework depicted with its various layers, componentsand interconnections 122. Figure 8.3. Agents depositing pheromones and objects into the assertion pool of the rules engine 124. Figure 8.4. ACEUS agent model. 134. Figure 8.5. Generic implementation of ACEUS. 136. Figure 9.1. Swarm AFP database table structure. 142. Figure 9.2(a). Swarm AFP class structure. 142. Figure 9.2(b). Swarm AFP class properties and methods. 142. Figure 9.3. Swarm effect minimization algorithm. 142. Figure 9.4. Supporting functions for the swarm effect algorithm. 142. Figure 9.5. Swarm AFP pseudo code description. 142. Figure 10.1. FOTON frequency planning wizard. 161. Figure 10.2. Importing the site list into FOTON. 161. 6.
(13) Figure 10.3. Network data generated by FOTON from the site list. 162. Figure 10.4. EMG in Pretoria area before frequency plan. 162. Figure 10.5(a) Swarm AFP start up (b) Swarm AFP execution (c) Swarm AFP end. 164. Figure 10.6. BCCH quality improvement to EMG in the Pretoria area. 165. Figure 10.7. TCH quality improvement to EMG in the Pretoria area.. 166. Figure 10.8. Cell list of EMG in Pretoria. 167. Figure 10.9. Height data of EMG in Pretoria. 168. Figure 10.10(a) EMG in Pretoria area before frequency plan (b) EMG in Pretoria area after commercial AFP tool's frequency plan 169 Figure 10.10(c) EMG in Pretoria area after ACEUS frequency plan (d) Improvement in frequency plan in (c) by ACEUS Swarm frequency assignment techniques 170 Figure 10.11 BCCH quality improvement in Randburg and Sandton region. 172. Figure 10.12 TCH quality improvement in Randburg and Sandton region. 173. Figure 10.13 Cell list of Sandton-Randburg area. 174. Figure 10.14 Height data of Sandton-Randburg area. 174. Figure 10.15(a) Sandton-Randburg area before frequency plan (b) Sandton-Randburg area after commercial AFP tool's frequency plan. 175. Figure 10.15(0 Sandton-Randburg area after ACEUS swarm frequency plan (d) Improvement in frequency plan in figure 9.6b by ACEUS Swarm frequency assignment techniques 176 Figure 10.16 Cell list of Pietersburg area. 178. Figure 10.17 Height data of Pietersburg area. 178. Figure 10.18(a) Pietersburg area before swarm AFP (b) Pietersburg area after Swarm AFP. 179. Figure 10.19 BCCH and TCH NQI improvement in Pietersburg region. 181. Figure 10.20 °/0DROP and %CFAIL for Pietersburg BSC before and after swarm AFP run. 182. Figure 10.21. Interference bands 1 to 5, each ending at a limit. 183. Figure 10.22. Idle channel measurements or Pietersburg BSC. 184. Figure 10.23 %DISBSS and %DISBQA in Pietersburg BSC. 185. Figure 10.24. 186. Intracell handovers for Pietersburg BSC. Figure 10.25 Cell list of Pretoria North area. 188. Figure 10.26 Height data for Pretoria North area. 188. 7.
(14) Figure 10.27(a) Pretoria North area before swarm AFP (b) Pretoria North area after swarm AFP. 189. Figure 10.28. BCCH and TCH NQI improvement in Pretoria North region. 190. Figure 10.29. %DROP and %CFAIL for Pretoria North BSC before and after swarm AFP run. 191. Figure 10.30. Idle channel measurements for Pretoria North BSC. 192. Figure 10.31. %DISBSS and %DISBQA in Pretoria North BSC. 192. Figure 10.32. Intracell handovers for Pretoria North BSC. 193. Figure 10.33. Global network improvements after six swarm AFPs were implemented.. 194. 8.
(15) List of tables Table 6.1 GSM radio frequency bands. 76. Table 6.2 Number of samples from each BCCH frequency as a function of BA list length. 87. Table 6.3 CIR example measurement report.. 93. Table 6.4 Descriptive speech quality as a function of FER.. 96. Table 6.5 Definition table of all MMR variables. 98. Table 9.1 Results for Siemens COST 259 problems. 154. List of equations Equation 6.1. FEP. Equation 6.2a. FEPeccH. Equation 6.2b. FEPTCH. .95. Equation 6.3. PCadj. 97. Equation 6.4. C. 98. Equation 6.5. CIR,,. 98. Equation 6.6a. FEPBccpfro(Ij). Equation 6.6b. FEPTcHwo. 99. Equation 6.7a. FEP BCCHadj(u). 99. Equation 6.7b. FEP TCHatlyz j). .99. Equation 6.8. 95 ..95. ..99. .. 100. FERcelb,. Equation 6.9. IM( cellr,ce(lt.k). Equation 9.1. Cost mi,. .148. Equation 9.2. FEP. .148. Equation 9.3. FER. 148. Equation 9.4. CIR;. 148. 100. 9.
(16) List of abbreviations ACEUS. Artificial Collective Engine Utilizing Stigmergy. AFP. automatic frequency planner. AOP. agent-oriented programming. API. application programming interface. AuC. authentication centre. BA. BCCH allocation. BCCH. broadcasting control channel. BCCHNO. broadcasting control channel number. BCH. broadcast channel. BER. bit error rate. BSC. base station controller. BSCG. base station controller group. BSIC. base station identity code. BSS. base station system. BTS. base transceiver station. CAS. complex adaptive system. CCCH. common control channel. CIR. carrier to interference ratio. C/I. carrier to interference ratio. CSV. comma separated values. CTR. cell traffic recording. DCCH. dedicated control channel. DCN. digital communications network. DISBQA. disconnection due to bad quality association. DISBSS. disconnection due to bad signal strength. DISNORM. total abnormal disconnection. EDGE. enhanced data rates for GSM evolution. EIR. equipment identity register. EMG. engineering management group. 10.
(17) FACCH. fast associated control channel. FAP. frequency assignment problem. FCCH. frequency control channel. FEP. frame erasure probability. FER. frame erasure rate. FOTON. frequency optimization toolkit for optimizing networks. GMSC. gateway MSC. GPRS. general packet radio service. GSM. global system for mobile communications. GUI. graphical user interface. HLR. home location register. HOINUQA. intracell handover uplink quality association. HOIND QA. intracell handover downlink quality association. HSC SD. high-speed circuit switching data. HTTP. hyper text transfer protocol. IC M. idle channel measurement. ILR. interworking location register. IM. interference matrix. IMSI. international mobile subscriber identity. JAR. Java archive. JDBC. Java database connection. JESS. Java expert system shell. MAS. multi-agent system. MI-FAP. minimum interference frequency assignment problem. MML. man-machine language. MMR. mobile measurement recording. MS. mobile station. MSC. mobile switching centre. NPO. N-P optimization. NQI. network quality index. NSS. network switching subsystem. 11.
(18) OOP. object-oriented programming. OSS. operations and support system. OWL. ontology web language. PIN. personal identity number. RMI. remote method invocation. RXLEV. received power level. RXQUAL received power quality SACCH. slow associated control channel. SDCCH. stand-alone dedicated control channel. SEMA. swarm effect minimization algorithm. SIM. subscriber identification module. SMS. short message service. SS. switching system. TCH. traffic channel. TCH/F. traffic channel/full rate. TCH/H. traffic channel/half rate. TDMA. time division multiple access. TMOS. telecommunications management operating system. TN. time slot number. TRX. transceiver-receiver (radio transmitter and receiver). TN. time slot number. URL. universal resource location. USA. universal switching access. VLR. visitors locations register. WAP. wireless application protocol. XML. extensible markup language. %DROP. percentage of abnormal disconnections (dropped calls). %CFAIL. percentage of channel failures. 12.
(19) Chapter 1 Introduction 1.1. Problem definition One of the existing unsolved problems of the millennium is the non-deterministic polynomial time problem, better known as the N-P complete problem [Devlin 2002]. Studying N-P complete problems provides a large amount of commercial viability as these problems occur readily in commercial environments. An example of such an occurrence is the frequency assignment problem (FAP) in cellular telecommunication networks. The FAP is very similar to the graph colouring problem. The FAP being an NP complete problem means in practice that the optimal assignment of frequencies is virtually impossible to determine in polynomial time as the network grows in size. At present the traditional means of trying to solve this problem are completely inadequate. In cellular networks radio frequencies have to be assigned to each transmitter in such a way that, ideally, no two transmitters in the same cell or neighbouring cells use the same frequency. Considering that an average cellular network provider has over 29 000 transmitters and only 55 frequencies, choosing these frequencies in an optimal way is a very difficult computational problem. A good frequency plan is critical for excellent network quality and increased capacity. Competence in frequency planning leads directly to significant savings in network hardware. A commercial mobile telecommunications network in South Africa has probably saved over R100 million due to its superior frequency planning techniques [Goodhead et al. 2005].. 1.2. Proposed solution In this study an attempt is made to create a system that delivers an acceptable optimized solution set to the commercial N-P complete problem of frequency assignments. To be able to deliver such a system, the focus is on distributed computation, self-organization. 13.
(20) and adaptiveness. Systems that exhibit distributed computation, self-organization and adaptiveness usually have a bottom-up architecture and not the traditional top-down architecture. Bottom-up architectures are based on systems that have multiple components interacting with each other and with the system itself, i.e. multi-agent systems. These interactions give rise to a certain state of the system which is then reiterated back into the cycle of interactions. This cycle of interaction continues until such time that an acceptable state of the system is achieved.. 1.3. Architecture The first step in designing such a system is to utilize a model. Using a model is a key tool for understanding the complex phenomena existing in the world. Models help human beings simplify the complexity of the world they encounter around them. They facilitate prediction, thus helping humans with experimentation and validation [Dooley and Corman 2002]. Historically models have been a top-down implementation. The key state variables would be defined in the system and equations would be formulated that related the state variables to one another and how they vary over time [Dooley and Corman 2002]. However, in complex systems the ability to define state variables and their relationships with other state variables beforehand is very limited. Complex systems are better modelled using a bottom-up implementation [Dooley and Corman 2002]. In a bottom-up implementation the most basic building blocks of the system are identified first. These basic building blocks will from now on be referred to as the agents in the system. The second step is to specify how the agents interact with one another and the external environment. In this manner the aggregated behaviour of the system is not pre-specified, but emerges from the system [Dooley and Corman 2002]. This type of modelling approach goes hand in hand with self-organization of the system. This can be clearly observed in many natural systems. Natural systems are the point from which the model in this system is derived. The specific system that is used as a modelling analogy throughout this study is the ant colony.. 14.
(21) As the complexity in computer systems grows, systems developed by means of traditional classical methods, i.e. top-down approaches, suffer from unstable and unpredictable behaviour. In the traditional classical methods of building systems, the designers carefully predict the operating environment and failure modes of the system as they attempt to design the basic operational mechanisms of the system. However, as the system grows in complexity the design suffers from the butterfly effect, in which small perturbations can result in large changes in behaviour [Gribble 2001]. The world is growing more dependent on complex computing systems (such as scalable web sites, or even the Internet itself). It has become increasingly evident that these systems can exhibit unpredictable behaviour when faced with unexpected perturbations to their operating environment. These perturbations may be small and innocuous, but due to latent flaws in the traditional classic design of the system, the effects of small perturbations may be large and destructive, possibly rendering the system inoperative [Gribble 2001]. Swarm intelligence is a concept modelling the processes in natural systems such as ant colonies, beehives, human immune systems and the human brain. These systems are selforganizational, and display high efficiency in the execution of their tasks. A number of simple automated agents interacting with each other and the environment form a collective. Specifically, there is no "central agent" directing the others. A collective can display surprising intelligence which emerges out of the interaction of the individual agents. This collective intelligence, referred to as swarm intelligence, is displayed in ant colonies when ants build elaborate nests, regulate nest temperature and efficiently search for food in very complex environments. Swarm intelligence is captured in the ACEUS (Artificial Collective Engine Utilizing Stigmergy) model in this study. The swarm effect is also applied in the proposed algorithms for optimizing the N-P complete FAP problem. The ACEUS model, utilizing swarm intelligence, and the proposal of a new algorithm utilizing the swarm effect to optimize the FAP is the contribution this thesis makes to computer science.. 15.
(22) 1.4. Layout In chapter 2, the journey to developing a swarm intelligence model begins. Here an indepth discussion on complex adaptive systems is presented. This includes a definition of complex adaptive systems and their general characteristics.. Chapter 3 gives an overview of agent architecture and agent-oriented programming as these concepts form an intricate part of the swarm intelligence model. The definitions of agents and characteristics presented by agents are also discussed. Concepts such as multiple agent systems and their environment are investigated and a discussion on how to engineer multiple agent systems is offered.. Emergence in a complex adaptive system is the topic of chapter 4. A definition and the characteristics of emergence are presented as well as the basic concepts of emergence. Emergence is a major debatable concept and incorporates fields such as evolution and collective behaviour. Due to the presence of a collective in the model that is presented in this study, emergence is a key characteristic that needs to be studied and well understood if any type of adaptiveness and self-organization is to eventually be considered in a swarm intelligence model.. Chapter 5 discusses stigmergy, one of the most important characteristics of the system presented in this study. Stigmergy is borrowed from the ant colony metaphor that is used as an analogy for the swarm intelligence model in this study. In this chapter a serious debate on swarm intelligence is offered. Stigmergy in natural systems such as ant colonies and termites is discussed. The application of stigmergy when building constructions or implementing a task at hand and the idea of the task at hand directing the actual progress instead of the actual agents guiding the progress is presented.. Chapter 6 gives a broad description of the frequency planning problem domain, namely global system for mobile communications (GSM) frequency planning. In this chapter a complete description of the components in a cellular network is given as well as how those components impact on the FAP. The manipulation data from the network into the 16.
(23) format necessary for frequency planning is presented in chapter 6. Chapter 6 is a slight detour from the basic theme of the thesis, but is essential for the understanding of the domain in which the swarm automatic frequency planner (swarm AFP) will be implemented. It is also essential to grasp an understanding of the dynamic of the FAP. Chapter 7 is solely dedicated to the theoretical background of the FAP. A discussion of N-P complete problems is presented. The technique and equations for minimizing interference in frequency planning are discussed. An in-depth study of the complexity of the FAP is offered. This entails mathematical definitions and propositions on the equations forming the basis for FAP. In chapter 8 the swarm intelligence model, called ACEUS, is presented. The framework of the model and layers built into the model are discussed in detail. The complex adaptive systems, properties and mechanisms of the ACEUS model are also presented in chapter 8. A generic implementation of the ACEUS model is offered as well as the complete application of the ACEUS model to a swarm AFP software package. Chapter 9 gives a formal description of the swarm effect minimization algorithm (SEMA) as well as the implementation of SEMA into the swarm AFP. In chapter 9 the swarm AFP was benchmarked against the COST 259 Siemens set of scenarios. The results of the benchmark are presented. The utilization of ACEUS in the swarm AFP is also discussed in chapter 9. The pseudo code for the SEMA and swarm AFP is presented as well. Chapter 10 is the actual crux of this study as this is the chapter where the swarm AFP is actually implemented in different test case scenarios. Four test case scenarios are presented; the first two are basically proof of concept on simulated data, whereas the second two are actually implemented into a live network and real network statistics are analyzed to see the impact the swarm AFP had on the network. Chapter 10 also offers the methodology used in implementing the swarm AFP in the different test cases. The statistical results presented in chapter 10 were taken directly from the live network and. 17.
(24) provide a true benchmark of the capabilities and viability of the swarm AFP and the swarm intelligence model. The conclusion to the thesis is given in chapter 11. The contribution to computer science and multi-agent technology is discussed. Future prospects of the work presented in this thesis are also discussed in chapter 11. Finally an overall summary is given as a closing section to this thesis.. 1.5. Conclusion The swarm intelligence model and swarm AFP application allow the optimization of the FAP and produce frequency plans that are better, or on par with existing frequency planning tools, and in a fraction of the time. The swarm AFP is based on a multi-agent system that is goal-driven. It allows agents to interact with each other and the environment. The swarm AFP agents represent the cells in a cellular network and the environment is the cellular network which is simulated from quality measurements from actual customers' calls. The environment forms a collective memory map, with which the agents interact and continuously change until an optimal situation is found. The optimal situation in the swarm AFP is defined as being when the interference in the simulated network is at a global minimum. The swarm AFP has already been tested in frequency plans for two geographic regions of MTN's network. In both cases there was an improvement in network quality as indicated by a decrease in the percentage of dropped and failed calls. There was also a remarkable improvement in the idle channel measurements and the intracell handover on the uplink, while the number of disconnections due to bad quality and low signal strength decreased. Frequency planning using the swarm intelligence algorithm promises to be a very viable frequency planning technique. It also promises to offer application to a variety of other complex optimization problems in the cellular industry and beyond.. 18.
(25) Chapter 2. Complex adaptive systems 2.1. Introduction The word 'complex' is derived from the Latin word complexus meaning braided or entwined together. Thus when speaking about something complex, it is associated with the intricate intertwining or interconnectivity of elements within a system and between a system and its environment [Rocha 1999]. Many natural systems such as an embryo, social insects, immune systems and the brain, as well as many artificial systems such as parallel and distributed computing, evolutionary programs and artificial systems have been characterized by complex behaviours. Complex behaviours emerge in these systems due to interactions among the agents and interaction between the agents and the system [Chan 2001, Potgieter and Bishop 2002]. These systems have recently been referred to as complex adaptive systems (CASs) [Chan 2001, Potgieter and Bishop 2002]. A multi-agent system in which agents communicate with each other is regarded as a complex system and not a complex adaptive system. A CAS is characterized by complex behaviours emerging due to the interactions among the agents and interaction between the agents and the system. CASs are dynamic systems capable of adapting in and with a changing environment. A CAS interacts with its environment by learning from and modifying its behaviour in order to adapt to changes in its environment [Chan 2001, Potgieter and Bishop 2002].. 19.
(26) The study of CASs was established by the confluence of several different disciplines, namely artificial intelligence, evolutionary biology, non-linear dynamics and living systems, amongst others. The development in computer technology has stimulated the understanding of CASs as computers can be used as research instruments for specifying models of how CASs work [Dooley and Corman 2002].. 2.2. Definition of a complex adaptive system To be able to define a CAS, some of the core topics that describe a CAS need to be understood. There is a vast amount of complexity, which could arise in a generic model of a collective CAS. However, a new kind of approach to developing CASs will open the gates to a number of new self-regulating systems. To accomplish the quest to build a generic CAS, a comprehensive understanding of CASs is needed. Not only a theoretical understanding of CASs is needed, but also observations of natural systems implementing CASs such as ant colonies [Dorigo et al. 2000, Dorigo and Di Caro 1999], embryos [Johnson 2002], the human brain [Richardson 2002], weather systems and the economy [Kochugovindan and Vriend 1998]. To establish a broader definition of a CAS a short description needs to be given of the different topics that define a CAS.. 2.2.1. Distribution Distributed control is a core topic defining a CAS. There is no single centralized control mechanism that governs the system's behaviour. Although the interrelationships between the entities of the system produce coherence, the overall behaviour usually cannot be explained merely as the sum of individual parts [Chan 2001]. The control of a CAS tends to be highly dispersed. For example, in the human brain there is no master neuron [Richardson 2002]; similarly in a colony of worker ants there is no one master worker ant [Dorigo et al. 2000, Dorigo and Di Caro 1999]. The overall behaviour observed in the economy is a result of the countless decisions made by millions of individual people [Kochugovindan and Vriend 1998]. Any coherent behaviour in a system arises from competition and cooperation among the agents themselves.. 20.
(27) 2.2.2. Connectivity Complexity results from the interrelationship, interaction and interconnectivity of the agents within a system and between a system and its environment. This implies that a decision or action by one part within a system will influence all other related parts but not in any uniform manner. This is known as the connectivity attribute [Chan 2001].. 2.2.3. Co-evolution Agents in a CAS can change based on their interactions with one another and with the environment. In the proposed generic collective CAS model ACEUS, an agent can mutate depending on the rules the agent acquires. Thus, depending on the interactions between the agents with one another and the environment, the rules of the different agents can be changed, causing the agents to mutate or evolve due to the interaction. This is the co-evolution attribute of CASs.. 2.2.4. Sensitivity CASs are very sensitive due to their dependence on initial conditions. Changes in the input characteristics or rules are not correlated in a linear fashion with outcomes. Small perturbations can have a profound impact on the overall behaviour, or a huge upset to the system may not affect it at all. The weather is an excellent example of this type of behaviour. Most natural systems are at least as complex as the weather. Natural systems are fundamentally unpredictable. This means the end of scientific certainty, which is a property of simple systems [Chan 2001]. Long-term prediction and control are therefore believed not to be possible in complex systems [Chan 2001]. This again supports the idea of a new kind of approach to developing CASs and emergent behaviour away from the traditional classical ways of thinking about and designing complex systems.. 2.2.5. Emergent behaviour Emergence is one of the critical themes of this study. Due to the importance of emergence in CASs, a complete chapter will be dedicated to this topic. Complexity in CASs refers to the potential for emergent behaviour in complex and unpredictable phenomena [Chan 2001]. CASs could range from ant colonies to developing embryos to. 21.
(28) the human brain. These three examples will form the analogies used to describe the model in a later chapter. Each of these natural CAS examples is a system with a network of many agents acting in parallel. In an ant colony the agents are ants, whereas in an embryo the agents are cells. In each system, each agent is in an environment produced by its interactions with the other agents in the system. There is constant action and reaction to what other agents are doing [Chan 2001]. Emergence can be defined as some kind of global property or pattern that arises from the interaction of the individual agents, which could not have been predicted from understanding each particular agent. For example, in the brain, consciousness is an emergent phenomenon, which comes from the interaction of the brain cells. Global properties result from the aggregate behaviour of individuals [Chan 2001]. The control of a CAS tends to be highly dispersed. There is no cell within a developing embryo, nor a master neuron in the brain. Any coherent behaviour in a system arises from competition and cooperation among the agents themselves. Order can result from non-linear feedback interactions between agents where each agent goes about its own business. A good example of emergent behaviour can be seen in the flocking behaviour of birds. The rules for inducing flocking are entirely local to each bird. There is no explicit rule to form a flock. If a flock does form, it does so from the bottom up, as an emergent phenomenon. Thus, it appears that self-organization is an inherent property of CASs [Chan 2001].. 2.2.6. Adaptability Another major theme of this study is the adaptability of a complex system, i.e. the ability of a complex system to adapt to its ever-changing environment. As mentioned earlier, as complexity is increasing in computer systems and networks, complex systems need to adapt to perturbations in the environment. This will lead to the investigation of CASs. Examples of CASs include the economy [Kochugovindan and Vriend 1998], ecosystems, the human brain [Richardson 2002] and ant colonies [Dorigo et al. 2000, Dorigo and Di Caro 1999]. Each is a system with a network of many agents acting in parallel. For example, in an economy the agents might be individuals or households, whereas in an 22.
(29) ecosystem the agents are species and in the human brain the agents are nerve cells. In each system, the agents interact with each other and with the environment. This constant interaction leads to a system where nothing in the environment is essentially fixed [Chan 2001]. In a complex adaptive system or framework there is a large number of autonomous agents that have intelligent behaviour; although their behaviour and their interaction with each other is simple, the overall collaboration of all the agents in the colony is very complex and typically exhibits emergent behaviour [Montresor et al. 2002, Kawamura et al. 2000, Schoonderwoerd et al. 1997].. A CAS can be viewed as a dynamic system, which is able to adapt and evolve within the changing environment it finds itself. There is no separation between the CAS and its environment in the sense that the CAS will always adapt to its changing environment. The agents and objects building up the system are all closely linked and all changes in the system need to be seen in terms of co-evolution with all the related entities in the system.. 2.3. General characteristics of a complex adaptive system There are basically seven characteristics that constitute a CAS. These characteristics specify the rule-based adaptive behaviour of agents as well as the complex adaptive behaviour of CASs [Holland 1995, Dooley and Corman 2002, Rocha 1999, Sutherland 2001]. These seven basic characteristics are broken up into two types: properties and mechanisms. Properties include aggregation, non-linearity, flows and diversity. Mechanisms include tagging, internal models and building blocks [Holland 1995, Dooley and Corman 2002, Sutherland 2001]. These seven characteristics proposed by Holland lend themselves to the notion of dynamical incoherence, and can therefore be used to describe agents, multi-agent systems and CASs [Holland 1995, Dooley and Corman 2002, Sutherland 2001]. A description of the computational implications and the purpose of each characteristic will now be given.. 23.
(30) 2.3.1. Aggregation Aggregation is the characteristic property by which a group of agents can be collectively modelled as a meta-agent. A meta-agent has all the properties of a typical agent. A collection of meta-agents forms an even higher-level CAS [Holland 1995, Dooley and Corman 2002, Sutherland 2001]. There are two types of senses in aggregation. Categorization at agent level is the first. Agents cope with their environments by grouping things with shared characteristics and ignoring the differences. The second is emergence of large-scale behaviour at multi-agent level. From the aggregation of the behaviour of individual agents behavioural patterns of organization at collective level can be observed. This leads to a hierarchical organization [Holland 1995, Rocha 1999, Sutherland 2001].. 2.3.2. Tagging Tagging is the characteristic mechanism that facilitates aggregation. Agents need to be individualized and to possess some identity [Holland 1995, Rocha 1999, Sutherland 2001]. Tagging facilitates selection, specialization of tasks and cooperation, as different specific roles and strategies may be defined [Holland 1995, Rocha 1999, Sutherland 2001]. In a CAS the aggregate behaviour of individual agents would determine the emergent properties of the system. However, the individual agents within the CAS have different roles. It may be more advantageous to aggregate individual agents by their functional affiliation, thereby determining the aggregate behaviour of a given work area. In this case, agents would be given a tag that associated them with a particular functional affiliation [Holland 1995, Dooley and Corman 2002, Sutherland 2001]. Tags not only facilitate aggregation, but also allow agents to differentiate behaviour towards one another [Holland 1995, Dooley and Corman 2002, Sutherland 2001].. 2.3.3. Non-linearity Non-linearity is a characteristic property of multi-agent systems and CASs. The integration or aggregation of agents in multi-agent systems and CASs is non-linear, in the sense that the resulting behaviour of the collective cannot be linearly broken down into the behaviour of individual agents [Holland 1995, Rocha 1999, Sutherland 2001]. In. 24.
(31) general, if a system's response is proportional to its stimulus, then it is considered linear. Thus, non-linearity implies a disproportionate response to the stimulus [Holland 1995, Dooley and Corman 2002, Sutherland 2001]. When the behaviour of an agent is determined by a non-linear rule, the subsequent interaction of agents will tend to be much more complex than a simple summing up or averaging of the overall actions [Holland 1995, Dooley and Corman 2002, Sutherland 2001]. To illustrate the difference between linearity and non-linearity consider a collection of ants. If the amount of food each ant has at a given time is queried, the rule is linear. An ant that has two parcels of food and then collects another three parcels will then have five parcels of food. Conversely, if one ant has five and another has six parcels of food, the aggregate is eleven parcels of food. In a non-linear situation an ant lays down pheromones according to the following rules: if food is present and no pheromone exists, then lay down a large amount of pheromone; if food is present and some pheromone exists, lay down a large amount of pheromone and if food is present and a large amount of pheromone exists, lay down a small amount of pheromone. Collectively, when aggregated together, the amount of pheromone present will not simply be related to how much food there is; it will be non-linearly related to both how much food there is and how many ants have traversed the trail. Computationally, non-linearity is implemented via rules that embed non-linearity within them [Holland 1995, Dooley and Corman 2002, Sutherland 2001].. 2.3.4. Flows Multi-agent systems and CASs rely on many connections between agents that instantiate the flow and transfer of physical elements, such as resources, and information [Holland 1995, Rocha 1999, Dooley and Corman 2002, Sutherland 2001]. Flow is a property of multi-agent systems and CASs. Computationally, flows represent the simultaneous change of an agent's attributes within a CAS. For example, ants are investing their energy into building an anthill; thus the ant's attribute of energy is being depleted while the anthill's attribute of size is being replenished. Flows in CASs have two properties: the multiplier effect and recycling. The multiplier effect is a result of non-linearity and flow.. 25.
(32) An example of the multiplier effect is the collection of food brought to the colony by the ants. The overall gain to the survival colony is much greater than the aggregated benefits gained by the individual ant. The recycling property can be thought of as the effects the ant colony has on the local environment. Are the ants destroying everything in their path or are they returning nutrients back to the environment by recycling organic waste?. 2.3.5. Diversity Multi-agent systems and CASs are heterogeneous, as there are different agent roles and behaviours. This makes the tagging mechanisms important so that these different roles and behaviours may be identified [Holland 1995, Rocha 1999, Sutherland 2001]. The diversity is a property of multi-agent systems and CASs because agents are idiosyncratic. Each agent is potentially unique not only in the resources that it holds, but also in terms of the behavioural rules that define how it sees the world and how it reacts. In CASs diversity is the key to survival. Without diversity, a system would converge to a single mode of behaviour, which could be perilous. The progressive adaptation in a CAS leads to the diversity observed in these systems [Holland 1995]. Each of these new progressive adaptations creates the possibility for further interactions and niches [Holland 1995]. The diversity of agents in a CAS leads to co-evolution. Diversity is implemented within a system via the diversity of rules that are initiated in the agent. The diversity of tags and associated hierarchical aggregations included in the model, and the diversity of flows and agent attributes that constitute the system also contribute to the diversity of the system [Holland 1995, Dooley and Corman 2002, Sutherland 2001].. 2.3.6. Internal models Internal models are a mechanism of multi-agent systems and CASs. They are used to organize the rules that produce agent behaviour [Holland 1995, Rocha 1999, Dooley and Corman 2000, Sutherland 2001]. The agents can anticipate different inputs from the environment by using the internal models. The internal models can be divided into two types: an implicit and explicit type. The implicit type prescribes a current action under implicit prediction. This is associated with hard-wired rules of behaviour (e.g. by natural selection) and implemented by state-determined automata. This kind of model. 26.
(33) instantiates agents that are dynamically coupled to their environments, e.g. reactive, situated robots. The explicit type uses representations stored in stable (or random access) memory to look ahead by exploring possible alternatives. This type of model produces agents with a level of dynamical incoherence with their environments, since they act not only based on current state and input, but also by integrating information stored in memory. This integration can be pursued with more or less complicated reasoning procedures. Since agents with explicit models possess behaviour alternatives, they can be used to study decision processes [Holland 1995, Rocha 1999, Dooley and Corman 2002, Sutherland 2001]. Internal models are in fact behavioural rules that define behaviour. The internal models interpret the external world, i.e. both the CAS and its external environment. Internal models can also define the actions to be taken based on certain observations [Holland 1995, Rocha 1999, Dooley and Corman 2002, Sutherland 2001].. 2.3.7. Building blocks Building blocks are mechanisms allowing agents to be constructed with the simplest components possible. This allows for the instantiation of coded construction, which is essential for the recombination of components to produce new agents with different behaviour and models. Natural selection, for instance, acts on the ability to randomly vary descriptions of agents, which are cast on a language coding for building blocks leading to the production of new agents. Building blocks are linked to internal models. Most internal models are made up of existing building blocks. Building blocks are the reusable pieces, or modules, that economize the construction and reconstruction of internal models. While it is expensive to develop new building blocks, it is relatively inexpensive to piece together existing blocks into new forms, i.e. new internal models. Computationally, it is typical that the building blocks that constitute the complex system being modelled must be defined a priori. The structure of the building block must be known, in computational terms, in order to develop the algorithms and logic that will simulate behaviour and learning. Thus, selection of building blocks is an absolutely. 27.
(34) critical step in the formulation of the complex systems model [Holland 1995, Rocha 1999, Dooley and Corman 2002, Sutherland 2001].. 2.4. Conclusion CASs form a core part of any multi-agent framework, especially one that is intended to exhibit swarm intelligence. For this reason it was essential to dedicate a chapter to CASs. It was important to discuss the characteristics of a CAS, i.e. the properties and mechanisms, as the ACEUS multi-agent framework which is proposed in this study will be benchmarked against these characteristics. In the next chapter the focus turns to the constituents and the framework on which a CAS can be built, namely the agents and agent architectures.. 28.
(35) Chapter 3 Agent architecture 3.1. Introduction A software architecture implementing a single autonomous agent or a multi-agent system is known as an agent architecture. Agent architectures are the ideal tools for building CASs [Potgieter and Bishop 2002]. This chapter is dedicated to a description of agent architecture, as an understanding of agent architecture is crucial for the development of a generic CAS — one of the main goals of this study. The appeal of using agent architectures hinges on the ability of agent architectures to organize themselves to dynamically adapt to changing circumstances without top-down control from a programmer or system operator [Van Dyke Parunak 1997]. Although there are many agent architectures implemented today, there is still no consensus on what an agent is. This chapter will start with a description of agent-oriented programming. A definition of agents and a discussion of the dynamic incoherent and coherent properties of agents will follow. Multi-agent systems are defined and described. The influence the environment has on agent architecture will also be discussed. A discussion on designing agent models as well as how an agent model can be used in CASs will be presented to conclude this chapter.. 3.2. Agent-oriented programming The history of software design and development is one of increasing localization and encapsulation. Originally, in the earlier beginnings of software development, the complete software program was regarded as the basic unit of software. Arbitrary jumps of control in the program made it difficult to manipulate any unit other than the individual line of code and the entire program. The code and program were the responsibility of the. 29.
(36) programmer. The programmer determined the behaviour of the complete program before it began execution [Van Dyke Parunak 1997].. During the structured programming movement, programs contained smaller packages of code structures such as loops and subroutines with a high degree of local integrity. Although the subroutine's code was encapsulated, its state had to be supplied externally through arguments, and it gained control when it was externally invoked by a call [Van Dyke Parunak 1997].. The next generation of software design and development was the object-oriented programming (OOP) genre. OOP localized the code as well as the variables manipulated by that localized code. In OOP the objects are passive and gain control only when receiving a message sent from some external entity [Van Dyke Parunak 1997].. The next generation or new era of software development focused on software agents or agent-orientated programming (AOP). An agent-oriented approach is employed when a particular situation requires a decentralized and self-organized approach to processing instead of a centrally organized one [Odell 1998b]. AOP distinguishes between autonomous, interactive, mobile objects (agents) and the passive objects of conventional object orientation. This does not mean that object orientation is dead; instead, it can be used to enable, rather than drive, agent-oriented technology [Odell 1998b]. AOP gives each object its own thread of control and its own internal goals, thus localizing not only code and data, but also invocation. Such an active object is better known as an autonomous agent.. An autonomous agent does not need external invocation. It regulates itself and its own set of internal responsibilities. With code, state and control all localized within the agent, little or no integration is required to launch an application. In the ultimate agent vision, the application developer simply identifies the agents desired in the final application, and they organize themselves to perform the required functionality [Van Dyke Parunak. 30.
(37) 1997]. Such an approach to software has many advantages over traditional top-down techniques. These advantages are listed below: The behaviour space of the entire system is much larger than could be developed with traditional techniques. Integration and maintenance costs, traditionally two of the largest expenses in developing a software system, are greatly reduced. There is evidence that interacting systems of agents can provide adaptability and robustness only dreamed of in conventional systems. As mentioned earlier, the appeal of agent architectures depends on the ability of agent architectures to dynamically adapt to changing circumstances (i.e. self-organize) without top-down control from a programmer or system operator. Simple agents occurring in natural systems (such as populations of social insects and cells in an embryo) offer evidence that designing complex agents that emulate high intelligence is not necessary since such approaches may reintroduce many of the problems of complex system design and implementation. These were the problems that drove the evolution of increasing software localization in the first place. Instead, simple agents with a simple set of rules interacting with one another and the environment can give rise to complex emergent behaviour [Van Dyke Parunak 1997].. 3.3. Agents The term agent is 'used' in a magnitude of different ways; it could mean anything from a mere subroutine to a conscious entity [Rocha 1999]. Intuitively an entity is referred to as an agent when the entity possesses some degree of autonomy [Rocha 1999]. Odell [2000a] defines an agent as an autonomous entity that can interact with its environment. In short, agents are autonomous and can react with other entities, including humans, machines and other software agents in various environments and platforms [Odell 2000a]. If an entity is to be regarded as an agent, it must possess some kind of identity in order to be identified in the environment, engage in tasks in its environment without external control, as well as be able to make decisions outside the dynamics of its environment even though the decisions may be against the natural course of its 31.
(38) environment [Rocha 1999]. Holland defines agents as rule-based input-output elements whose rules can adapt to an environment. These rules define the behaviour strategy utilized by agents to cope with a changing environment [Holland 1995]. A simple agent can be defined as any part or process of a software system that on its own is understandable. However, when interacting in groups the behaviour is much harder to understand [Minsky 1988, Potgieter and Bishop 2002]. Autonomous agents are defined as a computer system situated in some environment that is capable of flexible autonomous behaviour in order to meet its design objectives [Wooldridge 1997, Jennings 2001, Potgieter and Bishop 2002]. Dynamical incoherence is the ability of the agent to step outside the dynamics of its interactions with its environment and explore different behaviour alternatives. Agents capable of engaging with their environments beyond concurrent state-determined interaction by using memory to store descriptions and representations of their environments are dynamically incoherent. They are dynamically incoherent in the sense that their next state or action is not solely dependent on the previous state, but also on some (random-access) stable memory that keeps the same value until it is accessed and does not change with the dynamics of the environment-agent interaction. In contrast, state-determined agents are dynamically coherent coupled to their environment, as they function by reaction to environment inputs and the state of the environment [Rocha 1999]. A collection of simple or autonomous agents considered in terms of the accomplishments of a group, regardless of the actions of the agents as individuals, is defined as an agency [Minsky 1988, Potgieter and Bishop 2002]. The view of an agency as a dynamically incoherent system-environment coupling can be stated as a strong sense of agency, whereas the view of an agency as a dynamically coherent system-environment coupling can be stated as a weak sense of agency [Rocha 1999]. The strong sense of agency is more precise because of its explicit requirement for memory and ability to effectively explore and select alternatives. Indeed, the weak sense of agency is much more subjective. 32.
(39) since the definition of autonomy, a boundary, or identity are largely arbitrary in dynamically coherent couplings [Rocha 1999]. If agents belong to more than one agency, the intersection of the agencies forms a heterarchy [Potgieter and Bishop 2002]. An agent can be defined, according to Van Dyke Parunak [1997], as a four-tuple: Agents = {Agent, ...,Agent,...,Agentn} Agents= <State', Input, Output, Processs>,. States is defined as a set of values. The agent can be completely defined by this. set of values. The features of these values, such as the structure, domains and variability, are not constrained by this definition. The interesting variation among different kinds of agents is due to the differences in these features [Van Dyke Parunak 1997]. Input and Output are subsets of State. The variables of Inputs and Output are. coupled to the environment. The coupling between the environment and the agent's Input and Output variables is implemented by mechanisms called agent's sensors and effectors [Van Dyke Parunak 1997]. Processs is a means of changing the agent's State. The Process is an autonomously. executing mapping, which means that the Process will execute without being invoked from any outside entity. In computational terms, an agent has its own virtual central processing unit [Van Dyke Parunak 1997]. An agent is a bounded process due to the existence of Input and Output. Only Input and Output may cross this boundary. The agent is related to the environment as well as other agents via Input and Output [Van Dyke Parunak 1997].. 3.4. Characteristics of agents An agent can be characterized by its capability of acting without direct external intervention and the degree to which it can control its internal state and actions based on experience. This is the autonomous characteristic of agents. Agents are interactive and 33.
(40) interact with the environment in which they exist, as well as with the other agents in the environment. Agents are adaptive as they are capable of responding to other agents and/or their environment to some degree. More advanced forms of adaptation permit an agent to modify its behaviour based on its experience. Most agents are sociable, i.e. the interaction between the agents is affable in nature [Odell 2000a]. Some agents are characterized by their mobility in transporting themselves from one environment to the next. An agent may be characterized by proxy, which means that the agent may act on behalf of someone or something, i.e. acting as a representative of or for the benefit of someone. Agents do not just react to the environment alone, they are proactive in the sense that they are goal-oriented and purposeful. A symbolic language is used when agents interact. The state of an agent may also be formalized by knowledge such as beliefs, goals, plans and assumptions. Such an agent may therefore be regarded as intelligent. Agents are rational as they are able to choose an action based on internal goals and the knowledge that a particular action will bring it closer to its goals [Odell 2000a]. Agents are also characterized as unpredictable or non-deterministic as some of their actions cannot be fully predicted even when the initial conditions are known. They are continuously running processes and thus are characterized as temporally continuous. Agents are also characterized as transparent, but are capable of reporting all of their activities on demand, i.e. they are accountable. They are coordinative and cooperative as they are able to coordinate with each other to fulfil a common goal in a shared environment. However, some agents are characterized as competing agents. In the scenario where agents are in competition, they still coordinate with one other except that the success of one agent implies the failure of the others. Finally, agents need to be robust in the sense that they can deal with errors and incomplete data [Odell 2000a].. 34.
(41) 3.5. Multi-agent systems A multi-agent system (MAS) can be defined [Van Dyke Parunak 1997] as a three-tuple: a set of agents, an environment and a coupling between them: MAS = <Agents, Environment, Coupling>. A system containing more than one interacting simple or autonomous agent that can be grouped into one or more agencies is an MAS [Potgieter and Bishop 2002]. An MAS can be characterized by the following: Intelligence lies in the behaviour of the agency and not in the individual agents. Agencies are specialized, i.e. they handle certain tasks and contain specialized knowledge for those tasks [Potgieter and Bishop 2002]. Interaction between the agents with each other and between the agents and environment causes a global behaviour of the MAS to emerge. There is no global system control [Potgieter and Bishop 2002]. Data is decentralized and computation is asynchronous [Potgieter and Bishop 2002]. Kray [2001] states that MASs exhibit qualities such as adaptability, cost-efficiency and improvements in development and management processes. In addition to this, Kray [2001] also illustrates that the inherent autonomy of the MAS's parts (i.e. the agents) provides protection for local information and a more natural way to address certain problems. Furthermore, it is argued that the distribution of MASs facilitates specialization and may increase reliability, robustness and efficiency of the system. It is also stated that resources' limitations can be handled both on an individual and on a greater scale [Kray 2001].. 3.6. Multi-agent environment Van Dyke Parunak [1997] defines the multi-agent environment as a two-tuple that is syntactically a subset of an agent: Environment = <Statee, Processe>. 35.
(42) The importance of this defmition of the multi-agent environment is to note that the environment itself is active. The environment can change its State via its own Process. This change of state is independent of the actions of its embedded agents. Elements of Statee are coupled to the Input, and Output, of the various agents. However, the environment does not distinguish which elements of Statee are so coupled. The agents that exist at any moment and the capabilities of their sensors and effectors determine that distinction. The environment, unlike the agent, is unbound and this is due to the lack of a distinguished Input and Output. If a boundary and associated Input and Output values were placed around an environment (and its associated agents), then the environment would simply be a higher-level agent. Thus aggregating low-level agents into higherlevel ones can occur seamlessly in this model [Van Dyke Parunak 1997].. 3.7. Multi-agent system engineering When comparing natural agent systems such as ant colonies, cells in an embryo and neurons in a human brain to systems where the agents are computerized, there are important differences [Van Dyke Parunak 1997]. These differences must be taken into account when engineering effective generic multi-agent models. A fundamental insight taken from this comparison is that agents cannot be considered independently of the environment in which they exist and through which they interact [Van Dyke Parunak 1997]. This insight is often ignored when designing models for MASs, as the environment has been considered as a passive communications framework and everything of interest is relegated to one or another of the agents [Van Dyke Parunak 1997]. As can be seen in the definition of an MAS in section 3.5, the environment is considered as one of the elements of the three tuple. When engineering MASs, cognizance should be taken of certain functionalities such as: No functional decomposition Keeping the agents small Decentralization Diversity Risk and redundancy Sharing information 36.
(43) • Dynamic response Each of these functional requirements will now be discussed.. 3.7.1. No functional decomposition Many system designers use functional decomposition due to the classical software engineering techniques. The functional approach is well suited to centralized systems, but unprecedented in naturally occurring systems. Naturally occurring systems divide agents on the basis of distinct entities in the physical world rather than functional abstractions in the mind of the designer. A functional decomposition appears most natural when the distinction between agents and their environment is overlooked. A clear distinction between the agents and environment as well as recognition that the environment's process mediates agent interactions force the designer to pay attention to the boundaries between agents and the environment and make it more difficult to assign agents to arbitrarily conceived functions. Even in natural systems, functions are important, but they emerge from the interactions of the individual components rather than being explicitly represented as units in their own right [Wooldridge 2000, Wooldridge 1997, Van Dyke Parunak 1997].. 3.7.2. Keep agents small Natural adaptive systems constitute components that are small compared to the entire system in terms of mass, time and space scope. For example, each ant is almost a negligible part of the entire anthill. By keeping the agents small in mass, the collective dynamics dominate, i.e. the behaviour of the entire collective is stable when it comes to variations in the performance of a single agent. The main motivation for this principle is derived from the experience of software engineers, where it has been demonstrated that the difficulty of designing, implementing and launching computer-based systems increases exponentially with the size of the system [Odell 1998b, Van Dyke Parunak 1997]. Small individual agents in comparison to large monolithic systems are easier to construct as well as understand. The impact of the failure of one small agent will be minimal. In. 37.
(44) addition, a richer overall space of possible behaviours can be achieved with a large population of agents. This, in turn, provides for a wider scope of emergent behaviour. Utilizing a rough estimate, the size of the overall system state space can be seen as an exponent of the number of agents, while the implementation effort is a multiplicative factor of the number of agents. For example, the implementation effort to code 100 agents with 10 behaviours each is in the order of 100*10 = 10 3, but the resulting state space is in the order of 10 100 [Van Dyke Parunak 1997]. Naturally occurring agent systems have the ability to forget, i.e. they are small in time. In an ant colony the pheromones used to communicate evaporate over time. This results in the disappearance of obsolete paths leading to depleted food sources, which could have misled the other ants in the colony. The ability to forget is important in naturally occurring systems [Odell 1998b, Van Dyke Parunak 1997]. In natural adaptive systems the participants or agents can only sense their immediate surroundings so these agents are relatively small in terms of their space scope. However, in spite of this limiting restriction, these agents are able to generate effects that extend far beyond their own limits. An example of this phenomenon is the networks of ant paths in the search for food. Natural systems restrict communications. This is very important as it has been demonstrated that self-organization works better in sparsely connected systems than in densely connected ones [Odell 1998b, Van Dyke Parunak 1997]. Wherever possible, agents should define the audience that needs to receive the message, at least by subject-based addressing, rather than broadcasting information. Self-organization appears only when agents in a collective are sparsely connected. Densely connected agents in a collective exhibit unstable behaviour [Van Dyke Parunak 1997].. 3.7.3. Decentralization between agents Centralization is foreign to natural systems, i.e. in natural systems there is no single centralized control mechanism that governs the system's behaviour. This is reflected in section 2.2.1 where it was stated that CASs are distributed, i.e. decentralized. There are. 38.
(45) important reasons not to make one agent the centralized controlling agent of the entire collective: A centralized agent is a single point of failure. This makes the system vulnerable to breaking down. Centralized agents can induce performance bottlenecks under normal operating conditions. A centralized agent provides a boundary constraint beyond which the system cannot operate or expand even if the centralized agent is adequately scaled for current operation. A centralized agent pulls the design away from the benefits of an agent model and tends to gather functionality and code at a central point as the system develops. In time the centralized agent becomes a large software artefact that is difficult to understand and maintain.. Centralization can occur in a design when a class of agents is confused by individual agents. To ensure that decentralization is maintained, a single class (in the object-oriented sense of the word) would be developed for an ant or an embryo cell agent, for example. Each individual ant in the colony or each individual cell in an embryo would then be a separate instantiation of either the ant class or embryo cell class [Odell 1998b, Van Dyke Parunak 1997].. 3.7.4. Diversity among agents Diversity among agents is encouraged by the difference in size between an individual agent and the environment. This difference in size also favours small agents and decentralized control. Information concerning both opportunities that agents should exploit and threats that they should avoid is contained within the environment. The more of the environment the agents can sense and modify, the better they can exploit those opportunities and avoid those threats. Any single agent can manipulate only a small portion of the environment, and a population of completely identical agents will do no better, since they will cover the same portion of the environment. A population of diverse agents will cover more of the environment and thus provide better performance. If a real-. 39.
(46) world physical environment is taken as an example, it is physically impossible for two agents to occupy the same place at the same time. Except for their position in space, these two agents would be identical. Thus these two agents are diverse in their positions in space. This simple but crucial element of diversity enables them to monitor different elements of the environment, and thus collectively be more robust than a single agent could be. The important observation is that the advantage of the larger population lies not merely in numbers, but in the diversity that results from physical exclusion laws [Wooldridge 2000, Odell 1998b, Van Dyke Parunak 1997, Wooldridge 1997].. 3.7.5. Risk and redundancy In traditional design and development of systems there will always be a set plan for resource management. However, in natural occurring MASs there is no such plan. Take an ant colony, for example. The ant agent may wander off in search of food where there is none and may never return to the nest. This type of risky behaviour may be considered as a waste of resources in the traditional design and development of systems. However, an anthill which created a plan for resource management to guarantee the security of its ants would be less effective in identifying outlying food sources, and thus be less robust overall. Error and innovation are indistinguishable before the results are in. Designers and developers of MASs need to recognize risky behaviour as an important mechanism for providing the diversity a population needs to survive change [Odell 2000c, Van Dyke Parunak 1997]. Compared with conventional systems, natural agent-based systems seem wasteful. They allocate far more resources to a task than a global analysis would require, and sometimes seem to throw resources away. For example, an anthill's ignorance of where food may be found requires a large army of scouts, some of whom wander far from both nest and food and either starve or are taken by predators. The example of the anthill shows that redundancy supports diversity in two ways. The diversity in location among the ants enhances the colony's chances of finding food and thus surviving, while the small size of one ant in comparison to the colony means that several individuals can perish without endangering the entire community. Sometimes lack of redundancy in the application. 40.
(47) domain leads to centralization. Redundant agents can step in for one another when changes in the environment are sensed. Any agent that senses these changes can respond to them, and the failure of an individual agent does not bring the system down as long as there are other agents sufficiently similar to sense the same environmental changes and respond appropriately to them [Odell 2000c, Van Dyke Parunak 1997].. 3.7.6. Sharing information Natural systems exchange information among members of the population at three levels: the species, the individual and the society. Information is exchanged at species level via reproduction where successful characteristics in the species are passed down to the offspring in the form of chromosomes, i.e. some state of the agent is set Similarly, when communication is at the level of the individual, a certain state of the agent is modified. At society level information is passed by means of interaction of the agents with the environment. An example of this information transfer is the pheromone paths developed in ant colonies. The ants interact with the environment by depositing pheromones in the environment. These pheromones then establish pheromone paths. By using this method the natural system has found a way of caching and sharing accumulated knowledge with the entire collective. Species and individuals learn by modifications to the agent's state, whereas societies learn by modifying the environment's state. Artificial agent systems can often use similar mechanisms [Odell 2000b, Van Dyke Parunak 1997, Wooldridge 1997].. 3.7.7. Dynamic response Natural systems do not plan in advance, but adjust their operations on a time scale comparable to that in which their environment changes. The coherence of their behaviour over time is maintained by the dynamics of their interactions, and is not imposed by an external plan or schedule. To achieve the robustness exemplified by these systems, artificial agents should seek to avoid the "plan then execute mode" of operation and instead respond dynamically to changes in the environment [Wooldridge 2000, Van Dyke Parunak 1997].. 41.
Related documents
In the study, the comparison of proposed model was made against ANN based prediction technique and evaluated using five metrics: Root Mean Square Error (RMSE), Coefficient
Selection criteria for the study included patients with a moderate degree of Volkmann’s ischemic contracture, a positive Volkmann’s sign, no severe contracture of the skin in
The caregivers (25%) most frequently mentioned the Love life domain compared to the patients (16%). The 2 members of a same dyad were quite consistent for the following domains: 81%
The objective of fi eld trials lasting several years was to evaluate the possibility of applying soil con- ditioners and supplementary soil substances to light soil in arid
It also identified the association between variables of three different factors of social wellbeing of breast cancer patients and demographic variables like age,
Unlike in many other recommendation systems where the goal is typically to predict a user’s opinion towards given passive items (e.g., books, movies, etc) based on their evaluation
This hybrid molecule was given to human immunodeficiency virus (HIV)-infected pregnant women at the onset of labor by intravenous bolus at 1 mg/kg of body weight (group A; n 5 3) and