Raymond S.T. Lee and Vincenzo Loia (Eds.) Computational Intelligence for Agent-based Systems
Studies in Computational Intelligence, Volume 72 Editor-in-chief Prof. Janusz Kacprzyk Systems Research Institute Polish Academy of Sciences ul. Newelska 6 01-447 Warsaw Poland E-mail:
[email protected] Further volumes of this series can be found on our homepage: springer.com Vol. 53. Huajin Tang, Kay Chen Tan, Zhang Yi Neural Networks: Computational Models and Applications, 2007 ISBN 978-3-540-69225-6
Vol. 63. Wlodzislaw Duch and Jacek Ma´ndziuk (Eds.) Challenges for Computational Intelligence, 2007 ISBN 978-3-540-71983-0 Vol. 64. Lorenzo Magnani and Ping Li (Eds.) Model-Based Reasoning in Science, Technology, and Medicine, 2007 ISBN 978-3-540-71985-4
Vol. 54. Fernando G. Lobo, Cl´audio F. Lima and Zbigniew Michalewicz (Eds.) Parameter Setting in Evolutionary Algorithms, 2007 ISBN 978-3-540-69431-1
Vol. 65. S. Vaidya, L.C. Jain and H. Yoshida (Eds.) Advanced Computational Intelligence Paradigms in Healthcare-2, 2007 ISBN 978-3-540-72374-5
Vol. 55. Xianyi Zeng, Yi Li, Da Ruan and Ludovic Koehl (Eds.) Computational Textile, 2007 ISBN 978-3-540-70656-4
Vol. 66. Lakhmi C. Jain, Vasile Palade and Dipti Srinivasan (Eds.) Advances in Evolutionary Computing for System Design, 2007 ISBN 978-3-540-72376-9
Vol. 56. Akira Namatame, Satoshi Kurihara and Hideyuki Nakashima (Eds.) Emergent Intelligence of Networked Agents, 2007 ISBN 978-3-540-71073-8 Vol. 57. Nadia Nedjah, Ajith Abraham and Luiza de Macedo Mourella (Eds.) Computational Intelligence in Information Assurance and Security, 2007 ISBN 978-3-540-71077-6 Vol. 58. Jeng-Shyang Pan, Hsiang-Cheh Huang, Lakhmi C. Jain and Wai-Chi Fang (Eds.) Intelligent Multimedia Data Hiding, 2007 ISBN 978-3-540-71168-1 Vol. 59. Andrzej P. Wierzbicki and Yoshiteru Nakamori (Eds.) Creative Environments, 2007 ISBN 978-3-540-71466-8 Vol. 60. Vladimir G. Ivancevic and Tijana T. Ivacevic Computational Mind: A Complex Dynamics Perspective, 2007 ISBN 978-3-540-71465-1 Vol. 61. Jacques Teller, John R. Lee and Catherine Roussey (Eds.) Ontologies for Urban Development, 2007 ISBN 978-3-540-71975-5 Vol. 62. Lakhmi C. Jain, Raymond A. Tedman and Debra K. Tedman (Eds.) Evolution of Teaching and Learning Paradigms in Intelligent Environment, 2007 ISBN 978-3-540-71973-1
Vol. 67. Vassilis G. Kaburlasos and Gerhard X. Ritter (Eds.) Computational Intelligence Based on Lattice Theory, 2007 ISBN 978-3-540-72686-9 Vol. 68. Cipriano Galindo, Juan-Antonio Fern´andez-Madrigal and Javier Gonzalez A Multi-Hierarchical Symbolic Model of the Environment for Improving Mobile Robot Operation, 2007 ISBN 978-3-540-72688-3 Vol. 69. Falko Dressler and Iacopo Carreras (Eds.) Advances in Biologically Inspired Information Systems: Models, Methods, and Tools, 2007 ISBN 978-3-540-72692-0 Vol. 70. Javaan Singh Chahl, Lakhmi C. Jain, Akiko Mizutani and Mika Sato-Ilic (Eds.) Innovations in Intelligent Machines-1, 2007 ISBN 978-3-540-72695-1 Vol. 71. Norio Baba, Lakhmi C. Jain and Hisashi Handa (Eds.) Advanced Intelligent Paradigms in Computer Games, 2007 ISBN 978-3-540-72704-0 Vol. 72. Raymond S.T. Lee and Vincenzo Loia (Eds.) Computational Intelligence for Agent-based Systems, 2007 ISBN 978-3-540-73175-7
Raymond S.T. Lee Vincenzo Loia (Eds.)
Computational Intelligence for Agent-based Systems With 82 Figures and 11 Tables
Professor Dr. Raymond S.T. Lee
Professor Dr. Vincenzo Loia
Department of Computing The Hong Kong Polytechnic University Kowloon, Hung Hom Hong Kong E-mail:-
[email protected]
Dipartimento di Matematica e Informatica Universita di Salerno via Ponte don Melillo 84084 Fisciano (Salerno) Italy E-mail:-
[email protected]
Library of Congress Control Number: 2007929547 ISSN print edition: 1860-949X ISSN electronic edition: 1860-9503 ISBN 978-3-540-73175-7 Springer Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable to prosecution under the German Copyright Law. Springer is a part of Springer Science+Business Media springer.com c Springer-Verlag Berlin Heidelberg 2007 ° The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Cover design: deblik, Berlin Typesetting by the SPi using a Springer LATEX macro package Printed on acid-free paper SPIN: 11790952 89/SPi
543210
Foreword
The scope of this volume is to give to the reader a wide scenario of recent works characterized by a synergistic combination of Soft Computing area with recent trends of Distributed Artificial Intelligence and Ambient Intelligence. We edited this book for two basic motivations: the emergence of computational intelligence as a mature and integrated science, and the power of the agent paradigm in realizing complex and distributed environments. Computational Intelligence has nowadays a mature formal theory and robust implementation experiences. Intelligent agents have shown their inner ability in acquiring data and knowledge from and performing appropriate decisions through a functional relation that maps percepts to actions. Computational Intelligence inside Agents are extremely helpful to support the designer of agent-based systems in treating with unknown or ill-defined environments so to better handle knowledge representation and reasoning under these assumptions. The formulation of cooperative strategies, the linguistic aspects of the communication, the local decision versus the global knowledge, the actions and plans as distributed viewpoints could be characterized by an incomplete knowledge and by a fragmentation of logical interactions, faced often by a non-monotonic reasoning. While building “smart” environments many challenges arises. The system needs to interact with its users in order to obtain feedback in a non-intrusive way. Explicit/implicit feedback is needed to take decisions in near-real time. To reach this objective, agents have many advantages. The agents communicate with one another by exchanging asynchronous or synchronous, goaldriven messages. Decision making and learning strategies are facilitated in that each agent has knowledge just of a small part of the environment and takes decisions only about this sub-view. Decentralization and concurrent execution allow to better respect the real time commitment. Respecting this trend, widely recognized in the design of Ambient Intelligence systems, this book proposes contributions where Computational Intelligence plays an important role. The emphasis of Ambient Intelligence is on greater user-friendliness, more efficiency in services’ support, user empowerment and support for human interactions. People are surrounded by smart proactive devices that are embedded in all kinds of objects: an intelligent
vi
Foreword
environment is capable of recognizing and responding to the presence of different individuals, working in a seamless, unobtrusive and often invisible way. This book explores these emerging areas inviting well-known authors whose expertise is widely recognized. In Chapter 1, Acampora and Loia combine together Computational Intelligence methodologies and Semantic Web technologies to develop a general framework where ubiquitous devices are able to find the suitable set of ‘intelligent’ services in a transparent way. In Chapter 2, Costa-Montenegro et al. evaluate the feasibility of intelligent and distributed control of shared resources in user-managed networks. Their study presents as main conclusion that a user network can obtain benefits from node cooperation if traffic demands are variable along the day. Besides, the selection of agent-based management with individual credit limits provides the best results for every user, and also for the whole network, as cooperation emerges as the preferred strategy. Chapter 3, by Duman et al., describes the project iDorm, an experimental test bed for ubiquitous computing environments research at Essex University. The iDorm is equipped with a number of passive and intelligent embedded agents with different capabilities and restrictionsIn the chapter the authors define a passive agent as an embedded computer that delivers purely sensory information, whereas the intelligent embedded agents are embeddedcomputers enhanced with intelligent reasoning and learning. Lam and Lee, in Chapter 4, present iJADE FreeWalker, a tourist contextaware guiding system, which is constructed by using Semantic Web technologies. iJADE FreeWalker integrates GPS, ontology and agent technologies to support location awareness for providing the precise navigation and classify the tourist information for the users. The system was tested with success in a real application that underlined how 83% of the users felt that the system can help tourists find tourist information in Hong Kong. Chapter 5, by, Lim and Lee, illustrates iJADE InfoSeeker, an intelligent context-aware agents system that is designed to help users find, retrieve, and analyze news article from the Internet and then present the content in a semantic web. The authors, Lim and Lee, discuss the advantages of using multiple intelligent agents to mine news articles on the web, underlining the benefits of using ontologies to analyze the semantics of Chinese text, and also the advantages of using a semantic web to organize information semantically.
Foreword
vii
Chapter 6, written by Martin et al., reports the scientific results and experiences coming from a complex and a concrete project on ambient intelligence employed for third generation telecare systems. The experiment has been conducted in homes of elderly clients over a long term and is able to detect a person’s movements and use of furniture and household items. Murthy and Krishnamurthy discuss in Chapter 7 how a multi-agent system can model the evolution of a Nature-Inspired Smart System exhibiting four salient properties: (i) Collective, coordinated and efficient (ii) Selforganization and emergence (iii) Power law scaling or scale invariance under emergence (iv) Adaptive, fault tolerant and resilient against damage. Seif El-Nasr and Vasilakos propose, in Chapter 8, intelligent systems that use non-linear optimization as well as symbolic rule-based systems to adjust sound/music, on-stage lighting, and projected visual imagery in terms of movement and colour to dynamically reflecting the dancer’s arousal state measured through physiological sensors worn by the dancers. We deeply thank all the invited authors. A particular acknowledgement goes to Prof. J. Kacprzyk, the Editor-in-Chief of this Series, which has given to us the opportunity to act as Guest Editors of this book. The Guest Editors, Raymond S.T. Lee, The Hong Kong Polytechnic University Vincenzo Loia, University of Salerno
Contents
Foreword .................................................................................................... v List of Contributors ................................................................................. xv A Proposal of an Open Ubiquitous Fuzzy Computing System for Ambient Intelligence............................................................................ 1 Abstract................................................................................................... 1 1.1 Introduction .................................................................................... 1 1.2 AmI Fuzzy Ubiquitous System Architecture ................................. 3 1.3 AmI Context Representation .......................................................... 5 1.4 Transparent Fuzzy Control for AmI Context Representation ........ 6 1.4.1 FML and Transparent Fuzzy Control. ................................... 8 1.5 Run Time Environment ................................................................ 11 1.5.1 Run Time Servers Technologies.......................................... 12 1.5.2 AmI Clients.......................................................................... 14 1.5.3 Client/Server Communication Protocol............................... 14 1.6 Fuzzy Services Retrieval .............................................................. 15 1.6.1 AmI Client Sensor/Actuator Network Knowledge .............. 18 1.6.2 Storing Algorithm ................................................................ 19 1.6.3 Retrieval Algorithm ............................................................. 23 1.7 Final Considerations ..................................................................... 25 References ............................................................................................ 26 Agent-Controlled Sharing of Distributed Resources in User Networks 29 Abstract ................................................................................................ 29 2.1 Introduction .................................................................................. 30 2.2 User-Managed Networks ............................................................. 32 2.3 Peer-to-Peer Models ..................................................................... 33 2.4 Game Theory................................................................................ 35 2.5 Multiagent Systems ...................................................................... 36 2.6 Strategies, Node Topology and Behavior .................................... 37 2.7 A Simple Cellular Automata Approach ....................................... 40 2.8 A Basic Multi-Agent Approach ................................................... 44 2.8.1 Strategy Types .................................................................... 44
x
Contents
2.8.2 Network Traffic .................................................................. 45 2.8.3 Simulation Scenarios .......................................................... 45 2.8.4 Learning CreditLimit .......................................................... 46 2.8.5 Simulation Results .............................................................. 47 2.9 A More Realistic Multi-Agent Approach..................................... 49 2.9.1 Considerations on User Network Topology and Traffic ..... 49 2.9.2 Control Strategies, Scenarios and Settings.......................... 50 2.9.3 Simulation Results .............................................................. 52 2.10 Conclusions .................................................................................. 56 References ............................................................................................ 57 Adding Intelligence to Ubiquitous Computing Environments ............ 61 Abstract................................................................................................. 61 3.1 Introduction .................................................................................. 62 3.2 Ubiquitous Computing and Environments ................................... 64 3.2.1 Requirements Heterogeneity ............................................... 64 3.2.2 Background.......................................................................... 66 3.3 The intelligent Dormitory............................................................. 69 3.4 The Intelligent Association System .............................................. 73 3.4.1 From Static Wiring to Ad hoc Networks............................. 73 3.4.2 Embedded Agents and Societies ......................................... 74 3.4.3 Associations in IAS ............................................................. 77 3.5 The Fuzzy-IAS Agent .................................................................. 77 3.5.1 Designing Fuzzy Control Systems ...................................... 78 3.5.2 The F-IAS Agent Model...................................................... 80 3.6 Converting Rules into Fuzzy Numerical Tables .......................... 85 3.7 Distribution with FuzzyXML ...................................................... 86 3.8 Online Intelligent Association Mechanisms................................. 88 3.8.1 Why Intelligent Associations?............................................. 88 3.8.2 Fuzzy Cognitive Maps (FCM) ............................................ 89 3.8.3 Intelligent Association Calculation ..................................... 90 3.9 Experimental Results and Analysis .............................................. 93 3.9.1 Fuzzy Rule Extraction from Offline Collected Data ........... 95 3.9.2 Calculation of the Association Weights .............................. 97 3.10 Conclusions ................................................................................ 100 Acknowledgement .............................................................................. 101 References .......................................................................................... 101 iJADE FreeWalker – An Intelligent Ontology Agent-based Tourist Guiding System ...................................................................................... 103 Abstract............................................................................................... 103 4.1 Introduction ................................................................................ 104
Contents
xi
4.2 Background ................................................................................ 105 4.2.1 Semantic Web.................................................................... 105 4.2.2 Agent ................................................................................. 106 4.3 Related Work.............................................................................. 107 4.4 Ontology-based Tourist Guide.................................................... 108 4.4.1 iJADE Framework ............................................................ 109 4.4.2 Construction of the Travel Ontology ................................ 109 4.4.3 iJADE FreeWalker ............................................................ 116 4.4.4 System Architecture .......................................................... 118 4.5 Performance Evaluation ............................................................. 121 4.5.1 Precision Test.................................................................... 121 4.5.2 Usability Test .................................................................... 122 4.6 Conclusion and Future Work...................................................... 123 Reference ............................................................................................ 124 iJADE InfoSeeker: On Using Intelligent Context-Aware Agents for Retrieving and Analyzing Chinese Web Articles.......................... 127 Abstract............................................................................................... 127 5.1 Introduction ................................................................................ 127 5.2 Background................................................................................. 128 5.2.1 Intelligent Agents .............................................................. 128 5.2.2 Web and Text Mining........................................................ 129 5.2.3 Ontology ............................................................................ 131 5.2.4 Semantic Web.................................................................... 132 5.3 Ontological Multi-agents Based Approach in iJADE InfoSeeker .................................................................................. 134 5.3.1 Ontology Components for Knowledge Representation ..... 135 5.3.2 Multi-agents Components.................................................. 140 5.3.3 Semantic Web.................................................................... 147 5.4 Testing and Evaluation ............................................................... 148 5.5 Discussion and Future Work ...................................................... 150 5.6 Conclusion and Summary........................................................... 151 References .......................................................................................... 151 A Third-Generation Telecare System using Fuzzy Ambient Intelligence.............................................................................................. 155 Abstract............................................................................................... 155 6.1 Introduction ................................................................................ 156 6.2 The Sensor Network ................................................................... 158 6.2.1 What Should be Monitored?.............................................. 158 6.2.2 Pre-processing ................................................................... 159 6.3 Fuzzy Data Analysis................................................................... 162
xii
Contents
6.3.1 Detection of Specific Activities......................................... 162 6.3.2 Sleeping ............................................................................. 163 6.3.3 Detection of Visitors.......................................................... 163 6.3.4 Fuzzy Rules for Visitor Detection ..................................... 166 6.3.5 Fuzzy Association Rules.................................................... 168 6.4 The User Interface (GUI) Components ...................................... 168 6.4.1 Calendar Components........................................................ 169 6.4.2 Monthly Association Report.............................................. 170 6.5 System Trial and Results Validation .......................................... 172 6.6 Conclusions ................................................................................ 173 Acknowledgment................................................................................ 174 References .......................................................................................... 174 Interacting Agents in a Network for in silico Modeling of Nature-Inspired Smart Systems ....................................................... 177 Abstract............................................................................................... 177 7.1 Introduction................................................................................ 178 7.1.1 Interactive, Collective, and Efficient................................. 179 7.1.2 Self-organization and Emergence...................................... 179 7.1.3 Power-Law Scaling or Scale-Invariance Property ............ 179 7.1.4 Adaptive, Fault-tolerant and Resilient Against Damage ... 179 7.2 Multi-set of Agents Transactional Paradigm.............................. 181 7.2.1 Operational Aspects of Multiagent System ....................... 186 7.2.2 Interaction Among Agents................................................. 186 7.2.3 Concurrency and Conflicts ................................................ 188 7.3 Agent-based Modeling and Simulation ...................................... 189 7.3.1 Advantages of Agent Based Simulation ............................ 189 7.3.2 Special Purpose Agents in Simulation............................... 190 7.3.3 Agents for Animation ........................................................ 192 7.3.4 Agent-based Models in Development Biology.................. 193 7.3.5 Cell Motility ...................................................................... 193 7.3.6 Pattern Formation Mechanisms ......................................... 195 7.3.7 Signal Processing Among Cells ........................................ 195 7.4 Role of Fractal and Percolation Models in NISS........................ 196 7.5 Injecting Positive Entropy........................................................... 198 7.6 Disorderly Connections Arising Among Agents ........................ 201 7.7 Nature-Inspired Smart Computations ......................................... 205 7.7.1 Muliset of Agents Based Ant Colony Heuristic ................ 207 7.7.2 Smart Bacterial Colony ..................................................... 210 7.7.3 Simulating Animal-Human Trails ..................................... 211 7.7.4 Simulating Attractor Dynamics Using Exploration........... 212
Contents
xiii
7.7.5 Oscillatory Chemical Reactions ........................................ 213 7.7.6 Graph Growth Models ....................................................... 215 7.8 Stigmergy and Games ................................................................ 215 7.8.1 Wasp Nest-like Growth ..................................................... 219 7.8.2 Cell Diversification Through Inductive Interaction .......... 221 7.8.3 Synchronization Among Agent Population....................... 222 7.9 Engineering NISS ...................................................................... 222 7.9.1 Role of Scales in Engineering NISS.................................. 223 7.10 Multi-agent Architecture and Toolkits ....................................... 224 7.11 Summary and Directions for Research....................................... 225 References .......................................................................................... 226 DigitalBeing: An Ambient Intelligence Interactive Dance Experience 233 Abstract............................................................................................... 233 8.1 Introduction ................................................................................ 234 8.2 Previous Work ............................................................................ 236 8.3 Artistic Vision ............................................................................ 239 8.3.1 Projected Imagery.............................................................. 240 8.3.2 Projected Sound................................................................. 241 8.4 Dance Space and Equipment ...................................................... 242 8.5 Architecture ................................................................................ 243 8.5.1 Sensor Analysis System..................................................... 244 8.5.2 Expressing Arousal Through Lighting............................... 245 8.5.3 Expressing Arousal Through Sound/Music ....................... 255 8.5.4 2D Imagery ........................................................................ 257 8.5.5 Projecting Lighting and Music........................................... 258 8.6 Limitations.................................................................................. 258 8.7 Application and Future Work ..................................................... 259 8.8 Conclusion ................................................................................. 260 References .......................................................................................... 261
List of Contributors
Acampora, Giovanni Dipartimento di Matematica e Informatica Università di Salerno 84084 Fisciano, Salerno (Italy) Burguillo-Rial, J.C. Departamento de Enxeñería Telemática E.T.S. de Enxeñeiros de Telecomunicación Universidade de Vigo Campus Universitario, s/n E-36310 - Vigo (Spain) Callaghan, V. University of Essex Department of Computer Science Wivenhoe Park Colchester Essex CO4 3SQ (England) Clarke, N. Artificial Intelligence Group University of Bristol BS8 1TR (England) Costa-Montenegro, E. Departamento de Enxeñería Telemática E.T.S. de Enxeñeiros de Telecomunicación Universidade de Vigo Campus Universitario, s/n E-36310 - Vigo (Spain) Duman, H. University of Essex Department of Computer Science Wivenhoe Park Colchester Essex CO4 3SQ (England)
xvi
List of Contributors
El-Nasr, M.S. School of Information Science and Technology Pennsylvania State University University Park, PA 16802 (U.S.A.) Gonzalez-Castano, F.J. Departamento de Enxeñería Telemática E.T.S. de Enxeñeiros de Telecomunicación Universidade de Vigo Campus Universitario, s/n E-36310 - Vigo (Spain) Hagras, Hani University of Essex Department of Computer Science Wivenhoe Park Colchester Essex CO4 3SQ (England) Krishnamurthy, E.V. Computer Sciences Laboratory The Australian National University Canberra, ACT 0200, (Australia) Lam, T.H.W. Department of Computing Hong Kong Polytechnic University, HungHom Hong Kong, (China) Lee, B.S. Computational Intelligence Group Intelligent Systems Laboratory BT Research and Venturing Ipswich IP5 3RE (England) Lee, R.S.T. Department of Computing Hong Kong Polytechnic University, HungHom Hong Kong, (China) Loia, Vincenzo Dipartimento di Matematica e Informatica Università di Salerno 84084 Fisciano, Salerno (Italy)
List of Contributors
Majeed, B. Computational Intelligence Group Intelligent Systems Laboratory BT Research and Venturing Ipswich IP5 3RE (England) Martin, Trevor Artificial Intelligence Group University of Bristol BS8 1TR (England) Murthy, V.K. School of Business Information Technology R.M.I.T University, Melbourne, Victoria 3000 (Australia) Vasilakos, Thanos Dept. of Computer and Telecommunications Engineering University of Western Macedonia 531 00, Florina (Greece)
xvii
A Proposal of an Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
Giovanni Acampora and Vincenzo Loia Department of Mathematics and Computer Science, University of Salerno, 84084 Fisciano (Salerno), Italy, email:{gacampora, loia}@unisa.it
Abstract Ambient Intelligence (AmI) is considered as the composition of three emergent technologies: Ubiquitous Computing, Ubiquitous Communication and Intelligent User Interfaces. The aim of integration of aforesaid technologies is to make wider the interaction between human beings and information technology equipment through the usage of an invisible network of ubiquitous computing devices composing dynamic computational-ecosystems capable of satisfying the users’ requirements. Many works focus the attention on the interaction from users to devices in order to allow an universal and immediate access to available content and services provided by the environment. This paper, vice versa, focuses on the reverse interactions, from devices to users, in order to realize a collection of autonomous control services able to minimize the human effort. In particular, thanks to a hybrid approach based on Computational Intelligence methodologies and standard Semantic Web technologies, we will describe how ubiquitous devices are able to find the suitable set of ‘intelligent’ services in a transparent way.
1.1 Introduction AmI systems will radically change how the people interact with technology: the principle is to integrate different computer science backgrounds together with psychology and social sciences in order to create a network G. Acampora and V. Loia: A Proposal of an Open Ubiquitous Fuzzy Computing System for Ambient Intelligence, Studies in Computational Intelligence (SCI) 72, 1–27 (2007) www.springerlink.com © Springer-Verlag Berlin Heidelberg 2007
2
G. Acampora and V. Loia
of intelligent devices (sensors and actuators) able to enhance the quality of people life [1]. This is possible thanks to AmI systems ability in anticipating needs and desires to obtain safety, comfort and economy. Actually, AmI systems realize the prefixed requirements using the following features: • Context Awareness; • Multimodal Communication; • User-centered interaction. To give a more formal definition of Context Awareness [2], we can say that contextual information can be defined as an ordered multilevel set of declarative information concerning events occuring both within the sensing domain of a smart space and within the communication and action domains of the smart space itself. In particular, an event can be defined as the occurence of some facts that can be perceived by or communicated to the ambient intelligence environment. Different attributes can characterize an event: where (location), what (core), when (time), why (reason). The multilevel nature of contextual information is related to the possibility of detecting and representing events at multiple abstraction levels. Multimodal communication can then be defined as a simultaneous exchange of information over multiple channel at different levels of abstraction [3]. Human-to-human communication is intrinsically multimodal. Multimodal interactions in AmI systems allows the artificial system to engage in a similar dialog with the user, with the objective of exploiting the richness, robustness, and flexibility of face-to-face conversation. Designing an architecture supporting for a user-centered interactions, requires a high degree of flexibility and adaptation. In user-centered paradigm it is the system that tries to meet the user personal interaction style and not vice-versa as often happens. This paper reports our effort in the development of AmI applications able to accomplish the multi-channeled communication feature by using fuzzy logic and XML integrated into the Fuzzy Markup Language (FML) technologies [4]. Here we present new enhancements of FML in order to create a network of world-wide fuzzy controllers operating in the AmI environments in a remote and opportune fashion. In particular, the aim of proposed framework is to control an AmI environment by retrieving and computing the opportune fuzzy services from the Internet; the JAXB (Java Architecture for XML Binding) and Multi-Agent system paradigm allow to realize an
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
3
optimized FML compiler able to translate XML code into JAVA distributed application; the smart retrieval of the opportune FML fuzzy services is accomplished by means of a semantic search based on advanced web technology like RDF. The joint use of aforesaid technologies enables the fully automatic retrieval, compiling and computing of remote controller service. This extension represents a proposal for a simple and efficient ubiquitous fuzzy computing framework.
1.2 AmI Fuzzy Ubiquitous System Architecture An ubiquitous fuzzy computing system is able to integrate computation into the environment in order to enable the people to move around and interact with living environment more naturally than they currently do. One of the goals of ubiquitous fuzzy computing is to enable devices to sense changes in the environment and to automatically adapt and act according to user needs and preferences. In order to realize this goal different research topics have to be considered, in particular, distributed computing, sensor networks and computational intelligence. Computational intelligence approaches are useful to model the environmental context and the relationships among the events; distributed computing is requested to manage the environment in a transparent and remote way; Sensor Network technology is required to model the physical AmI environment. From this point of view the ubiquitous fuzzy computing system can be considered as a Distributed Service Oriented Architecture [5], where each service is designed by using fuzzy logic, implemented by using XML-Java technologies and retrieved by using knowledge-based searching algorithm. Figure 1 shows the overall view of proposed system. The framework can be considered as the collection of four subsystems: • • • •
Design Environment; Run Time Environment; Service Retrieval Environment; Fuzzy Controlled AmI Environment.
The Design subsytem is an XML-based framework able to model the AmI enviroment in a transparent and human-oriented way. The main technology used in this layer is FML (Fuzzy Markup Language). The Run Time
4
G. Acampora and V. Loia
Fig. 1. AmI System Architecture
subsystem is a Java-based system able to compute the AmI services defined by the Design subsystem. JAXB Web Services library represents the main component of the Run Time layer. Different services, modelled by Design environment and computed by the Run Time Environment, may be stored on different network hosts. This hosting is accomplished considering a semantic view of fuzzy services based on RDF (Resource Description Framework) technology. In particular, for each FML service, the Service Retrieval computes a related RDF semantic model usable to perform a simple retrieval algorithm able to extract the appropriate fuzzy service from the opportune remote location by using the RDQL language. The RDF storing and querying proposed in our framework is computed by means of the well-known RDF-oriented software architecture, named Sesame [6]. Fuzzy Controlled AmI environment defines the set of fuzzy controlled devices composing the Sensor Networks. The communication among the Run Time, Service Retrieval and the Fuzzy Controlled AmI environment is accomplished by using the Internet protocol suites (TCP/IP) and in particular the TCP sockets technology. From the communication point of view, the ubiquitous fuzzy computing framework may be considered as a Client/Server system where the clients are located in the Fuzzy Controlled AmI environment and the servers are hosted in Run Time and Service Retrieval environments. Within this scenario, it is possible to characterize three different computing entities: • AmI Clients: it is related to the Sensor Network and it is able to demand the appropriate fuzzy service to Retrieval Server;
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
5
• Retrieval Server: it hosts RDF fuzzy services models and it performs the retrieval fuzzy service algorithm. In other words, the Retrieval Server is a simple fuzzy virtualization of a Sesame server; • Run Time Server: it computes the remote fuzzy services. Figure 2 shows an high-level view of AmI Clients, Retrieval Server and Run Time Server. Next sections are delegated to define the AmI context representation and the details about the Design, Run Time, Service Retrieval and Fuzzy Controlled AmI environments; furthermore, we will address the transmission data protocols used to allow the communication among the different architectural environments.
1.3 AmI Context Representation In section I the AmI context has been defined as an ordered multilevel set of declarative information concerning events occurring both within the sensing domain of a smart space and within the communication and action domains of the smart space itself. In fact, an event occurring in the living environment can be considered from different abstractions levels and considering several event features as when the event has been generated, what generated the event, which it is the context in which the event has been
Fig. 2. System Abstract View
6
G. Acampora and V. Loia
Fig. 3. AmI context fuzzy rule
generated, etc., In order to model these information it is necessary to use theoretical concepts able to represent the different AmI context events in an optimal way. Fuzzy Logic and, in particular, the rules of a fuzzy controller can represent a direct translation of AmI context definition. In fact, considering a generic fuzzy rule it is possible to derive each event-related attributes of context definition (what, when, why, etc.) as shown in figure 3. FML is an attempt to extend fuzzy control theory towards ubiquitous computing. FML is a markup-based general approach to model the fuzzy concepts and the set of relations of an AmI environment by using a human-oriented syntax. Next section is devoted to show the details about FML and how FML can be used into the Design subsytem of our AmI framework.
1.4 Transparent Fuzzy Control for AmI Context Representation From a technological point of view, fuzzy control deals with the controller implementation on a specific hardware by using a public or legacy programming language. For this reason, independently from the complexity of the addressed application problem, the development time may be very expensive. In Ambient Intelligence (AmI) environments, where the ubiquitous computing represents one of the main features, the possibility of dealing with a considerable number of heterogeneous control hardware is very high so to constitute real impediment for a flexible and efficient control strategy. In order to solve this drawback, software layers, designed to control hardware details, are extremely useful. FML (Fuzzy Markup Language) is a software technology to create fuzzy oriented abstraction tools. FML is XML-based and its syntax is realized by using a set of tags representing the different components of a fuzzy controller. An instance of FML program is shown in listing 1.
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
7
Luminosity low hour morning dimmer medium ... Listing 1. FML SAMPLE PROGRAM
8
G. Acampora and V. Loia
1.4.1 FML and Transparent Fuzzy Control Since Zadeh’s coining of the term fuzzy logic [7] and Mamdani’s early demonstration of Fuzzy Logic Control (FLC) [8], an enormous progress has been done by the scientific community in the theoretical as well as application fields of FLC. Trivially, a fuzzy control allows the designer to specify the control in terms of sentences rather than equations by replacing a conventional controller, say, a PID (proportional integral-derivative) controller with linguistic IF-THEN rules. The main components of a fuzzy controller are: • • • • •
Fuzzy Knowledge Base Fuzzy Rule Base Inference Engine Fuzzification sub-system Defuzzification sub-system
The Fuzzy Knowledge Base contains the knowledge used by human experts. The Fuzzy Rule Base represents the set of relations among fuzzy variable defined in the controller system. The Inference Engine is the fuzzy controller component able to extract new knowledge from fuzzy knowledge base and fuzzy rule base. Extensible Markup Language (XML) [9] is a simple, very flexible text format derived from SGML (ISO 8879). Originally designed to meet the challenges of large-scale electronic publishing, nowadays XML plays a fundamental role in the exchange of a wide variety of data on the Web, allowing designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications, devices and organizations. If we use XML, we take control and responsibility for our information, instead of abdicating such control to product vendors. This is the motivation under FML proposal: to free control strategy from the device. The technologies used from FML are: • XML in order to create a new markup language for FLC; • XML Schema in order to define the legal building blocks of an XML document. Initially, FML relied on XML Document Type Definition (DTD) [10] because this approach is able to translate in a direct and simple way the
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
9
context free grammar theoretical concepts into a usable markup language speeding up the language definition. More recently [11] FML is defined by using XML Schema [12], a replacement of DTDs satisfying several additional properties as: • • • • •
XML Schemas are extensible to future additions; XML Schemas are richer and more useful than DTDs; XML Schemas are written in XML; XML Schemas support data types; XML Schemas support namespaces.
In other words, XML Schemas allow to create a well-defined markup language supporting the datatypes definition by using the XML syntax. The set of datatypes composing a fuzzy controller modelled by using the FML language is structured as an n-ary tree called FOM (Fuzzy Object Model). Reasoning in this way, it is possible to state that each FML program can be associated to an instance of a FOM tree. A portion of FOM is showed in figure 4. A portion of XML Schema generating the FML syntax is shown in listing 2. Currently, we are using FML for modeling two well-known fuzzy controllers: Mamdani and Takagi-Sugeno-Kang (TSK) [13].
Fig. 4. Fuzzy Object Model
10
G. Acampora and V. Loia FuzzyControllerMarkupProgram Fuzzy Concepts Collection FuzzyRulesCollection ... Listing 2. FML-XML SCHEMA
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
11
In order to model the Controller node of a fuzzy tree, the FML tag is created (this tag opens any FML program). uses three tags: type, defuzzifyMethod and ip. The type attribute allows to specify the kind of fuzzy controller, in our case Mamdani or TSK; defuzzifyMethod attribute defines the defuzzification method; ip can be used to define the location of controller in the computer network and, in the case of tag, it defines the first member of TCP endpoint pair. Considering the left sub-tree, the knowledge base component is encountered. The fuzzy knowledge base is defined by means of the tag which maintains the set of fuzzy concepts used to model the fuzzy control system. defines the fuzzy concept, for example Luminosity; defines a linguistic term describing the fuzzy concept, for example low; the set of tags defining the shapes of fuzzy sets are related to fuzzy terms. The attributes of tags are: name, scale, domainLeft, domainRight, type, ip. The name attribute defines the name of fuzzy concept (i.e. time of the day); scale defines how to measure the fuzzy concept (i.e. hour); domainLeft and domainRight model the universe of discourse of fuzzy concept in terms of real values (i.e. [0000, 2400]); the role of variable (i.e. independent or dependent variable) is defined by type attribute; ip locates the position of fuzzy knowledge base in the computer network. allows to build the rule base associated with the fuzzy controller. The other tags related to this definiton are: , , , CLAUSE>, , , . The meaning of these tags appears evident and is not necessary further detail here.
1.5 Run Time Environment The FML code, implementing the different controller, represents only an human-oriented and hardware-independent representation of a fuzzy controller, i.e., the FML programs cannot be computed in a direct way. In other words, it is necessary an FML compiler able to translate the FML model into a computable program. Different approaches may be used to realize the FML compiler as, for example, XSLT Stylesheet Translator, JAVA XML Parser (JAXP) or other XML-based translator technologies may be used. Actually, the FML compiler is based on the integration of different technologies able to instantiate a computable fuzzy controller: JAXB (Java Architecture for XML Binding) technology and TCP/IP suites protocol.
12
G. Acampora and V. Loia
1.5.1 Run Time Servers Technologies JAXB provides a fast and convenient way to bind XML schemas to Java representation, making it easy to incorporate XML data in Java application. In our framework JAXB allows to bind the XML schema related to FML to Java classes hierarchy. JAXB-based compiling may be considered as a translation among data structures and, in particular, among the FOM (derived from XML Schema) and JAVA classes hierarchy. The joint use of FML program and JAXB classes hierarchy allows to instantiate the Java objects representing the computable model of fuzzy controller. Next step is to tie the obtained stand-alone fuzzy control application in a TCP server in order to remote the fuzzy service and separate the real control from the controlled devices. From this point of view the joint use of FML, JAXB and TCP sockets designed to realize the Run Time Servers (see section 2) to apply the inference operators on the FML fuzzy controller representation. Run Time Servers allows to obtain a set of remote fuzzy services able to control different devices of AmI environment by using the intelligence and transparency concepts. In particular, these servers deal with the FML programs and the corresponding computable version and they are able to satisfy the demands coming from AmI Clients located in Fuzzy Controlled AmI environments. The TCP Servers implementing FML programs exploit the multi agent approach to distribute the fuzzy control flow by achieving a remarkable benefit in term of inference time, as largely discussed in [14]. In particular, the proposed multi agent system distributes the set of Java
Fig. 5. Multi-Agent System Performance
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
13
objects coming from JAXB translation on a computer network parallelizing the computation of fuzzy algorithm used to control the AmI device. Just to give a visual representation of this gain, Figure 5 shows how the multi agent approach reacts positively to the growing of the number of rules fired during an inference process. In particular, the Run Time Server implements a multi agent system by using TiLab Jade framework. Jade allows to instantiate a set of parallel computational entity, named agents, able to: 1. communicate between them by means of FIPA communication protocols; 2. migrate on different host in a parallel and strong way (code + status). The RunTime server uses three different kinds of agents in order to minimize the fuzzy inference time: 1. Registry Agent; 2. a set Transport Agent; 3. a set of Station Agent. The role of Registry Agent is to distribute the FML fuzzy rules implementing the fuzzy service on different hosts in order to minimize the inference time; the distribution approach of Registry Agent is based on a deterministic allocation of rules on the different hosts composing the multi agent system, i.e., if the FML code is composing by n rules and the multi agent framework is composing by m hosts, with n ≥ m , then the Registry Agent
n ⎥ rules for each hosts. will distributes at most ⎢ m ⎢ ⎥ The real distribution of rules is performed instantiating a set of Transport Agent. In particular, for each FML file the Registry Agent computes m FML files containing at most ⎥ n ⎥ rules and instantiates m Transport ⎥ m⎥
Agent TAi , with 1 ≤ i ≤ m. From this point, each Transport Agent TAi gets its portion of fuzzy service knowledge coded in FML way. The following step is to send the partial information contained into each Transport Agent on the m different hosts of multi agent system in a parallel way. This feature is obtained by using the native mobile property of Jade Agents. Once arrived to destination, the Transport Agent communicates its information (FML code) to the Station Agent by using a messages exchanging based on FIPA Request communication protocol. The Station Agents are a set of Jade Agents able to compute the FML code by using the approach defined in a previous section. In particular, once received the FML code from the Transport Agent, the Station Agent is able: 1) to translate the
14
G. Acampora and V. Loia
FOM related FML code into a hierarchy of a Java classes, instantiate a set of a Java objects, 2) to invoke an inference method on the instantiating Java object in order to compute the opportune output fuzzy set and communicates this result to Transport Agent by means of a FIPA message. Each Station Agent invokes the inference method in a parallel way. Once received the result data from the Station Agent, each Transport Agent migrates on the initial position (i.e., the Registry Agent host) where fuzzy (partial) information are merged by using the classical fuzzy union and defuzzification operators. The result of last operation is to obtain a crisp value representing the real value to input at the demanding AmI device. 1.5.2 AmI Clients The AmI clients, located in AmI environment, are simple TCP Clients which send the values read from Network Sensor to the RunTime Server; the client does not know the details about the fuzzy control and the details about the computer language implementing the inference operator on the Run Time server; it owns information only about a bidirectional data flow as detailed in the next subsection. 1.5.3 Client/Server Communication Protocol The Client/Server communication is performed by TCP Socket. This choice, if from a side is useful to achieve abstraction, from another involves a restriction: the client and the server have to be agree on the exchange data format. In particular, the server has to know, exactly, the data format coming from the client and vice versa. Our approach exploits the classic string data type to solve the problem. In particular, in order to exchange the sensors values and the inferred results, the client and server have to choose a special character to create a communication data string. While the client uses this character to compose a string containing the sensors data, the server uses the same character to create a string containing the deduced fuzzy control results. Client and Server, simply, have to split the received string in order to use the data in a normal fashion. Figure 6 shows the communication step performed during a control iteration. In order to compute the JAXB/TCP/FML Controller is necessary to create a TCP endpoint able to identify in a direct and unambiguous way the Run Time Server on the Internet. TCP defines an endpoint as a pair of integers (host; port), where host is the IP address for the FML Server host and port is a TCP port where the server is executed. The IP address depends from the network hosting the Run Time Server; the TCP port has to be defined in univocal
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
15
Fig. 6. Client/Server Fuzzy Inference
way to allow the FML clients to contact the Server without problems. The FML Server port is defined considering the concatenation of ASCII codes related to F, M and L characters modulo 65536 (available TCP ports) obtaining, in this way, the integer port number 12330. Some examples of FML/TCP endpoints are: (192.168.0.4; 12330), (193.205.186.85; 12330). If the server is able to manage more than one FML controller, then the server can use 12330 as lowest port number and use the following port numbers to identify the remaining controllers: (192.168.0.4; 12330) Lighting Controller (192.168.0.4; 12331) Temperature Controller (192.168.0.4; 12332) Window Blind Controller ... Information about TCP endpoint are integrate in FML programs by using the ip attribute of tag. According to this approach, the AmI clients have to know the appropriate FML endpoints to control the AmI environment in automatic and transparent way. In the next section an automatic knowledge-based FML endpoint search engine will be introduced. This engine is useful to create a fully automated ubiquitous fuzzy computing environment where the AmI clients retrieve the inference FML endpoints of appropriate fuzzy controllers in a not intrusive way.
1.6 Fuzzy Services Retrieval In previous section, a run time subsystem able to compute an opportune fuzzy controller in a remote and parallel way has been shown. The remote property of computed controller is performed by means of ip attribute of
16
G. Acampora and V. Loia
root tag of FML program, while, the parallelizing of fuzzy computation has been accomplished by using a multi agent technology. However, by using this computational approach it is necessary to know the controller endpoint before invoking its inference method. In this section will be presented a method, based on Semantic Web theories, able to retrieve the appropriate endpoint FML controller by using information about a set of sensor/actuator devices composing the AmI environment. In particular, the proposed framework offers the Fuzzy Services Retrieval subsystem, an FML-based semantic search engine used by AmI Client to find automatically the appropriate FML endpoint. The proposed endpoint search engine is located on Retrieval Server (see section 2) and it can be viewed in terms of three components: • AmI Client Sensor Network Knowledge; • Storing Algorithm; • Retrieval Algorithm. These components are distributed on the different hosts of proposed framework (defined in section 2) and, in particular, the AmI Client Sensor Network Knowledge is located on the AmI clients, while, the Storing and Retrieval algorithms are located on the Retrieval Server. The implementation of search engine is based on the idea of semantic search. In particular, this implementation has been accomplished by using the basic technology coming from the Semantic Web: the Resource Description Framework (RDF) RDF is a W3C recommendation that was originally designed to standardize the definition and use of metadata-descriptions of Web-based resources. However, RDF is equally well suited for representing arbitrary data like, for instance, fuzzy data. The basic building block in RDF is a subject-predicate-object triple, commonly written as P (S, O). That is, a subject S has an predicate (or property) P with value O. Another way consider this relationship is as a labelled graph edge between two graph nodes: [S] Æ P Æ [O]. The RDF Model and Syntax specification also proposes an XML syntax for RDF data models, i.e., each RDF model can be expressed by means of XML file. The usage of RDF in the ubiquitous fuzzy computing system allows to model the available FML fuzzy services exploiting the set of fuzzy relations existing among the different components of the fuzzy systems overcoming the semantic limitation of FML. The RDF models of fuzzy services and the related fuzzy relations represent the knowledge base of the AmI search engine running by Retrieval Server.
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
17
Fig. 7. Client/Server Fuzzy Inference
The Retrieval Server has been implemented using a RDF-oriented software architecture, named Sesame. Sesame is a software framework that allows persistent storage of RDF data and schema information and subsequent querying of that information. An overview of Sesame's architecture is shown in figure 7. In this section we will give a brief overview of the main components. For persistent storage of RDF data, Sesame needs a scalable repository. Naturally, a Data Base Management System (DBMS) comes to mind, as these have been used for decades for storing large quantities of data. In these decades, a large number of DBMS’s have been developed, each having their own strengths and weaknesses, targeted platforms, and API’s. Also, for each of these DBMS’s, the RDF data can be stored in numerous ways. As we would like to keep Sesame DBMS-independent and it is impossible to know which way of storing the data is best fitted for which DBMS or which application domain, all DBMS-specific code is concentrated in a single architectural layer of Sesame: the Storage And Inference Layer (SAIL). This SAIL is an application programming interface (API) that others RDF specific methods to its clients and translates these methods to calls to its specific DBMS. An important advantage of the introduction
18
G. Acampora and V. Loia
of such a separate layer is that it makes it possible to implement Sesame on top of a wide variety of repositories without changing any of Sesame’s other components. The Query module enables the Sesame users (people or systems) to infer new information starting from semantic model contained into different Sesame repositories. Different query languages can be used by Sesame users to ‘access’ at Sesame repositories: RQL, RDQL and SeRQL. The proposed AmI framework uses the RDQL language [15]. RDQL is a query language for RDF; its syntax is very similar to classic SQL language. RDQL is “data-oriented” in that it only queries the information held in the FML models; there is no inference being done. However, the RDQL system does not do anything other than take the description of what the application wants, in the form of a query, and returns that information, in the form of a set of bindings. In our AmI application, the RDQL queries are used to model information about AmI environment as depicted in the following section. 1.6.1 AmI Client Sensor/Actuator Network Knowledge The AmI clients have to model the controlled Sensor/Actuator Network in a formal way in order to communicate the opportune information to the Retrieval Server. A Sensor/Actuator network is a huge network of distributed devices using sensors/actuators to monitor/control conditions at different locations. It is possible to use a labelled tree data structure to model this network containing the following information: • Number of devices (level one); • Device information (level two); • Type (Sensor/Actuator); o Monitored/Controlled entity (for instance Temperature) and its scale (for instance Celsius degree); o Set of allowable value (for instance [−10°, 60°]). Figure 8 shows an instance of Sensor Network tree. The information contained in the labelled tree can be modelled in a machine-readable representation by using XML, as shown in listing 3. The XML model of AmI Client Sensor/Actuator Network Knowledge can be used by the Retrieval Algorithm to generate a set of semantic RDQL queries able to demand the appropriate FML service to the server.
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
19
Temperature Celsius Degree -10 60 …
…
Listing 3. AmI markup description
Fig. 8. Sensor Network Tree
1.6.2 Storing Algorithm The Retrieval Servers have to perform a semantic storing of FML controllers hosted on the server itself by using the RDF technology. The FML semantic storing is performed considering two different steps: 1. FML fuzzy services semantic translation; 2. FML Semantic storing into a Sesame Repository. FML fuzzy services semantic translation is necessary to extract the semantic information contained into FML files and model them by using RDF
20
G. Acampora and V. Loia
technology. The semantic translation can be accomplished in a simple a direct way by adopting the well-known XML-based tools. In particular, XSLT technology is used to define a simple function having as domain the set of fuzzy services modelled by FML and, as codomain, the set of semantic models of fuzzy services expressed by using RDF. In other words, the XSLT function computes a translation from the FML tree (the FOM) to the RDF graph. The resulting graph differs from the input FML tree in the number of edges composing the data structure. In fact, RDF graph shows, differently from the FML tree, a set of graph cycles representing the fuzzy relations among the fuzzy components modelled in the FML representation. Once obtained the semantic representation of FML service it is necessary to store it in the Sesame repository in order to enable the Sesame users (people or systems) to query information about the endpoint service by using the high-level Sesame SAIL API. Listing 4 shows a portion of a semantic view of a FML service; in particular, the listing shows the semantic definition of a fuzzy variable and a fuzzy rule. Both definition are obtained from a FML service description by using the XSLT translation. 192.168.6.59 windowControl closing percentual 0 100 output open false
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
21
RightLinearShape 0 25 …
22
G. Acampora and V. Loia
… Listing 4. The RDF Semantic Fuzzy Controller
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
23
The execution flow of the storing algorithm is shown in figure 9.
Fig. 9. The RDF Semantic Fuzzy Controller
1.6.3 Retrieval Algorithm The Retrieval Algorithm represents the computational kernel of the AmI Retrieval component. Its main aim is to find the appropriate fuzzy service able to control the environment by using the semantic information contained in the RDF description located on the Retrieval Server and the XML information coming from the AmI client interfaced with the related fuzzy controlled environment. The opportune fuzzy service can be found by comparing, in a semantic way, the information contained in the XML description of AmI environment with the triple set of RDF fuzzy service description. RDQL represents a fast and direct way to retrieve semantic information from RDF repositories. Its syntax is based on the classic SQL query language. Thus, the steps of retrieval algorithm are: • To accept requests from AmI clients in XML format; • To convert the XML information into a string representing an RDQL query; • To compute the RDQL query obtained in a previous step; • To return the FML endpoint information to AmI client. The Retrieval Servers communicate with the AmI Client by using the TCP Sockets. In particular, the Retrieval Servers listen the client requests on a prefixed TCP port, open a TCP socket communication with client, accept the XML information, compute the XML data and return the opportune endpoint value on socket. Once received the XML AmI description from the AmI client, the Retrieval server creates an XML file containing these information and uses it to compute the RDQL query. The transformation from XML to RDQL is accomplished by using the XSLT tool as shown in figure 10.
24
G. Acampora and V. Loia
Fig. 10. XML/RDQL Translation
In particular, the XML-RDQL XLT translation maps each XML entry into a RDQL query portion generated by using the following query template: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
SELECT ?endpoint WHERE ?x ?endpoint ?x ?y ?y ?z ?z NameOfVariable ?z ScaleOfVariable ?z TypeOfVariable ?z ?inf ?z ?sup AND ?inf=RightDomainOfVariable USING fml = “http://www.dmi.unisa.it/fml#”
Starting from the XML code presented in listing 3 the XSLT translation generates the following RDQL code: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
SELECT ?endpoint WHERE ?x ?endpoint ?x ?y ?y ?z ?z “Temperature” ?z “Celsius Degree” ?z “input” ?z ?inf ?z ?sup AND ?inf=60 USING fml = “http://www.dmi.unisa.it/fml#”
Row 1 represents the (eventual) return data of query computation, the FML endpoint, while, the query portion between row 3 and row 10 identifies the
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
25
parameters of input variable.This query portion is univocally defined for each XML request. The rest of query is obtained starting from the information contained into XML request. In particular, the row 3 is used to retrieve the Fuzzy Knowledge Base information from the RDF fuzzy model in order to analyze its components (the fuzzy variables). The analysis of each fuzzy variable is accomplished from row 4 to row 10. Particularly, rows from 5 to 9 are used to set the fuzzy variable name, scale, type and the universe of discourse coming from the AmI environment into RDQL query. Once realized the RDQL query, the retrieval algorithm uses the Sesame SAIL API in order to deduct new information from the RDF repositories. In particular, this information is represented from the endpoint of FML controller able to control the data contained into XML request. This endpoint, successively, is sent to the AmI client that which will uses it to interface the controlled AmI environment with the automatic remote fuzzy controller.
1.7 Final Considerations The interest of the scientific community in finding appropriate solutions to control large-scale systems has produced a uninterrupted flow of results in last decades, some of them involving fuzzy control. The task of effectively controllino large-scale fuzzy systems stimulates researchers in viewing the system as interconnected sub-systems each of them described by some fuzzy control model (see [16] for some recent works). However the problem to modelling a large-scale system is still nowadays difficult and expensive for practical scenarios [17]. Focusing on ubiquitous computing, a novel approach for realising the vision of ambient intelligence in ubiquitous computing environments has been recently discussed in [18]: the approach is based on intelligent agents that, using type-2 fuzzy systems, provide seamless, unobtrusive, adaptive and responsive intelligence in the environment. Only recently the scientific community is showing more attention to the problem of flexible and uniform utilization of sensors/actuators using advanced design approaches. In this direction a key role is played by markup languages or more in general, by formal conceptual description. In [19] the authors proposes an implementation of sensor network middleware using XML in order to achieve remarkable benefits for network transparency and flexible sensor management. In our work we try to couple these two important fields: flexible delivery of (control-based) services and Fuzzy Logic.
26
G. Acampora and V. Loia
References 1. 2.
3.
4.
5. 6.
7. 8. 9. 10. 11.
12. 13.
14.
15. 16.
17.
Vasilakos and W. Pedrycz, Ambient Intelligence, Wireless Networking, Ubiquitous Computing, MA, USA: Artech House Press, 2006. S. Piva, L. Marchesotti, C. Bonamico, C.S. Regazzoni, “Context Based Message Selection Strategies in a Biologically Inspired Ambient Intelligence System,” Brain Inspired Cognitive Systems, Aug./Sep. 2004. S. Piva, C. Bonamico, C.S. Regazzoni, F. Lavagetto, “A Flexible Architecture for Ambient Intelligence Systems Supporting Adaptive Multimodal Interaction with Users,” in Ambient Intelligence (Chapter 16), Edited by G. Riva, F. Vatalaro, F. Davide, M. Alcaniz, IOS Press, 2005. G. Acampora and V. Loia, “Fuzzy control interoperability for adaptive domotic framework,” Proc. 2nd IEEE International Conference on Industrial Informatics, Berlin, Germany, June 2004. Jammes and H. Smit, “Service-Oriented Paradigms in Industrial Automation,” IEEE Transactions on Industrial Informatics, vol. 1, no. 1, pp. 62-70, 2005. J. Broekstra, A. Kampman, and F. van Harmelen. Sesame: A generic architecture for storing and querying rdf and rdf schema. In The Semantic Web - ISWC 2002, volume 2342 of Lecture Notes in Computer Science, pages 54-68. Springer, 2002. L. A. Zadeh, “Fuzzy Set,” Information Control, vol. 8, pp. 338-353, 1965. E.H. Mamdani, “Applications of fuzzy algorithms for simple dynamic plants,” IEE, vol. 121, pp. 1585-1588, 1974. W3C Recomendation. Extensible Markup Language (XML) 1.0 III Edition. Online available: http://www.w3.org/TR/2004/REC-xml-0040204/. W3C Reference Report. Document Type Definition (DTD XML Specification). G. Acampora and V. Loia, “Enhancing the FML vision for the design of Open Ambient Intelligence Environment,” Proc. IEEE International Conference on Systems, Man and Cybernetics, Big Island, Hawaii, Oct. 2005, vol. 3 pp. 2578-2583. W3C Reference Report, XML Schema Specification. T. Takagi and M. Sugeno, “Fuzzy identification of systems and its application to modeling and control,” IEEE Transactions on Systems, Man, and Cybernetics, vol. SMC-15, pp. 116-132, 1985. G. Acampora and V. Loia, “Fuzzy Control Interoperability and Scalability for Adaptive Domotic Framework,” IEEE Transactions on Industrial Informatics, vol. 1, no. 2, pp. 97-111, 2005. RDQL W3C Member Submission. http://www.w3.org/Submission/RDQL/. W.-J. Wang, and W.-W. Lin, “Decentralized PDC for Large-Scale T-S Fuzzy Systems”, IEEE Trans. Fuzzy Syst., vol. 13, no. 6, pp. 779-786, December 2005. M.J. Sims-Marques. and F.J. Pires, “SINGRAR–A fuzzy distributed expert system to assist command and control activities in naval environment” Journal of Operational Research, vol. 145, no. 2, pp. 343-362, 2003.
An Open Ubiquitous Fuzzy Computing System for Ambient Intelligence
27
18. F. Doctor, H. Hagras, V. Callaghan, “A type-2 fuzzy embedded agent to realise ambient intelligence in ubiquitous computing environments,” Information Sciences, vol. 171, no. 4, pp. 309-334, 2005. 19. H. Noguchi, T. Mori, T. Sato, “Network middleware for utilization of sensors in room,” Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, vol. 2, pp. 1832-1838, 2003.
Agent-Controlled Sharing of Distributed Resources in User Networks
E. Costa-Montenegro(1), J.C. Burguillo-Rial(1), F. J. Gonzalez-Castano(1), and J. Vales-Alonso(2) (1)
Departamento de Ingenierìa Telematìca, Universidad de Vigo, Spain, {kike,jrial,javier}@det.uvigo.es (2) Departamento de Tecnologıa de la Informacion y las Comunicaciones, Universidad Politecnica de Cartagena, Spain, {Javier.Vales}@upct.es
Abstract In this chapter, we evaluate the feasibility of intelligent and distributed control of shared resources in user-managed networks. The user-managed network paradigm has become possible with the advent of broadband wireless networking technologies such as IEEE 802.11. In those networks, node cooperation can optimize the usage of shared external accesses to the Internet (set of links between the user network and the Internet). First, we provide an extensive introduction and the state of the art in related concepts such as multi-agent systems, user networks, peer to peer file exchanges and game theory. Then we present an evaluation of different agent-oriented distributed control schema, based on the concept of credit limits, on ideal mesh networks subjected to uniform traffic. Each node in the mesh network chooses to behave as a cooperator or a defector. Cooperators may assist in file exchange, whereas defectors try to get advantage of network resources without providing help in return. Finally, we present a realistic model of user network traffic and topology, and evaluate a new advanced agent-based distributed control scheme. The simulation results presented here confirm that it is possible to improve resource sharing in user networks using agents which check that file exchange services offered to neighbor nodes do not surpass appropriate credit limits and which take
E. Costa-Montenegro et al.: Agent-Controlled Sharing of Distributed Resources in User Networks, Studies in Computational Intelligence (SCI) 72, 29–60 (2007) www.springerlink.com © Springer-Verlag Berlin Heidelberg 2007
30
E. Costa-Montenegro et al.
decisions autonomously from local information. As an external validation of our work, we have observed that popular P2P protocols like eMule, Kazaa and BitTorrent have been evolving towards the same credit-oriented strategies discussed in this chapter.
2.1 Introduction User networks are totally controlled by the users, both at application and transport level. This paradigm has become possible with the advent of broadband wireless networking technologies such as IEEE 802.11, which allow for a fast and inexpensive network deployment. Figure 1 shows the concept of user network, built up of several nodes interconnected with highcapacity links. For applications such as peer-to-peer (P2P) file exchange [1], it may be useful to consider the “external” access to the Internet (set of links between the user network and the Internet shown in Figure 1) as a shared resource that can be optimized by node cooperation (i.e., if a node cannot serve its demand with its own external link, it requests help from another node via the high-bandwidth internal user network). Nodes decide if cooperation requests are granted or not, either by analyzing limited
Fig. 1. User network with shared Internet links
Agent-Controlled Sharing of Distributed Resources in User Networks
31
information on their neighbors states or only based on their own experience. In this work we aim at analyzing the conditions that enable cooperation in real user networks. In principle, it should trivially hold that cooperation enhances overall network performance. However, a small population of intrinsically non-cooperative users may lead to massive defection, since node agents decide their course of action from local information (as real users do).We could impose several conditions leading to node cooperation that would never hold considering user behavior in peer-to-peer file sharing services. Thus, the local decision algorithm of cooperation-prone nodes is the key issue to optimize the user network. We have developed a framework based on game theory [19] to analyze the node behaviour and to provide results that explain the conditions for cooperative nodes to win the game, i.e., to become a majority. This framework helps us to accurately model the cooperation-defection problem, and to test possible agent strategies, yielding to global resource sharing and improving network performance. In order to hide the complexities of bandwidth sharing in the file-sharing application, we have modelled the user network as a game where cells (i.e., user nodes) choose between two different basic strategies: cooperation and defection. Cooperators assist neighbor cells in Internet file exchange (up to a given credit limit), while defectors do not offer help to neighbors (though they request help for their demands). Thus, defectors represent non-cooperating users, a typical problem in P2P networks, also known as “free-riders” [3]. As we will demonstrate, considering the spatial structure of the population, and restricting interaction to the local neighborhood, a stable spatial coexistence of cooperators and defectors becomes possible under certain conditions. Additionally, we will show that network performance strongly depends on the initial credit limit selected. Based on these results, we propose a feasible strategy for network stabilization based on user agents, which dynamically adapts their credit limit. Results show a notable capacity to minimize the impact of the cooperators/defectors rendezvous in the geometrical network scenario. Such strategies can be further adapted to other situations. For instance, the evolution of popular P2P protocols indicates they tend to take advantage of the same technique we proposed to set limits to cooperation, as a safeguard against defectors: each node sets credit limits for its peers. For example, this is the case of eMule [4], Kazaa [5], BitTorrent [6]. Thus, our assumption is realistic. Therefore, our goal is twofold. First, to show that agent-based cooperative nodes may become a majority in user networks, improving resource sharing, and second, that those agent-based nodes can easily learn to avoid free-riders by using adaptive credits. The chapter is organized as follows: section 2 describes user-managed networks. Section 3 describes
32
E. Costa-Montenegro et al.
peer-to-peer models and relate them with usermanaged nets. Section 4 briefly introduces some basic concepts of game theory. Section 5 introduces multi-agent systems. Section 6 proposes different strategies, a node topology, and behaviors that will be used as an approach in solving the problem of sharing distributed resources in user networks. Section 7 shows previous results obtained using a cellular automata approach. Section 8 describes the multi-agent approach to solve the same problem, and section 9 introduces a more realistic user network approach. Finally, section 10 presents the conclusions of this chapter.
2.2 User-Managed Networks User-managed networks have become possible with the advent of wireless technologies such as IEEE 802.11 [7]. They represent one of the last stages in network control evolution [8]. This evolution started with telephone networks.In them, Telcos controlled both transport and applications. Later, the Internet allowed users to control applications. Although Telcos still control transport in most of the Internet, in some scenarios carrier technology is affordable to end-users, and user-managed “islands” appear in a natural way [9, 10, 11]. For example, this kind of infrastructures is currently being used to provide broadband access in Spanish rural areas, as an expansion of DVB-S or DVB-T gateways. In addition, there exist ideas to turn user WiFi communities into commercial Telcos (for instance, the FON network [65]). FONnetwork participants share resources (up to 40% of their wireless bandwidth) to build the network infrastructure, allowing external customers to connect to the network. As a reward, FON participants receive a share in the benefits and can access any network resource for free. This kind of network solutions may eventually yield to fully usercontrolled and operated networks. It can be argued that sharing Internet accesses may be illegal. However, parasitism of operator resources is widespread and deserves academic attention. Consider, for example, the case of web caching [2], a P2P-boosting technique that exploits operator infrastructure by mimicking non-P2P network services at port level. A typical basic node in a wireless user-managed network is composed by a router, an access point (AP) and/or some wireless cards to set links with other basic nodes. Basic nodes may also be linked to a multi-user LAN (covering a building, for example). For the sake of clarity we assume that all basic nodes are “externally connected”. Additionally, we assume that user network capacity is larger than external access capacity (this holds for reasonable internal and external networking technologies, for example
Agent-Controlled Sharing of Distributed Resources in User Networks
33
IEEE 802.11g and DSL respectively), and so the internal network always has spare capacity. In a user network, basic nodes can easily share contents, due to the large internal bandwidth. The bottleneck is the set of “external” connections to the Internet. By optimizing their usage, overall performance (and, as a consequence, user satisfaction) can be greatly improved. By network stability we refer to the condition such that external demands (e.g., downloads or uploads at the edges of the user network for peer-topeer file exchanges) can be satisfied with external capacity, on average. This certainly holds if: 1. The external demand of each basic node can be satisfied with its own external capacity, on average, or 2. All the basic nodes cooperate via the user network and their combined external demand can be satisfied with their combined external capacity, on average. Even if the first condition holds (and therefore cooperation is not strictly necessary to guarantee network stability), cooperation minimizes demand service time (nodes with temporarily idle external connections can help neighbors with demand peaks). However, there is no central authority, and selfish nodes will probably try to maximize their performance. This issue has demanded academic attention. For instance, in [46] it is demonstrated that, when users make noncooperative decisions, there is room to improve network performance. The authors analyze the problem of network equilibria and propose solutions to enhance performance during both the provisioning phase of the network and run-time. As in our work, they apply game theory to the study of the network. Another related work is [47], where several selfish share a communication network. Each user seeks to optimize its own performance by controlling the routing of its flow demand, which corresponds to a noncooperative game. The authors investigate the Nash equilibrium of those systems.
2.3 Peer-to-Peer Models Peer-to-peer architectures scale and self-organize themselves in the presence of a highly variable population of nodes, with network and computer failures, without the need of a central server and the overhead of its administration. The inherit characteristics of such architectures typically are scalability, opposition to censorship and centralized control, as well as increased access to resources. Administration, maintenance, responsibility for the operation, and even the notion of “ownership” of peer-to-peer systems are also distributed among the users, instead of being handled by a single company, institution or person [45]. These characteristics make P2P systems ideal to support diverse distributed applications. Namely,
34
E. Costa-Montenegro et al.
• Distributed Computing. This category includes systems whose aim is to take advantage of the available peer computer processing power (CPU cycles). Computer-intensive tasks are divided into small work units and distributed among the peers. Some examples are Seti@home (presently under Boinc infrastructure) [55, 56], genome@home [53, 54] or Condor [57]. • Direct Communication. P2P has also been employed for direct real-time communication between peer users. Examples include chat and instant messaging applications, such as chat/IRC, instant messaging applications and discussion boards [13]. • Distributed Databases. They provide the infrastructure and querying capability for peer-to-peer databases. Some examples are [48, 58, 51, 59]. • Content Distribution. Certainly, the killer-app of P2P computing is file sharing. Some well-known examples are eMule [4], Kazaa [5] or BitTorrent[12]. • Internetworking. To this category belong peer-to-peer services like multicast systems [60, 49], overlay routing [14], internet indirection infrastructures [61], and security applications providing protection against denial of service or virus attacks [62, 63, 64]. In all the previous examples, the P2P model improve resource sharing. Although cooperation can be a useful strategy, it consumes node resources and degrades performance of user equipment. Since rational selfish peers always try to improve their performance, they can refuse to supply service to others when they do not have clear incentives. Then, the “Tragedy of Commons” [15] may appear leading peers to generalized defection. Its main cause in P2P networks is free-riding [3]. Discover free-riding users in P2P systems is difficult for several reasons [16]: • Large population and high turnover: P2P applications have many users and many of them are short-lived. • Asymmetry of interest: transactions lack reciprocity. • Zero-cost identity: nodes can change their identity at no cost. • Lack of history: a node cannot keep all the identities of all peers with past transactions. • Unawareness of others: peers ignore the transactions by other peers. These conditions are the main cause of free-riding in P2P systems. In order to solve them several incentive mechanisms have been proposed. Previous works can be classified in two categories: token-based schemes [17] and reputation-based schemes [18]. The management of system-specific currencies for the former becomes complex as the network grows and a centralized
Agent-Controlled Sharing of Distributed Resources in User Networks
35
secure credit authority becomes necessary. This mechanism, based on shared transaction history, is vulnerable to collusion attacks, when several defectors claim to have received service from other defectors. The MaxFlow algorithm in [16] solves this problem but it is quite expensive and requires extra information to construct the graph. On the one hand, considering user networks, we observe that they share a number of problems with general P2P systems: large population, asymmetry of interest and unawareness of others. On the other hand, fixed nodes in user networks do not always deal with high turnover, zero-cost identity and lack of history. These problems may appear if we consider mobile user networks with dynamic connection establishment. We will not consider this issue in this chapter.
2.4 Game Theory Game theory [19] provides useful mathematical tools to understand the possible strategies that selfish agents may follow when they choose a course of action. The simplest type of game is the single-shot simultaneous-move game. In it, all agents must choose one action and all actions are effectively simultaneous. Each agent receives a utility that is a function of the combined set of actions. In an extended-form game, agents participate in turns and receive a payoff at the end of a sequence of actions. In general, a singleshot game is a good model for many distributed systems, with encounters that require coordination. The context of cooperative games and cooperation evolution has been extensively studied in biological, social and ecological contexts [20], seeking general theoretical frameworks like the Prisoner’s Dilemma (PD). In his seminal work, Axelrod has shown that cooperation can emerge in a society of individuals with selfish motivations [21]. For a review of related work in the last twenty years see [22]. Game Theory and the Generalized Prisoner’s Dilemma have been applied to solve incentive problems in P2P systems. Examples can be found in [16] and BitTorrent [12] itself has considered an alternative of the Tit-for-Tat strategy [21]. BitTorrent proposes a Bit-for-Bit incentive mechanism, where peers receive as they contribute. In a simulation environment with many repeated games, persistent identities and no collusion, Axelrod [21] shows that the Tit-for-Tat strategy is dominant. Even regardless of its simplicity, in case of peers with asymmetric network bandwidth this mechanism degrades the performance of the whole system.
36
E. Costa-Montenegro et al.
2.5 Multiagent Systems Before introducing multiagent systems (MAS), we need to define what we understand by an agent. Unfortunately, there is no general agreement in the research community. Therefore we introduce here a classical one [23]: “the term agent is used to denote a hardware or (more usually) software-based computer system that mainly enjoys the following properties”: • Autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state; • Social ability: agents interact with other agents (and possibly humans) via some kind of agent-communication language; • Reactivity: agents perceive their environment, and respond in a timely fashion to its changes; • Pro-activeness: agents do not simply act in response to their environment, they are able to exhibit goal-directed behavior by taking the initiative. There are some other attributes that can be present, but usually they are not considered as a requisite: mobility, veracity, benevolence, rationality and adaptability (or learning) [23]. To simplify, an agent is any entity that can perceive its environment through sensors and change it with actuators [24]. Agents coexist and interact with other agents in different ways. A system consisting of an interacting group of agents is called a Multiagent System (MAS), and the corresponding subfield of AI that deals with principles and design of MAS is called Distributed AI. In Software Engineering, MAS technology is viewed as a novel and promising paradigm. A complex software system can be treated as a collection of many agents, each one with its own local functionality and properties, achieving total system functionality. Some of the benefits of MAS technology in large scale software systems are [25]: • Speedup and efficiency, due to asynchronous and parallel computation. • Robustness and reliability, in the sense that the whole system can undergo a “graceful degradation” when one or more agents fail. • Scalability and flexibility, since it is easy to add new agents to the system. • Cost, assuming that an agent is cheap compared to the whole system. • Development and reusability, since it is easier to develop and maintain a modular than monolithic software.
Agent-Controlled Sharing of Distributed Resources in User Networks
37
So far, multiagent systems have been applied in different domains. Some examples are: • Social sciences, where MAS technology is used for simulating interactivity and other social phenomena [21, 26, 27]. • Distributed data mining and information retrieval [28]. • Virtual reality and computer games use agents to implement intelligent behavior [29]. • In robotics, a common application is to manage a group of robots to locate themselves to navigate through their environment [30]. • Internet auctions and e-commerce [31, 32]. But these are just some examples, since MAS have also been applied to control, scheduling and planning of manufacturing, air traffic management, medicine, e-Learning, telecommunication management, etc. The interested reader can find examples of MAS applications in these domains in some recent books [33, 34, 35, 36].
2.6 Strategies, Node Topology and Behavior In this chapter we define a composite spatial game where actions are effectively simultaneous but agents may interact with several neighbors at a time. Every agent receives a data throughput payoff every turn. The better the strategy in the context, the better the payoff, i.e., the higher the throughput. Note that the payoff of a given agent depends on the choices made by the rest. After a predefined set of turns (24 hours = one day), each agent i chooses a strategy si ∈ S , where S is the set of all strategies. The agent will keep this strategy for 24 hours. We assume that, each hour, if the queue length of a cell exceeds a defined threshold, the agent ruling that cell requests help from its neighbors for every pending file (incoming or outgoing). Neighbor agents may grant their external connections or not, depending on their present state and strategy. We implement help transactions using the Contract Net Protocol: every neighbour answer with an offers or a refusal. The requesting agent selects the offering cell that provided the best average throughput in the past. We model the different strategies of cooperation and defection as follows: • Cooperation: a cooperator always helps its neighbors without limit. Cooperation models altruist users in P2P networks. • Cooperation with Credit Limit: a cooperator helps its neighbors up to a certain fixed credit limit (denoted by CreditLimit). If cell j reaches its
38
E. Costa-Montenegro et al.
credit limit, cell i does not help j again unless j returns its debt by helping i when requested. • Agent-based: a node following this strategy will individually and dynamically adapt its CreditLimit value to optimize the interaction with its neighbors. • Defection: a defector never helps, so it will never grant its external connection. Nevertheless, defectors ask their neighbors for help when they need it. Thus, they use shared resources opportunistically as many users do in P2P networks (free-riders). Concerning cell demand distribution, depending on the model we have used two or three cell types denoted by A, B and C. Different cell types have disjoint busy periods during the day, as we will explain in next sections. For the spatial distribution of the nodes we consider a twodimensional square lattice consisting of N nodes. Each node will follow one of the basic strategies. Figure 2 shows a cell node i with a strategy si and two possible neighborhoods. In the model discussed in the section 7, every cell (i.e., node) in the square lattice will interact with its neighbors to handle external traffic. Thus, there are both local and spatial interactions between neighbor cells.
Fig. 2. Node Ni and two possible neighborhoods (first with 4 nodes Ni1 to Ni4, and second with 12 nodes Ni1 to Ni12)
Agent-Controlled Sharing of Distributed Resources in User Networks
39
If we let every node in the system to interact with the remaining N−1 nodes, we have a panmictic population. However, in real user networks each node interacts with only a few neighbors. Thus, we consider that each cell I only interacts with the K cells in its immediate neighborhood. Interaction is driven by demand service times of externally inbound or outbound data, i.e., when the external service queue of a node is larger than a particular threshold, the node request help from its neighbors to handle the files involved. In order to introduce a time scale, the time unit to generate new traffic demands and for neighbors to interact is an hour. The total number of interactions per hour can be K × N or less. We decided that, during a 24-hour timeframe (a day), the strategy si of an node does not change, so it plays a series of single shot games. We also decided to consider a day as the minimum time unit for strategy changes, since traffic patterns are similar in the same hours in different days. After a day passes, si can change as described next for two scenarios: ●
Imitation scenario This scenario somehow models real situations where people exchange information about decisions with their neighbors and imitate some of them. The main interest of this scenario is to provide insight on what happens if there is information sharing. It is very popular in many prisoners dilemma spatial games [16, 37]. This scenario allows to determine if cooperation is feasible or not. Therefore, it allows us to predict the most popular strategy in a game with shared information. It assumes that every node may know the previous strategy chosen by its K neighbors at the end of the day. Node i mimics the strategy of its “best” neighbor k with the best worst-case hourly throughput during the last day (out of 24 measurements). We decided to compare hourly rather than daily throughput to let user satisfaction be based on a compromise between worst-case and average experience. At the end of every day d, node i calculates
x = argmax x ∈ K (min h ∈ d (th(h, x)) where th(h, x) is the throughput of neighbor x during hour h. Then, node i mimics the strategy of node x. Obviously, it keeps its previous behaviour if the most successful node followed the same strategy. • Isolated scenario This scenario models the situation where nodes do not have information about decisions taken by their neighbors and simply use their own
40
E. Costa-Montenegro et al.
experience from the past to choose their future strategy. Each node compares its worst-case throughput during the last day (out of 24 hourly measurements per day) with the average values it obtained in the past with the alternative strategies, and employ a given algorithm to decide the strategy for the next day.
2.7 A Simple Cellular Automata Approach In this section, we will summarize diverse interesting characteristics of the spatial game obtained when we used stochastic cellular automata in the simulations [37, 39]. A cellular automata is a discrete model that consists of a regular grid of cells, each one with a finite number of states. Time is also discrete, and the state of a cell at time t is a function of the states of a finite fixed set of cells (called its neighborhood) at time t−1. These neighbors are a selection of cells relative to the specified cell, and do not change. Every cell follows the same rule for state updating, based on the values in its neighborhood. Each time the rules are applied to the whole grid a new generation of states results. Starting with an initial random distribution of cooperators and defectors, several spatial domains appear, each of them dominated either by cooperators for defectors. Also, we noticed that, in the long run, the percentages of cooperators and defectors become stationary. As previously said, all case studies take place in a completely symmetric user network. Each cell is linked to K neighbors (we have considered two cases K = 4 and K = 8). The relevant settings for our application are: • There are (50 × 50 = 2,500) cells in the user network. • Demand distribution settings are: o Busy period: the cell generates uniformly distributed demand service times with a mean of 8 units during 12 hours a day. o Quiet period: analog to the previous case, with a mean of 1 unit during the remaining 12 hours. • External links have a bandwidth of 5 demand units per hour. Note that this is slightly above the average demand (0.5 × 8 + 0.5 × 1 = 4.5), and therefore external capacity is loaded. • Cell demand files have a maximum size of two demand units. • At time origin, we assign the two node strategies (cooperation with Credit Limit or defection) and the two node traffic patterns (A or B) with equal probability.
Agent-Controlled Sharing of Distributed Resources in User Networks
41
• Every node (including defectors) asks its neighbors for help if it generates over 5 demand units per hour. • Two scenarios: Imitation scenario (as defined in section 6) and Isolated scenario, where each node is a stochastic automaton with two states corresponding to the two possible strategies. Each node compares its worstcase throughput during the last day (out of 24 hourly measurements per day) with the average values obtained in previous history by the other strategy. If its throughput is better than the average value achieved by the alternative strategy, then the node linearly increases the probability to select the current strategy si for the next game (i.e., day). We use the linear reinforcement scheme for stochastic automata detailed in [38]. At the end of every day d, node i calculates. Then: o If f(i, d) is strictly higher than the daily average values of f up to that moment when following the alternative strategy, then: Probsi [d + 1] = Probsi [d] + 0.1(1 − Probsi [d]) Prob−si [d + 1] = 0.9Prob−si [d] (−si denotes the alternative strategy) –
The strategy for the next day is selected according to probabilities Probsi (d + 1) and Prob−si [d + 1].
Initially, we ran our simulations with a single cell type (A or B). In this case, defectors became a majority. We expected this result, since all the cells are typically busy at the same time of the day and, as a consequence, cooperation is not rewarding. When we considered two cell types (A and B), we observed the following: Let perc_C and perc_D be the percentages of cooperators and defectors at simulation end, respectively. It happens that perc_C >> perc_D in permanent state if cooperators choose CreditLimit wisely. The larger the value of perc_C, the larger the global network throughput. Roughly, this holds for CreditLimit between 10 and 30 in all cases. Figures 3 and 4 show the percentage of cooperating cells after 2400 simulated hours, in the imitation and isolated scenarios respectively. Cooperation success as a function of CreditLimit suggests that, in an agent-based implementation, agents should adjust CreditLimit dynamically, according to their context and internal queue considerations. ● Although cooperators and defectors are completely mixed at simulation start, cooperators tend to form confederations. This spatial distribution ●
42
E. Costa-Montenegro et al.
tends to become stable. Figures 5 and 6 show the evolution of the percentages of cooperators and defectors in the imitation and isolated scenarios. ● The choice of CreditLimit is specially critical in the imitation scenario: if cooperators are too conservative (low CreditLimit) or too generous (high CreditLimit), cooperation is less successful than defection. However, in the isolated scenario, this effect is only evident if cooperators are conservative. A possible explanation for the result in the imitation case is that, for CreditLimit with low values around 10, defectors can only fool cooperators at the beginning of the game, since debts have to be promptly returned. If cooperators are too generous, defectors fool them completely. On the other hand, if cooperators are too conservative, their behavior approaches that of defectors. ● The peak of cooperation success is lower in the isolated case. This is logical, since nodes do not share information. In any case, we show that even the simple stochastic automata in the isolated scenario gets close to the cooperation peak in the imitation scenario.
Fig. 3. Percentage of cooperators after 2400 hours, imitation scenario
Agent-Controlled Sharing of Distributed Resources in User Networks
43
Fig. 4. Percentage of cooperators after 2400 hours, isolated scenario
Fig. 5. Evolution of cooperators (C) and defectors (D) (K = 4, CreditLimit = 7.5, 100 days imitation scenario)
44
E. Costa-Montenegro et al.
Fig. 6. Evolution of cooperators (C) and defectors (D) (K = 4, CreditLimit = 7.5, 200 days, isolated scenario)
2.8 A Basic Multi-Agent Approach From the previous section we realize that cooperation can be considered a successful strategy in user networks. In this section we adapt the simulator to explore more complex strategies following a multi-agent approach. 2.8.1 Strategy Types In this approach we model three different strategies as follows: Defection: a defector never helps but asks their neighbors for help. A defector models a free-rider. ● Cooperation: a cooperator always helps its neighbors without limit. Cooperation models altruist users in P2P networks. ● Agent-based: a node following this strategy will dynamically and individually adapt its CreditLimit value to optimize the interaction with its neighbors. As previously said in section 6, we implement help transactions using the Contract Net Protocol. ●
Agent-Controlled Sharing of Distributed Resources in User Networks
45
2.8.2 Network Traffic For the purposes of this section, we consider three types of nodes: A, B and C. They generate demand service times (externally inbound or outbound data) during disjoint busy and quiet periods: A nodes: The busy period lasts from hours 0 to 8 with uniformly distributed demand service times with an average of 8 units. The quiet period has an average of 1 unit during the remaining 16 hours. ● B nodes: The busy period lasts from hours 8 to 16 with an average of 8 units. The quiet period has an average of 1 unit during the remaining 16 hours. ● C nodes: The busy period lasts from hours 16 to 24 with an average of 8 units. The quiet period has an average of 1 unit during the remaining 16 hours. ●
With these node types we model the three typical behavior of Internet users: (A) for late night users (p.e. students), (B) for daily work users (p.e.commercial nodes); and (C) for leisure-time users (workers at home). We also choose an average of 8 units during the busy period, which exceeds a bit the service time per hour (5 units). The global service demanded per node in a day averages (8x8+1x16 = 80), which is less than (24x5 = 120). So we fulfil the two conditions necessary for network stability, described in section 2. 2.8.3 Simulation Scenarios We consider again two simulation scenarios: Imitation scenario: this is the same scenario in section 6. The only difference is that agents learn the CreditLimit value as described later. ● Isolated scenario: We take a similar approach to the one in [40]. We consider that every agent stores a vector with the number of times NTi that agent i has employed every possible strategy. We define a strategy efficiency estimator as: ●
EE i (s,d + 1) := α × f (i,d ) + (1− α ) × EE i (s,d ) where f (i,d ) = min h ∈ d (th(h,i)) represents, the minimum throughput value (th) obtained by agent i during any hour of that day. We consider the worst throughput, as users try to improve their worst conditions. The α parameter is given by the formula:
46
E. Costa-Montenegro et al.
α =w+
1− w NTi (s)
Being NTi(s) the number of times that agent i uses the strategy s and w is a real-valued constant. We set w = 0.3 considering the results described in [40]. The term (1−w)/NTi(s) is a correcting factor, which has a major effect only when NTi(s) is low. When NTi(s) grows this term becomes negligible with respect to w. To select the new strategy for the next day we need a probability distribution. Initially, we force every agent to test every possible strategy at least once. Then we perform:
EN i (s) = EE i (s,d + 1) n where n is a positive real-valued parameter. To turn this into a probability, for every strategy si ∈ S :
Probi (s) =
EN i (s) : ETi
Being ETi = ∑S EN i (s) the normalization factor. Then clearly ENi (s) bias the selection towards strategies that have performed well in the past. The strength of the bias depends on n; the larger the value of n, the stronger the bias. With high values of n (e.g., n > 20) the agent will always choose the strategy with the best record. But as explained in [16], this option does not allow the agent to explore other strategies when there are changes in the context. Therefore we set n = 10. 2.8.4 Learning CreditLimit By using an agent-based strategy we want every node to learn the best CreditLimit it should apply considering its traffic conditions and its context, i.e., the surrounding neighbors and the interaction with them. The agent has a short time to explore the space of values of CreditLimit (CL), since a delay in the convergence to the right value could cause throughput loses. In this framework, we consider that genetic algorithms perform well, and they are simpler than other optimization techniques [41]. An evolutive algorithm considers a population that evolves on three phases: couple selection, crossover and sporadical mutation. We considered the following simple evolutive algorithm: 0. Every agent takes one random sample in every interval: [1, 10], [10, 20], [20, 30], [30, 40], [40, 50].
Agent-Controlled Sharing of Distributed Resources in User Networks
47
1. The agent chooses the best values of CreditLimit (CL1, CL2) obtained and they become the selected couple. The other CL values are forgotten. 2. The newborn CL3 is a linear combination (crossover) of its parents: CL3 = CL1 + (1 − x) CL2 where x = rand (0, 1). 3. Mutation: IF (rand (0, 1) < 12/Hours Elapsed) THEN CL3 = CL3 + rand (−5, 5) 4. If CL3 is better than CL1 and CL2 then the worst parent is replaced. 5. Return to step 2. Note: In step 3, the first check takes 24 hours, and so the probability is less than 1. We also limit the CreditLimit value range to [1, 50] after considering larger intervals that were not used by the agents but introduce search delays. 2.8.5 Simulation Results Now we present the results of the simulations performed with our Java User-Net simulator (freely avaliable on demand). We considered a cell lattice of (25 x 25 = 625) cells in the user network. We also considered the initial asignament of the 3 types of nodes and the 3 strategies equally probable. Every node neighborhood has 4 nodes as described in figure 2. Imitation scenario Figure 7 shows the results of the evolution of cooperators, defectors and agent-based nodes in this scenario after 100 days. Initially, the defectors (middle curve) reach a value near 50% of the population, but at the end their percentage to become zero. None of the naive cooperators were successful. Only the agent-based strategy becomes useful. Agent-based nodes are a majority by imitation. Figure 8 shows the spatial distribution of defectors (D, dark cells), agentbased strategies (A, less dark cells) and cooperators (C, lighter cells) after 20 days in this imitation scenario. Cooperators may survive for a while in the presence of agent-based strategy nodes as they receive certain amount of cooperation, but they are very sensible to the attack of defectors. Nodes with agent-based strategy try to stay together to avoid defectors and become successful in the long term as shown if figure 7. Concerning the value of CreditLimit the agents learn, in our simulations the average value obtained is 22.5 (in 10 runs) with a variance of 12.6, and most of the values fall in the interval [5, 30]. This is coherent with the cellular automata results in section 7. Figure 9 shows a throughput comparison among the three strategies. It can be seen that the agent-based strategy performs in
●
48
E. Costa-Montenegro et al.
average much better than the others, but cooperators achieve a higher throughput peak sometimes. Their oscillation is also higher depending on whether they have defectors in the surroundings or not. Isolated scenario Figure 10 shows the frequency evolution of the strategies along 50 days. The agent-based strategy becomes the most popular followed by defection. Cooperators still survive, linked to or surrounded by agent-based nodes as shown in figure 11, where darker cells are defectors, lighter ones cooperators and less dark ones agent-based nodes. In fact, agent-based nodes form somehow a skeleton to group co-operators around them with defectors surviving isolated and mainly exploiting cooperators. The value of CreditLimit the agents learn had an average of 20.8 (in 10 runs) with avariance of 11.2, and most of the values fall in the interval [5, 30]. Figure 12 shows the throughputs the three strategies achieve. In the beginning defectors have better results because they exploit cooperators and waste the CreditLimit provided by agent-based nodes. Then, after 400 hours (around 17 days) cooperators and (mainly) agent-based nodes get
●
Fig. 7. Evolution of cooperators (C), defectors (D) and agent-based (A) nodes (K = 4, 100 days, imitation scenario)
Agent-Controlled Sharing of Distributed Resources in User Networks
49
Fig. 8. Spatial distribution of cooperators (C), defectors (D) and agent-based (A) nodes (K = 4, 20 days, imitation scenario)
stronger. In the end, defectors perform half-better than the others. Therefore, learning nodes chose the agent-based strategy as the most effective to avoid defectors (i.e., free-riding) and to improve their daily throughput.
2.9 A More Realistic Multi-Agent Approach In this section we consider more realistic probability distributions for requests and user network topologies and compare our results with the scenarios presented in previous sections. 2.9.1 Considerations on User Network Topology and Traffic To model a realistic user network topology with P2P traffic, we employ the IEEE 802.11 user network deployment algorithm in [42]. Figure 13 shows a resulting user network in Vigo (Spain), with 46 node locations and the corresponding wireless links for near maximum network bandwidth (AP channel cellular planning as in [43], for 50x50 m2 cells).
50
E. Costa-Montenegro et al.
Fig. 9. Throughput comparison of cooperators (C), defectors (D) and agent-based (A) nodes (K = 4, 100 days, imitation scenario)
Regarding traffic, we model elapsed times between node demands of P2P chunk transfers (either incoming our outgoing) by means of Pareto distributions, following the well-known result in [44]. The exact settings are provided later. 2.9.2 Control Strategies, Scenarios and Settings In this scenario, each node will have as many neighbors as in figure 13, and for the sake of realism, connection bandwidth between neighbors will be given by distance, as in IEEE 802.11 connections. Agents keep the same strategy for 24 hours, since hourly traffic patterns are similar across different days. Once a day passes, nodes can change as described below for two different control scenarios: • Imitation scenario: Same as in section 6. • Isolated scenario: Same as in section 8.3, but this time we set n = 5 because, due to the increasing complexity, it was needed that nodes explore strategies deeper than in previous sections.
Agent-Controlled Sharing of Distributed Resources in User Networks
51
Fig. 10. Evolution of cooperators (C), defectors (D) and agent-based (A) nodes (K = 4, 50 days, isolated scenario)
We model both scenarios with different strategies, as explained in section 6. In section 9.3, using non-adaptive credit limit, we will use the strategies: defection and cooperation with CreditLimit. Later in the same section, using adaptive credit limit we will use the strategies: defection and agent-based. Concerning node demand distribution, we consider two node types, A and B, also as defined in section 6. We set the system parameters as follows: • Type A nodes generate maximum-activity traffic between 12 PM and 12AM, and minimum-activity traffic otherwise. Type B nodes have opposite maximum and minimum activity timeframes. • All the nodes have an external 512 Kbps DSL access, i.e. 18 Gbph. • P2P chunk size is 512 KB (4 Mb). • During maximum and minimum activity timeframes, there are respective average node demands of 2880 Mbph and 360 Mbph. Thus, the aggregated external access is highly loaded (≈ 90% ).
52
E. Costa-Montenegro et al.
• Pareto distribution settings for elapsed times between successive chunk demands (inbound or outbound) are a = 2.5, b = 3.0 and c = 0 for maximum activity timeframes (average = 5 s, standard deviation = 4.5 s) and a = 4.0, b = 30.0 and c = 0 (average = 40 s, standard deviation = 14.14s) for minimum activity time-frames. 2.9.3 Simulation Results Non-adaptive credit limit From these parameter values, we define a model with the strategies of defection and cooperation with CreditLimit that we
Fig. 11. Spatial distribution of cooperators (C), defectors (D) and agent-based (A) nodes (K = 4, 50 days, isolated scenario)
Agent-Controlled Sharing of Distributed Resources in User Networks
53
Fig. 12. Throughput comparison of cooperators (C), defectors (D) and agent-based (A) nodes (K = 4, 50 days, isolated scenario)
Fig. 13. “Vigo” user network with 7x9 cells, size of each cell 50x50 m2
54
E. Costa-Montenegro et al. Table 1. Cooperators in permanent state
introduced in section 6. Table 1 shows samples of the percentages of cooperators in permanent state vs. different credit limit values (in Mb). The plots are concave in all cases. We observe the following: In ideal networks, imitation and isolated scenarios behave as in section 7, i.e. a concave plot that reaches a peak for a certain credit limit setting. Also, the more the information on neighbor nodes (imitation scenario), the higher the level of resource sharing. ● In both scenarios, the permanent-state percentages of both strategies are similar for near-zero credit limits. This is logical, since a cooperator with zero credit limit is equivalent to a defector. ● As credit limit grows, defectors tend to became a majority. ●
Adaptive credit limit
In the previous simulation, all cooperators used the same credit limit. However, in a realistic multiagent approach, as explained in section 8.4, every node learns the best credit limit from its context, i.e. its surrounding neighbors and its interaction with them. So we now define a model with the strategies defection and agent-based that we introduced in section 6. Agents cannot explore the space of credit limit values exhaustively, since a delay in choosing a reasonable value could degrade throughput. We employ the following genetic algorithm, similar to the one described in 8.4. Given the fact that, after some simulation time, the best CreditLimit interval was [1000, 5000] in all cases, the algorithm uses the initial intervals: [1000, 2000], [2000, 4000] and [4000, 5000]. It implements mutation with rand (−500, 500). We apply mutation with a decreasing probability depending on the simulated hour (the first check takes place after 24 simulated hours, so the
Agent-Controlled Sharing of Distributed Resources in User Networks
55
Table 2. Cooperators in permanent state with adaptive credit limit
probability is always less than 1). Using this CreditLimit adaptation in cooperator nodes, we obtain the results in table 2, which shows the mean and standard deviation of CreditLimit values after 10 simulation runs. The cooperators learn CreditLimit values that confirm the results in table 1, as well as our previous results with cellular automata in section 7. We observe the following: • Imitation yields better results than isolated scenario, because nodes share state information. • In the isolated scenario, the results improve by letting nodes learn their CreditLimit. The poor results in table 1 seem to be due to the fact that a global CreditLimit may be inadequate for some cooperator nodes. Figure 14 shows the evolution of cooperators and defectors in the imitation scenario. It represents a temporal window of 100 days. The number of cooperators increases and the percentages become stable after 23 days.
Fig. 14. Imitation scenario with adaptive CreditLimit. Cooperators win. The x axis represents time in seconds. Percentages become stable after 23 days
56
E. Costa-Montenegro et al.
Fig. 15. Isolated scenario with adaptive CreditLimit. Cooperators win. The x axis represents time in seconds. Percentages become stable after 58 days
Figure 15 shows the evolution of cooperators and defectors in the isolated scenario. We observe initial oscillations until the nodes determine their best strategy and CreditLimit values. After 58 days, cooperation emerges as the preferred strategy.
2.10 Conclusions In this chapter we present an abstraction of the problem of resource sharing in user networks. We have abstracted the main features of a real user network to obtain some simpler yet valid models. Section 7 shows that the simple stochastic cellular automata in the distributed scenario gets close to the cooperation peak in the centralized one. This fact encourages us to study more powerful decision algorithms, as we did in sections 8 and 9, using a multi-agent approach. Using the multi-agent approach in section 8, agents are allowed to learn and set their own credit limits. In the imitation scenario almost every single node selected the agent-based strategy. In the isolated scenario, where nodes do not share information, cooperating nodes (cooperators and agent-based ones) became the majority, even to a greater extend than in the previous cellular automata approach. Then, we realized that the multiagent approach for sharing
Agent-Controlled Sharing of Distributed Resources in User Networks
57
resources in user networks is a good choice, because agent-based nodes become a majority thanks to their CreditLimit adaptation. Consequently, we decided to adopt a more realistic user network scenario in section 9. Even though the results of this last scenario were not as good as in section 8, they show that cooperation is still the preferred strategy. As our main conclusion, we have observed that a user network can obtain benefits from node cooperation if traffic demands are variable along the day. This is a real assumption in the Internet. Besides, the selection of agentbased management with individual credit limits provides the best results for every user, and also for the whole network, as cooperation emerges as the preferred strategy.
References 1. Kazaa news. [Online]. 2004. Available at: http://www.kazaa.com/us/news/index. htm. 2. WebCache, eMule-Board. [Online]. 2004. Available at: http://forum.emule-project. net/index.php?showtopic=61326&hl=webcache. 3. E. Adar and B.A. Huberman, Free riding on Gnutella. [Online]. 2002. Available at: http://www.cdt.luth.se/net/courses/01-02/smd076/articles/adar-free-riding.pdf. 4. Y. Kulbak and D. Bickson, The eMule Protocol Specification. [Online]. 2005. Available at: http://leibniz.cs.huji.ac.il/tr/acc/2005/HUJI-CSE-LTR-2005-3 emule.pdf 5. Kazaa participation ratio. [Online]. 2006. Available at: http://www.kazaa.com/ us/help/glossary/participation ratio.htm. 6. K. Tamilmani, V. Pai and A. Mohr, SWIFT: A System With Incentives For Trading, Proc. Second Work-shop of Economics in Peer-to-Peer Systems, 2003. 7. IEEE 802.11. [Online]. 2005. Available at: http://grouper.ieee.org/groups/802/11/. 8. J.P. Hubaux, T. Gross, J.Y.L. Boudec and M. Vetterli, Towards self-organized mobile ad-hoc networks: the terminodes project, IEEE Commun. Mag., no. 1, pp. 118-124, 2001. 9. Madrid Wireless. [Online]. 2004. Available at: http://madridwireless.net. 10. Wireless Athens Group. [Online]. 2004. Available at: http://www.nmi.uga.edu/ research. 11. N. Negroponte, Being Wireless, Wired Magazine, Issue 10.10, Oct. 2002. 12. The official BitTorrent page. [Online]. 2006. Available at: http://www. bittorrent.com 13. B. Gu and S. Jarvenpaa, Are Contributions to P2P Technical Forums Private or Public Goods? - An Empirical Investigation, In 1st Workshop on Economics of Peer-to-Peer Systems, 2003.
58
E. Costa-Montenegro et al.
14. M. Castro, P. Druschel, A. Ganesh, A. Rowstron and D.S. Wallach, Security for Structured Peer-to-Peer Overlay Networks, In Proceedings of Multimedia Computing and Networking, 2002. 15. G. Hardin, The Tragedy of the Commons, Science 162, 1968, 1243-1248. 16. M. Feldman, K. Lai, I. Stoica and J. Chuang, Robust Incentive Techniques for Peer-to-Peer Networks, ACM E-Commerce Conference (EC ’04), 2004. 17. P. Golle, K. Leyton-Brown and I. Mironov, Incentives for Sharing in Peer-toPeer Networks, In ACM Conference on Electronic Commerce, 2001. 18. Y. Chu, J. Chuang and H. Zhang, A Case for Taxation in Peer-to-Peer Streaming Broadcast, ACM SIGCOMM Workshop on Practice and Theory of Incentives and Game Theory in Networked Systems (PINS), August, 2004. 19. K. Binmore, Game Theory, Mc Graw Hill, 1994. 20. F. Schweitzer, J. Zimmermann and H. Muhlenbein, Coordination of decisions in a spatial agent model, Physica A, 303(1-2), pp. 189-216, 2002. 21. R. Axelrod, The evolution of Cooperation, Basic Books, New York, 1984. 22. R. Hoffmann, Twenty years on: The evolution of cooperation revisited, Journal of Artificial Societies and Social Simulation, 3(2), 2000. 23. M. Wooldridge and N. R. Jennings, Intelligent Agents: Theory and Practice, In Knowledge Engineering Review 10(2), 1995. 24. S.J. Russell and P. Norvig, Artificial Intelligence: a Modern Approach, Prentice Hall, 2nd edition, 2003. 25. K. Sycara, Multiagent systems, AI Magazine, 19(2):79-92, 1998. 26. N. Gilbert and J. Doran, editors, Simulating Societies: the computer simulation of social phenomena, UCL Press, London, 1994. 27. S. Moss and P. Davidson, editors, Multi-Agent-Based Simulation, LNAI Volume 1979, Springer, Berlin, 2001. 28. P. Maes, Agents that reduce work and information overload, Communications of the ACM, 37(7):31-40, 1994. 29. D. Terzopoulos, Artificial life for computer graphics, Commun. ACM, 42(8):32- 42, 1999. 30. S.I. Roumeliotis and G.A. Bekey, Distributed multi-robot localization, IEEE Trans. Robotics and Automation, 18(5):781-795, 2002. 31. P. Noriega and C. Sierra, editors, Agent Mediated Electronic Commerce, Lecture Notes in Artificial Intelligence 1571, Springer, 1999. 32. T. Sandholm, Distributed rational decision making, In G. Weiss, editor, Multiagent Systems: A Modern Introduction to Distributed Artificial Intelligence, pages 201-258. MIT Press, 1999. 33. J. Ferber, Multi-Agent Systems: an Introduction to Distributed Artificial Intelligence, Addison-Wesley, 1999. 34. G. Weiss, editor, Multi-Agent Systems, The MIT Press, 1999. 35. M. Wooldridge, An Introduction to MultiAgent Systems, John Wiley & Sons, 2002. 36. Agentes Software y Sistemas Multi-Agente: Conceptos, Arquitecturas y Aplicaciones, Prentice-Hall (in Spanish), 2005.
Agent-Controlled Sharing of Distributed Resources in User Networks
59
37. F. Schweitzer, L. Behera and H. Muhlenbein, Evolution of Cooperation in a Spatial Prisioner’s Dilemma, Advances in Complex Systems, vol. 5 (2-3), pp. 269-299. 2003. 38. K.S. Narendra and M.A.L. Thathachar, Learning Automata, Prentice-Hall 1989. 39. J.C. Burguillo-Rial, F.J. Gonzalez-Casta˜no, E. Costa-Montenegro and J. ValesAlonso, Agent-Driven Resource Optimization in User Networks: a Game Theoretical Approach, Lecture Notes in Computer Science (LNCS) 3305. Proc. 6th Intl. Conf. on Cellular Automata for Research and Industry, ACRI 2004, 335-344. 40. A. Schaerf, Y. Shoham and M. Tennenholtz, Adaptive Load Balancing: A Study in Multi-Agent Learning, Journal of Artificial Intelligence Research, 2, 1995, 475- 500. 41. U.M. Garcia-Palomares, F.J. Gonzalez-Casta˜no and J.C. Burguillo-Rial, A Combined Global & Local Search (CGLS) Approach to Global Optimization, Journal of Global Optimization (article in Press). 42. F.J. Gonzalez-Casta˜no, E. Costa-Montenegro, U. Garcia-Palomares, M. Vilas Paz and P.S. Rodriguez-Hernandez, Distributed and Centralized Algorithms for Large-Scale IEEE 802.11b Infrastructure Planning, Proc. Ninth IEEE International Symposium on Computers & Communications (ISCC 2004). 43. F. Box, A heuristic technique for assigning frequencies to mobile radio nets, IEEE Trans. Veh. Technol., vol. VT-27, pp. 57-74, 1978. Agent-Controlled Sharing of Distributed Resources in User Networks 29. 44. W.E. Leland et al., On the Self-Similar Nature of Ethernet Traffic, IEEE/ACM Transactions on Networking, 1994. 45. S. Androutsellis-Theotokis and D. Spinellis, A survey of Peer-to-Peer Content Distribution Technologies, ACM Computing Surveys, 36(4), 2004. 46. Y. Korilis, A. Lazar and A. Orda, Architecting Noncooperative Networks, IEEE Journal on selected areas in communications, 13(7), 1995. 47. A. Orda, R. Rom and N. Shimkin, Competitive Routing in Multiuser Communication Networks, IEEE/ACM Transactions on Networking, 1(5), 1993. 48. P. Bernstein, F. Giunchiglia, A. Kementsietsidis, J. Mylopoulos, L. Serafini and I. Zaihrayeu, Data management for peer-to-peer computing: A vision, In Proceedings of the Workshop on the Web and Databases, WebDB 2002, 2002. 49. M. Castro, P. Druschel, A.M. Kermarree and A. Rowstron, Scribe: A largescale and decentralized application-level multicast infrastructure, IEEE Journal on Selected Areas in Communications, 20(8), October 2002. 50. M. Harren, J. Hellerstein, R. Huebsch, B. Loo, S. Shenker and I. Stoica, Complex queries in dht-based peer-to-peer networks, In Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS ’02), MIT Faculty Club, Cambridge, MA, USA, March 2002. 51. A.Y. Halevy, Z.G. Ives, P. Mork and I. Tatarinov, Piazza: Data management infrastructure for semantic web applications, In Proceedings of the twelfth international conference on World Wide Web, pages 556-567, Budapest, Hungary, 2003.
60
E. Costa-Montenegro et al.
52. The Jabber web site. [Online]. 2003. Available at: http://www.jabber.org/. 53. S.M. Larson, C. Snow and V.S. Pande, Modern Methods in Computational Biology, chapter Folding@Home and Genome@Home: Using distributed computing to tackle previously intractable problems in computational biology. Horizon Press, 2003. 54. The genome@home project web site. [Online]. 2003. Available at: http:// genomeathome.stanford.edu/. 55. W.T. Sullivan III, D. Werthimer, S. Bowyer, J. Cobb, D. Gedye and D. Anderson, A new major seti project based on project serendip data and 100,000 personal computers, In Proceedings of the 5th International Conference on Bioastronomy, 1997. 56. The Boinc project web site. [Online]. 2006. Available at: http://boinc.berkeley. edu/. 57. The Condor project web site. [Online]. 2006. Available at: http://www.cs. wisc.edu/condor/. 58. R. Huebsch, J.M. Hellerstein, N. Lanham and B. Thau Loo, Querying the internet with pier, In Proceedings of the 29th VLDB Conference, Berlin, Germany, 2003. 59. W. Nejdl, B. Wolf, C. Qu, S. Decker, M. Sintek, A. Naeve, M. Nilsson, M. Palmer and T. Risch. Edutella: A p2p networking infrastructure based on rdf, In Proceedings of the twelfth international conference on World Wide Web, Budapest, Hungary, 2003. 60. R. VanRenesse, K.P. Birman, A. Bozdog, D. Dimitriu, M. Singh and W. Vogels, Heterogeneity-aware peer-to-peer multicast, In Proceedings of the 17th International Symposium on Distributed Computing (DISC 2003), Sorrento, Italy, October 2003. 61. I. Stoica, D. Adkins, S. Zhuang, S. Shenker and S. Surana, Internet indirection infrastructure, In Proceedings of the ACM SIGCOMM ’02 Conference, Pittsburgh, PA, August 2002. 62. A. Keromytis, V. Misra and D. Rubenstein, SOS: Secure overlay services, In Proceedings of the ACM SIGCOMM ’02 Conference, Pittsburgh, PA, August 2002. 63. R. Janakiraman, M. Waldvogel and Q. Zhang, Indra: A peer-to-peer approach of network intrusion detection and prevention, In Proceedgings of 2003 IEEE WET ICE Workshop on Enterprize Security, Linz, Austria, June 2003. 64. V. Vlachos, S. Androutsellis-Theotokis and D. Spinellis, Security applications of peer-to-peer networks, Computer Networks Journal, 45(2):195-205, 2004. 65. The FON network website. [Online]. 2006. Available at: http://www.fon.com/.
Adding Intelligence to Ubiquitous Computing Environments
Hakan Duman, Hani Hagras, and Victor Callaghan Department of Computer Science, University of Essex, Wivenhoe Park, Colchester CO4 3SQ, England
Abstract We present the iDorm which is an experimental test bed for ubiquitous computing environments research at Essex University. The iDorm is equipped with a number of passive and intelligent embedded agents with different capabilities and restrictions. In this work we define a passive agent as an embedded computer that delivers purely sensory information, whereas the intelligent embedded agents are embedded-computers enhanced with intelligent reasoning and learning. The Intelligent Association System (IAS) forms the framework for a society based multi embedded agent system, where a collection of embedded agents are clustered into logical segmentations. The intelligent embedded agent (F-IAS) describes are fuzzy based controller capable to learn and adapt through monitoring the user and the environment in a non intrusive lifelong way. A unique property that the F-IAS facilitates is the ability to reason about the importance of its associations to other agents and thus learning and selecting the subset of the most relevant and important associations for its operation. The intelligent association calculation algorithm is applied in an online fashion using a special case of a fuzzy cognitive map that uses a tailored differential Hebbian learning rule to calculate the association weights between the embedded agents.
H. Duman et al.: Adding Intelligence to Ubiquitous Computing Environments, Studies in Computational Intelligence (SCI) 72, 61–102 (2007) www.springerlink.com © Springer-Verlag Berlin Heidelberg 2007
62
H. Duman et al.
3.1 Introduction Smart technology will be included in just about every device and artefact being developed in the near future. Even the simplest household appliances will be connected to a network and interact with users. Homes, offices and public places will naturally evolve into smart environments decorated with these embedded computerized artefacts, aware of users and occupants and adjusting accordingly. However, with this ‘smart evolution’ the cognitive load for the user to configure and control the devices becomes immense and the inclusion and interconnection of artefacts will represent a burden for the network. As a result, the vision of a ubiquitous computing environment to enhance the quality of life of their occupants is made difficult to achieve. In order to overcome such situations one possibility is to divide the smart environment into societies where artefacts are segmented into groups based on their need to coordinate actions to achieve a common goal. Artefacts and devices of the same society only are associated together and exchange information through messages. If the societies are segmented to form physically distinct networks the overall network load decreases, If the artefacts remain on the same physical network but are segmented into separate logical networks the network load remains the same but the artefacts efficiency is improved because they only need to process a limited subset of the information provided from the environment. Assigning societies and declaring their goals require a good knowledge of the environment and the user’s intentions on how he/she wants to use the artefacts. However it is very difficult task for the user to foresee every single situation and sketch out a behavioural objective plan for each of the artefacts and societies and, especially in a highly dynamic and complex system such as ubiquitous computing environments, this becomes essentially impossible. One way of countering this is to include some intelligence, in the form of an embedded-agent, that can learn its purpose based on users interaction and act on behalf of them. At the same time, embedded agent should aim to reduce storage requirements, make dimensionality more tractable, decrease training, and speed adaptation times so as to improve performance and efficiency. The addition of knowledge about the computing system as a whole would enable the agent to reason about the information and data it requires for operating correctly. The agent would select and learn to associate only to those devices that send useful and relevant information and filter the remaining. Filtering irrelevant point-to point information that are sent from other devices of the same society would reduce the message exchange
Adding Intelligence to Ubiquitous Computing Environments
63
between the devices and the agent and thus to reduce the overall network overhead. In this chapter, we will present the iDorm which is an experimental test bed for ubiquitous computing environments research at Essex University. The iDorm is equipped with a number of passive and intelligent embedded agents with different capabilities and restrictions. In this work we define a passive agent as an embedded computer that delivers purely sensory information, whereas the intelligent embedded agents are embedded-computers enhanced with intelligent reasoning and learning. The Intelligent Association System (IAS) forms the framework for a society based multi embedded agent system, where a collection of embedded agents are clustered into logical segmentations. The intelligent embedded agent (F-IAS) describes are fuzzy based controller capable to learn and adapt through monitoring the user and the environment in a non intrusive lifelong way. A unique property that the F-IAS facilitates is the ability to reason about the importance of its associations to other agents and thus learning and selecting the subset of the most relevant and important associations for its operation. The intelligent association calculation algorithm is applied in an online fashion using a special case of a fuzzy cognitive map that uses a tailored differential Hebbian learning rule to calculate the association weights between the embedded agents. Besides intelligent techniques that aim to reduce the cognitive load of the user and number of associations between the agents, simple but efficient ‘fuzzy to numerical rules conversion’ methods are applied on the embedded agents with the aim to save memory storage for fuzzy rule bases. Furthermore, the need to fully distribute an embedded agent in an ubiquitous computing environment is addressed and described using the FuzzyXML descriptor where the fuzzy properties of each agent is ‘carried’ by itself and broadcasted upon request. With this, the static hard-coding of fuzzy inputs and membership functions are replaced by dynamic, ad hoc fuzzy controllers that can be designed and generated on the fly. The chapter presents experiments that were conducted in the iDorm. A user has spent 5 consecutive days within the iDorm where an intelligent F-IAS Agent, associated with a few passive agents in a single community, simultaneously learnt and adapted to the user’s behaviour. The results illustrate the significance of the proposed intelligent mechanism where the F-IAS Agent successfully limited the number of interconnections to only those passive agents that are relevant and required for reliable operation while maintaining a robust and efficient performance. The rest of the chapter is organized as follows. The next section discusses the requirements for
64
H. Duman et al.
ubiquitous computing environment and presents a background research on embedded agent approaches for association selection. Section 3 introduces the iDorm. Intelligent Association System, its notions and definitions of embedded agents and infrastructure are presented and explained in Section 4. Section 5 presents the proposed fuzzy based embedded agent (F-IAS) that is capable of learning and adaptation to the user behaviour and at the same time analyse the significance of its associations to other embedded agents in a non intrusive manner. This section also includes the methods on how to use FuzzyXML in F-IAS and Fuzzy Numerical Tables as compact rule bases. The conducted experiments based on the iDorm are analyses in Section 6 and Section 7 finishes the chapter with concluding remarks.
3.2 Ubiquitous Computing and Environments The vision of ubiquitous computing was first introduced by Mark Weiser who stated that “the most profound technologies are the ones that disappear; they weave themselves into the fabric of everyday life until they are indistinguishable from it” (Weiser 1991). With the ever-increasing number of miniaturised and computerized artefacts and devices, information about state, location, limitation etc become transparent and with the pervasiveness of networks these information are made available to anyone, everywhere and at any time. The next section first analyses this technological evolution and lists the requirements for ubiquitous computing environments. 3.2.1 Requirements Heterogeneity The most well-known feature of ubiquitous computing environments is the ubiquitous presence with embedded computer capabilities of artefacts. The devices forming these environments come in different sizes, with different functionalities and most importantly made by different vendors with different characteristics. Some of them may easily interoperate in existing networks and some of them may not even integrate at all. In this case, there is a need for an abstract interface application that can access other devices and use their functionalities. In most cases, this is not always possible because some devices may have a closed specification making it impossible to write one’s own interface. This is also the main reason why despite of the advanced technological developments, the ubiquitous vision is not realised. Some open standards and technologies need to be developed, especially a common communication infrastructure for enabling associations
Adding Intelligence to Ubiquitous Computing Environments
65
between networked artefacts, exchanging messages and for providing access to shared data. 3.2.1.1 Transparency
Ubiquitous computing environments are characterized by seamlessly integrating the devices “invisibly” into the surrounding environment (Duman et al. 2007). The user should not be overwhelmed by the technological enhancements and the infrastructural changes – rather they should feel that technology is part of their everyday activities and makes their life easier. This requires a careful design and integration of the technology from the design phase of the environment through to intelligent, intuitive, nonintrusive, and effective user-interfaces. 3.2.1.2 Discovery & Management
A specific problem is that there is, potentially, tens to hundreds of heterogeneous devices in a given environments network, some which will be highly mobile, posing a challenge of identifying, monitoring and managing them. Without proper discovery and management techniques it becomes almost impossible to be able to find out about available devices, keep track of their existence, propagate update to associate devices, and more importantly, to find the appropriate functionalities needed for an efficient operation of the environment. There are some protocols addressing the necessities that can be used for automatic discovery of services, e.g. Jini and UPnP, which will be reviewed in the next section. 3.2.1.3 Limited Resources
The limited hardware platforms and resources of the computational artefacts within ubiquitous computing form an additional challenge. Many of the manufacturer devices and artefacts that make up for the ubiquitous computing infrastructure are specific purpose devices and have commonly limited computational power, network connectivity and memory storage yet requiring to operate economically and efficiently (Callaghan et al. 2004). This can be achieved by reducing the network traffic, computing processing overheads as well as the storage of information in the devices. 3.2.1.4 Intelligence
The dynamic nature of ubiquitous computing environments means that the devices have to adapt to changing operating conditions and perform in a more efficient and effective fashion so that the changes doesn’t cause a
66
H. Duman et al.
system failure. These and more intelligent attributes can be facilitated by embedding an intelligent agent into these artefacts and devices with the capability to sense the environmental changes, reason about possibilities on how to act accordingly (Duman et al. 2007). These embedded agents are able to recognise the users and can autonomously program themselves to meet the users’ needs and preferences by learning from their behaviour to control the environment on their behalf. With this, the cognitive load associated with the user needing to configure and program intelligent ubiquitous environments can be reduced immensely. The aforementioned requirements for ubiquitous computing environments are by no means comprehensive since they mostly depend on the application that is aimed to be designed and built. Additional properties such as security, privacy, scalability and fault-tolerance should be considered at equal levels. However, for the work described in this chapter, the above list highlights the main challenges addressed in this work. The following sections first review the existing literature on associations and then describe the iDorm. 3.2.2 Background The association process of embedded devices has been demonstrated with various methods. The Smart-Its (Holmquist et al. 2001) manually interconnect devices based on context proximity. When two Smart-Its artefacts are in radio communication range and share the same acceleration information (movement patterns) they understand each other as ‘Friends’, meaning that they have established a dedicated association. The movement patterns are matched implicitly, e.g. by wearing them on a body or explicitly by shaking the artefacts together (Holmquist et al. 2001). The SmartIts are in some ways similar to X.10 where specific addressing determines the associations between the artefacts (Wikipedia 2006). For each X.10 modules, the user explicitly assigns a house code and address. An X.10 movement detection sensor may also receive a destination address, e.g. to link the sensor to a lamp. When a movement is detected, the direct association to the lamp causes the sensor to transmit a signal to the lamp to switch on. Besides the direct manipulations of the user, an additional disadvantage of X.10 is that places limits on the types of device that can interact together. An enhancement to the manual association paradigm and singlevendor operating systems was introduced by LonWorks. The LonWorks Network Services (Wikipedia 2006) defines ‘plug-in’ standards, to allow the configuration of devices from different manufacturers. This standard
Adding Intelligence to Ubiquitous Computing Environments
67
allows sensor, actuator, and device manufacturers to provide customized applications for their products. When one of those products needs to be configured, the LNS-based tool automatically presents a configuration screen that the manufacturer tailored to the device. Regardless of the LNSbased tool being used, the configuration screen for that product remains consistent. This capability simplifies the task of training installers, allows device manufacturers to give the programming interface a unique look and feel, and permits tool vendors to offer products that are both uniquelooking and interoperable (Tennefoss 1999). The LNS-based tool implements a Visio User Interface, a CAD-like drawing environment that offers an intuitive and simple means of creating devices and environments. The tool includes a number of smart shapes for LonWorks networks, with users able to create new shapes for unique device configurations or complete subsystems. Stencils can be constructed with predefined devices, function blocks, and connections between them. Master shapes corresponding to complete subsystems can be created and saved. Additional subsystems then can be created by simply dragging the shape to a new page of the drawing which a time-saving feature when designing complex systems (Wikipedia 2006). Although the user is still required to associate the devices of the environment, LNS enables a type-based automatic association between the devices, e.g. the system would automatically suggest interconnecting the newly added lamp to an existing light sensor. It is then up to the user to accept this connection or experiment with other association combinations. Additional automatic forms to suggest associations between embedded artefacts using configuration tools were investigated in eGadgets (Callaghan et al. 2004, EUNICA (Bielikova 2001), PHEN (Chin et al. 2005), and the eHomeConfigurator (Norbisrath et al. 2006). The configuration tools are built on top of a ser vice discovery and management protocol and middleware, such as UPnP, Jini, which allow the embedded artefacts of the environment to become ‘visible’ for the user through these tools. EUNICA (Bielikova 2001) and eHomeConfigurator (Norbisrath et al. 2006) are tools used to discover, associate and administer embedded devices of the ubiquitous computing environment. They can be regarded as a ‘remote control’ with simple assistive functionalities that detect and suggest possible associations between artefacts. In contrast, in eGadgets, the GadgetWorld Editor (eGadgets 2006) uses the GadgetWorld Architecture Style (GAS) Ontology to automate the process of device and environment configuration. By using the GadgetWorld Editor, the users can segment the environment into GadgetWorlds aiming to reduce the complexity of the system and thus enhance the performance of the eGadgets of the ubiquitous computing environment they reside in. The
68
H. Duman et al.
GAS ontology provides a semantic description of terms such as eGadgets, Plugs, Synapses, GadgetWorlds and Services and defines the relations among these concepts in order to support communication and collaboration among eGadgets. The GadgetWorld Editor displays the eGadgets and assists the user to quickly configure the devices and hence the environment by suggesting reasonable associations between the networked eGadgets. The GAS Ontology also provides solutions for the following: replacement feasibility, service discovery and plug compliancy. Plugs define the type of an eGadgets, which can take the form of an input or output. Although GAS provides an open, ad hoc architecture where new eGadgets can be included, associated and operated, it still requires the user to fulfil these task. This becomes a huge burden with the increased number of eGadgets and GadgetWorlds. A similar approach to eGadgets constitutes PHEN. The PHEN relies on a taskoriented programming (TOP) architecture for ubiquitous computing environment, which enables the user to set up and program communities of devices based on the dComp (Deconstruction and Community Programming) ontology using OWL (Chin et al. 2005). The concept of TOP introduces the ‘Programming-byexamples’, which in contrast to the previous projects, configures and programs the coordination behaviour based on the user demonstrating the required functionality. As in eGadgets, it also lacks the flexibility to re-configure and adapt to changes without user interaction. The Adaptive Building Intelligent project (ABI) (Trindler 2003) ‘breaks’ the static structure paradigm of the systems and demonstrates an algorithm that it dynamically discovers and hierarchically clusters functionally related sensors and effectors within an environment. Based on the events generated by these devices, the system builds up a weighted directed graph where the weights are event dependent and adapted with a Hebbian-learning rule. One of the key issues which have not been properly addressed is the need of a distributed and autonomous operation of several agents in the environment. In ABI the agent manages the building as a whole and is mainly used to cluster the sensors and actuators into functional partitions and is not much concerned about the control aspects of the agents. Furthermore, it requires collecting and storing a huge number of data over a long period to achieve a good result from the clustering mechanism. For this, the agent requires to be manually associated to every sensor and actuator in the environment, which adds to the computational and network loading. Another drawback is that the algorithm seeks to find a general representation of the building’s functional dependent structures whereas the embedded agent approach in this thesis finds the particular
Adding Intelligence to Ubiquitous Computing Environments
69
user-related structure of associations between the devices. The ANS (McCann et al. 2004) features a middleware for the integration of autonomic systems in ubiquitous computing environment. The ANS tool is somewhat similar to (Chin et al. 2005) as it uses the OWL ontology to find replacement devices e.g. in the case of a failure but it also facilitates an adaptive agent-like component (node), which can learn the user’s preferences. This ability is also used to make a decision over the importance of the replacement devices. The ANS rewards nodes in line with the user’s preferences. The component based software agents come with predefined sets of abilities that pertain to that agent and its role within the system. The disadvantage of the ANS is that it requires its ontology descriptions to be updated each time a new type of a device is introduced into the system; otherwise the service of that device would not be available for the system. Each component is described in terms of what it requires and what it provides at the level of data structure, although they become adaptive at a later stage. In addition, ANS requires to continuously exchange a large number of messages amongst the agents of the environment (McCann et al. 2004), which are also processed at the agent-level. In this chapter we describe a method to minimize the associations between an active agent and its passive agent surrogates (sensors) whilst maintaining a given environment functionality based on a user’s personalized needs. The next section introduces the iDorm which forms the ubiquitous computing environments test bed for the work described in this chapter.
3.3 The intelligent Dormitory The intelligent Dormitory (iDorm), shown in Figure 1, forms one of the main test beds for ubiquitous computing environments research at the University of Essex. The iDorm is fitted with a plethora of embedded sensors, actuators, processors and heterogeneous networks that are concealed in the walls and furniture so that the user is completely unaware of the hidden intelligent infrastructure of the room. The iDorm looks and feels like an ordinary study/bedroom environment containing a mix of furniture such as a bed, work desk and wardrobe. This splits the room into areas of different activity such as sleeping, working and entertaining (Hagras et al. 2002), (Hagras et al. 2004). The iDorm has a standard multi-media PC that combines a flat screen monitor and a multi-media video projector which can be used for both working and entertainment.
70
H. Duman et al.
Fig. 1. a) The graphical layout of the iDorm b) A snapshot of the iDorm
IP and X10. This provides a diverse infrastructure that allows the development of network independent solutions. It also gives an opportunity to evaluate the merits of each network. The iDorm gateway server creates a common interface to the iDorm and its devices that are based on the Universal Plug & Play (UPnP) which is an event based communication middleware for allowing devices to be plug & play enabling automatic discovery and configuration (Wikipedia 2006). UPnP provides an architecture for pervasive peer-to-peer network connectivity of intelligent embedded agents, wireless devices and artefacts and PCs of all form factors. It is designed to bring easy to use, flexible, standards based connectivity to ad-hoc or unmanaged networks whether in the home, car, public spaces, or attached to the Internet. Moreover, UPnP is a distributed, open networking architecture that leverages TCP/IP and the Web technologies to enable seamless proximity networking in addition to control and data transfer among networked devices in the home, office and public spaces. The UPnP technology which is based on an event based communication middleware allows agents to plug and play in an ad hoc fashion thus enabling automatic discovery and configuration (Wikipedia 2006). Within the iDorm UPnP distinguishes between two types of embedded agents: (1) UPnP Devices (Sensing devices with embedded passive agents) and (2) UPnP Control Points (Actuating devices with embedded intelligent agents). The UPnP services define the functionality offered by the device where the control points use the services to control the device and monitor their status. However, the control points must be connected to devices first to make use of these services. The service subscription procedure of UPnP is responsible for establishing and disestablishing associations between the embedded agents. Once linked, the events coupled to the associated agent’s services and control messages are exchanged on a unique channel assigned by UPnP. These events can be in the form of state changes, new
Adding Intelligence to Ubiquitous Computing Environments
71
arrival or removal notification of devices. Thus, the UPnP infrastructure is well suited for highly dynamic distributed systems like ubiquitous computing environments. The iDorm provides an environment that is ubiquitous, transparent and intelligent. The iDorm is ubiquitous because the user is surrounded by a multitude of interconnected embedded systems and transparent since the artefacts are seamlessly integrated into the environment. The embedded agents provide the intelligent ‘presence’ as they can sense the users and automatically adapt themselves to the users’ needs and preferences through learning from their behaviour and control the environment on their behalf. The agents are embedded within the various artefacts within the iDorm as follows: • Agents embedded within the sensing devices within the iDorm; they are termed passive agents as they deliver purely sensory information. The passive agents are embedded in the following sensing devices: Internal Light Level sensor (ILL), External Light Level sensor (ELL), Internal Temperature sensor (ITEMP), External Temperature sensor (ETEMP), Chair Pressure sensor (CHAIR), Bed Pressure sensor (BED) and Clock (HOUR). • Agents embedded within the actuating devices within the iDorm; theyare termed intelligent agents as they are autonomous entities enhanced with intelligent reasoning and decision making. The intelligent agents are embedded in the following actuating devices: Desk Lamp, Bed Lamp, Dimmable Ceiling Lamp 1 (DIM1), Dimmable Ceiling Lamp 2 (DIM2), Dimmable Ceiling Lamp 3 (DIM3), and Dimmable Ceiling Lamp 4 (DIM4). The intelligent agents are also embedded in other devices such as the internet Fridge as well as the mobile robots that can navigate within the user environment to serve the user needs such as getting drinks and medicine. Figure 2 depicts the iDorm infrastructural layout with its available embedded agents and the different home network standards. Another unique test bed, also located at the University of Essex, is the Essex intelligent apartment (iDorm-2). The iDorm-2 is a spacious two bedroom apartment with a kitchen and a bathroom. The iDorm-2 provides a flexible test-bed for research into ubiquitous computing environments and it offers the possibility for examining the deployment of embedded agents and sophisticated user interfaces within the intelligent environments of tomorrow. Although the iDorm-2 looks like a domestic apartment at the first glance, it actually extends the idea and terminologies of the iDorm into a multi-room and multi-user intelligent environment. There are numerous networks in place ranging from wired and power-line, thorough wireless to broadband and high bandwidth multi-mode fibre connections to the outside
72
H. Duman et al.
world. As in the iDorm, the low-level UPnP control architecture enables communication between the services that the agents provide which can be controlled wherever desired. The occupants may freely decorate the iDorm and iDorm-2 with embedded agents making them to become dynamic and open environments where numerous new agents enter or existing leave in an ad hoc fashion. Theoretically, there is no limit on the amount of agents the user can bring in and no restrictions (except safety regulations) on how he/she uses them although in practice there are a finite number of devices as shown in Figure 2. The next section introduces the Intelligent Association System (IAS) framework.
Fig. 2. The iDorm Infrastructure
Adding Intelligence to Ubiquitous Computing Environments
73
3.4 The Intelligent Association System 3.4.1 From Static Wiring to Ad hoc Networks One of the main challenges in ubiquitous computing environments is to dissolve the standard understanding of static association of devices between one another (Duman et al. 2007). In other words, a wall switch doesn’t necessarily need to control always the same light or a movement detection sensor doesn’t always have to turn on the attached lamp. With the increasing number of network enabled ubiquitous computing devices that started to populate our living spaces, static wiring and interconnections will become more or less redundant and an enormous overhead for the user. The main aim of this technological evolution is to achieve a “plug n’ play” style operation so that new devices can be added instantly to an existing network and older or broken devices easily be removed. In current living environments, especially homes, the commands are passed on to the device through the use of a physically operated switch. Pressing a switch generally alters the supply of electricity to the device itself. In other words the switch opens and closes the electrical flow of that connection. Figure 3-a illustrates this using the today’s example of a typical lighting circuit. For each additional light, a separate Powerline circuit is required and mounted that is able to interrupt the flow of electricity to the additional light fittings. However, the vision of ubiquitous computing environments aims to change the idea of this type of interconnection between devices. For instance, switches will take on a different function. Rather than regulating the electrical flow, the switch merely sends a signal of its new position/state to the communication network it is attached to. Since the ubiquitous devices are fitted with an embedded intelligent agent, it receives this signal, evaluates if it was addressed to it and responds accordingly, as in this example by switching on the light. Thus the regulation of the electricity is no longer the responsibility of the switch but the embedded agent (Figure 3-b). The main benefit of integrating an embedded agent into devices become clearer if there are more lights (or other types of devices, e.g. fridge, TV,
74
H. Duman et al.
Fig. 3. a) Static wiring b) Embedded Agent in the static wiring c) Ad hoc networking through embedded agents
washing machine etc.) connected to the same network (Figure 3-c). The switch no longer ‘belongs’ to a particular device so it can operate any device on the network that has been told to respond to the signal from the switch. In this way, multiple devices of different types in different locations could be controlled. Depending on switches more functions can be obtained, such as dimming, on/off, etc. In this example the switch can be regarded as a universal remote control with the difference that it has no limitations to control a specific type and amount of devices. Figure 3a-c may be regarded as the visual timeline of the change of interconnecting devices, more specifically a) represents today, b) illustrates the short-term futuristic change, and c) the long-term vision. Despite of the fact that the technological concepts and developments that would normally allow the short-term vision is already available static wiring is still the widely used solution, is that there is desperate need of building distributed interoperability devices operating in a heterogeneous ubiquitous computing environment. The use of embedded agents facilitates these features and requirements. The main question here is what exactly an embedded agent is and what its capabilities are? In the next section, a descriptive definition for embedded agents and agents’ societies is given. 3.4.2 Embedded Agents and Societies There are different views on exactly what an intelligent agent is (the details of which will not be discussed in this chapter) but the broadest possible
Adding Intelligence to Ubiquitous Computing Environments
75
definition is that an intelligent agent is a “software which acts on behalf of another entity”. The following lists the attributes of an agent (Hagras et al. 2002): • Autonomy and Agency. Without human interference the agent is able to function correctly and act on behalf of the user or third party. • Perception. The agent is aware of as much as of the world as it needs in order to operate correctly. • Temporal continuity. The agent’s identity and state persists over a long period. • Intelligence. The agent is able to reason, plan, learn how to complete tasks (and improve from experience) and act (reactively, deliberatively and proactively). Embedded agents can be viewed as a special case of agents inheriting all these properties and more. According to (Callaghan et al. 2004) an embedded agent is described as “a situated and embodied computing device (i.e. physical artefact) containing autonomous real-time processes to automate activities we associate with needing human thought”. Within a ubiquitous computing environment different types of embedded agents exist and can be explained by looking at their individual purpose and services. A categorization of an agent is defined as follows (Duman et al. 2007): (1) Passive embedded agent which is an agent that only provides sensory information (2) Smart embedded agent which is proactive by means of executing a set of predefined rules that are stored in the computational logic, e.g. security systems. (3) Intelligent embedded agent, which is an agent that is autonomous and includes some sort of reasoning, planning, learning and adaptation processes. Although an embedded agent is capable of acting on its own to execute tasks, the agents perform more useful and complex behaviours if they collaborate together towards a common objective, thus forming an embedded agent society (Duman et al. 2007). This grouping of embedded agents into societies aims to reduce the complexity of associating and managing the large number of embedded agents within ubiquitous computing environments, where the IAS will deal with a manageable number of agents within each society. The agents of a society will still receive lowlevel network signals from the outside world since they might be attached to the same single network where the societies only logically separate them. However, through this segmentation, agents are no longer required to process this information and don’t need to send additional commands or messages so that a reduction on the network communication is still achieved.
76
H. Duman et al.
The embedded agents within a society are interconnected via links referred to as associations. Association are higher level interconnection between embedded devices and their services mostly rely on the middleware, here UPnP. The agents associated with each other share services which may be available for several societies at the same time leading to overlapping societies. Every society requiring an inter society communication may have a leader assigned which is termed as the Embedded Embassador Agent, hereafter termed embassador agent. An embassador agent may also act as a limited data repository of its society getting information from every agent it is associated with. It should be noted that an embassador agent isn’t a separate unit and the tasks of an embassador can be assigned to an existing intelligent agent. The appropriate intelligent agent assigned to be an embassador agent can simply be based on a user selection or an automatic selection procedure can be applied to get the agent with the best computational specifications in comparison to other available agents. As soon as an embassador agent disappears (e.g. malfunctions) a search is initiated to assign a replacement. A detailed description of the function of an embassador agent can be found at (Duman et al. 2007). The Intelligent Association System (IAS) architecture integrates the above components into three layers as shown in Figure 4.
Fig. 4. The Intelligent Association System (IAS) Framework
Adding Intelligence to Ubiquitous Computing Environments
77
3.4.3 Associations in IAS As mentioned above forming societies requires embedded agents to establish associations among each other. The IAS defines associations on top of the UPnP middleware and enables an agent to establish an association by subscribing to one or more services of another agent. The notion of association within the IAS is as follows: An association is a physical or virtual communication channel and link between agents sending information which are expected to be useful and vital for the agent. The direction of this exchange is either uni or bi-directional. Unidirectional associations are mostly set from a passive agent to a smart or intelligent agent. If both agents are at least of a smart type then the association may be set to bi-directional. The lifetime of an association is either permanent or temporary (e.g. mobile or portable agents). The associations are selected and established as follows (Duman et al. 2007): • Manual Association where agents are linked together by the user (Duman et al. 2007) • Smart or Automatic Associations where agents are linked together based on a search which can be ontology-based to find agents that are manufactured to be used together, e.g. switch with a lamp; once the search is successful the agent automatically establishes an association to the target agent • Intelligent Associations where agents are capable of learning and managing their associations autonomously by using intelligent techniques to achieve self-configuration and fault-tolerance. The next section describes the proposed fuzzy based embedded agent capable of learning and adapting to the user’s preferences and at the same time applies intelligent mechanism for association evaluation.
3.5 The Fuzzy-IAS Agent In general, the F-IAS Agent is a physical object with an embedded intelligent agent. Normally the F-IAS Agent is an actuator with intelligent capabilities (as described in the previous sections), an intelligent embedded agent, and is expected to be equipped with limited memory, a network connection and often with a human interface. The heart of the Fuzzy-IAS Agent forms the Fuzzy Logic Controller, which is the processing module based on fuzzy logic. The main reason of choosing a fuzzy based agent control system is that it has been successfully
78
H. Duman et al.
applied in dealing with uncertainties in information which is often the case in ubiquitous computing environments. A successful design of a fuzzy logic controller involves a clear definition of the fuzzy model and the model structure with its parameters and operations. Before describing the F-IAS Agent and its functionalities, the next section first introduces the steps involved in designing the fuzzy agent model structure. 3.5.1 Designing Fuzzy Control Systems 3.5.1.1 Fuzzy Models
There are commonly two main sources of information for building a fuzzy model, (1) the prior knowledge and (2) data. The prior knowledge can be of a rather approximate nature (qualitative knowledge and heuristics), which usually originates from ‘experts’, i.e. process designers, operator, etc. In this sense, fuzzy models can be regarded as simple fuzzy expert systems (Babuska 1997). In many cases, data acquisition is an integral part of the fuzzy system modelling process. Experiments are designed and conducted to obtain the relevant data aimed to be used to construct the model. Besides fuzzy logic and approximate reasoning, ideas originating from the areas of neural networks, genetic algorithms, data analysis, statistics and conventional system modelling and identification are exploited to obtain and tune fuzzy system models based on collected data. The following presents the two main approaches primarily applied to incorporate prior knowledge and data to the fuzzy system modelling process (Babuska 1997): • The expert knowledge in a human-readable form is decoded into a collection of if-then fuzzy rules. In this way, a fuzzy model structure based on the rules is created. The parameters of the fuzzy model, in particular the membership functions, can be fine-tuned using the acquired inputoutput data. So far, many approaches have been applied to tune fuzzy system parameters, but the most well-know techniques include fuzzy c-means, neural networks and genetic algorithms (Doctor et al. 2006). • Fuzzy models constructed without prior knowledge about the system are required to learn the ‘expert’ from the data. After this initial but additional learning cycle it is expected that the extracted rules and parameters, i.e. membership functions, consequent singletons etc. provide a posterior interpretation of the fuzzy system model and its behaviour.
Adding Intelligence to Ubiquitous Computing Environments
79
Further modifications and fine-tunings can be initialized by an expert to include his knowledge and/or amend rules. The particular use of these techniques mainly depends on the purpose and available resources to build the required fuzzy system. It is also obvious, that both methods can also be combined to achieve a more flexible, adaptive and transparent fuzzy modelling process (Kosko 1992). 3.5.1.2 Structural Attributes
Designing fuzzy models is one of the most crucial aspects of the overall system’s performance and behaviour. Choosing the appropriate structure and parameters is regarded as a trial-and-error process where the model and its parameters are repeatedly arranged and tested. As mentioned above, this can be done either by manually (expert) or automatically obtained from data-driven methods. However, for both of these methods, the selection criteria of an appropriate fuzzy model and parameters mainly depend on the following structure attributes (Babuska 1997): • Input and output variables. In most cases of complex systems, there are large number of variables available than required. It is often difficult to determine which of them is important for the targeted system model and structure. Prior knowledge of the behaviour and the requirement of the system are the typical sources of information for this choice. However in more recent studies also data-driven selection are used to compare different choices in relation to some performance criteria (Duman et al. 2006). • Number and type of membership functions. The number and type of membership functions determines the level of granularity of the corresponding rules and thus the model. The higher the membership functions, the more rules can be defined and obtained. Depending on the functional requirements, this condition can lead the system to an overload by means of a much higher processing time and power. Besides this more rules need to be stored. • Rules. The rules form the heart of a fuzzy model and their composition and type directly define the structure of the model. The main idea of a rule is to map input variables to output variables. As mentioned before rules can be either manually defined or automatically extracted from experimental data. Both ways, the system’s expert need to specify the required model in advance and hence indicate the rules type, in particular the antecedent parts and their fuzzy logical operations (e.g. AND, OR, NOT).
80
H. Duman et al.
• Type of the fuzzy inference mechanism. The process of fuzzy inference involves all the aforementioned properties (i.e. variables, rules, membershipfunctions) of a model structure selection. Mainly two types of fuzzy inference systems are used: Mamdani-type and Takagi-Sugenotype. These two types of inference systems vary somewhat in the way outputs are determined and it is mostly up to the system’s designer to choice the appropriate type. After the structure of a fuzzy model is determined, the performance of a fuzzy model can be fine-tuned by adjusting its parameters and attributes. Except the inference mechanisms, which requires to be specified in advance, all of the aforementioned attributes can be optimized by automatic data-driven mechanisms. More specifically, the input space of a model can be reduced to the most relevant input variables. In addition, the membership functions of the input/ output variables with their shape and position information can be determined and fuzzy rules extracted from data. The next section introduces the Fuzzy-IAS Agent (F-IAS) which is an intelligent adaptive embedded agent capable of learning from user interactions and adapting to online changes simply by monitoring the environment. At the same time, the F-IAS Agent aims to select the associations that are most relevant and important for its behaviours. 3.5.2 The F-IAS Agent Model
The F-IAS Agents are based on the Fuzzy Logic Controller (FLC) which has been credited with providing appropriate framework for generating human readable models for complex systems (Hagras et al. 2004). FLCs provide an adequate methodology for designing robust controllers that are able to deliver a satisfactory performance when contending with the uncertainty, noise and imprecision attributed to real world environments as in ubiquitous computing environments. The agent learns the fuzzy model and its corresponding rules in a non intrusive manner while being able to adapt and self configure itself in a life long learning mode. The main components of the F-IAS Agent are listed as follows (Duman et al. 2007): • Fuzzy Controller with Rule base, where the fuzzy rules are stored • Association Selector that associates given input agents to the F-IAS Agent
Adding Intelligence to Ubiquitous Computing Environments
81
• Event Detector and Database where events are detected and limited number of them are stored • FuzzyXML descriptor which contains the fuzzy properties of the agent itself • Learning and Adaptation module that facilitates the learning and adaptation capabilities and routines of the F-IAS Agent • Association Evaluation which performs the intelligent association calculation to detect the most relevant input agents for the F-IAS Agent • A more detailed description of the F-IAS Agent’s main components is described next. 3.5.2.1 The Fuzzy Controller
The FLC is composed from the following processes: fuzzification, rule base, fuzzy inference engine and defuzzification. The fuzzification interface measures the input variables and maps crisp numbers into suitable fuzzy sets. The fuzzy rule base comprises the knowledge of the domain. The fuzzy inference engine is the kernel of an FLC where it has the capability of simulating human decision making based on fuzzy concepts and of inferring fuzzy control actions employing fuzzy implication and the rules of inference in fuzzy logic. In other words, the fuzzy inference engine handles the way in which rules are combined and conducts the fuzzy reasoning process. The resulting fuzzy set from the fuzzy inference engine is then converted into a crisp output value using the defuzzification process. More information about fuzzy logic systems can be found in (Duman et al. 2007). The F-IAS Agent perceives the environment through the sensory information provided by the associated input passive agents and it affects the environments through its actuator based on its learnt fuzzy logic controller that approximate the particularised preferences of the user. We assume that each F-IAS embedded agent has a N:1 relationship meaning that N possible input passive embedded agents can be associated to 1 output. It should be noted that our approaches can easily be extended to a multiple inputs associated to multiple outputs relationships but for the sake of simplicity, we will consider that the F-IAS Agent has only to control one output actuator. In addition, we should mention that a F-IAS Agent output can also be used as an input for another F-IAS Agent, however throughout this paper we will consider that the input agents will be mainly the passive agents that are embedded within the sensing devices. For an environment, after collecting the data set of K input-output data r r pairs. Each vector ( x k , y k ) can be expressed as ( x1k , x2k , K , x Nk ; y k ), with
82
H. Duman et al.
r x k ∈ ℜ N , y k ∈ k = 1,2,K, K. The fuzzy system rule base comprises of a set of L IF-THEN fuzzy rules where the ith rule is having the following form:
R i : IF xi is A1i AND x2 is A2i AND K AND xN is ANi THEN y is B i * (1) where N is number of the input variables of the agent where each variable xj is represented by V fuzzy sets. The variable y represents the output of the agent and it is represented by a Gaussian fuzzy set B i *. The F-IAS Agent controller use singleton fuzzification, max-min inference method and the height defuzzification, so the crisp output of this controller can be written as follows (Kosko 1992): L
y=
∑w B i
i =1
i*
(2)
L
∑w i =1
i
Where B i * is the centre of the output fuzzy set of the i th rule and w i is the rule firing strength which is equal to the product of the membership functions for each rule inputs. The lifelong learning and adaptation capabilities of the F-IAS Agents requires the agents to have an effective, fast and reliable learning method that can generate new rules as well as adapting, changing and removing the existing rules that are stored in the form of Equation 1 in the rule base. The rule induction method of the F-IAS which operates in an online and lifelong learning mode is described next. 3.5.2.2 Extracting Fuzzy Rules
The rule induction method adopted by the F-IAS Agents is adopted from the enhanced version of the Wang-Mendel (WM) method using a one-pass technique to extract fuzzy rules from a sampled data set (Wang 2003). The procedure involves the following steps: I.
II.
The Association Selector of the F-IAS Agent establishes associations to selected input agents. These agents may have been selected by the user or intelligently (as we will be discussed later). The Event Detector monitors the user interaction with the associated embedded agents and in the event of a change; the information is forwarded and saved in the Event Database.
Adding Intelligence to Ubiquitous Computing Environments
83
III. Once enough data and events have been collected (the data collection in case of the iDorm experiments lasted 3 consecutive days), assign for each input supplied by an input agent a set of fuzzy membership functions. A double-clustering approach combining fuzzy-C-means and hierarchical clustering is applied for obtaining these fuzzy membership functions, more information about the fuzzy membership functions generation can be found in (Doctor et al. 2005). IV. Expert rules are allowed and may be combined with the rules induced from the data. V. Start reading events from the Event Database. For each data pair (xk, yk), compute the membership values µA q (x kj ) for each fuzzy j set q=1,...,V, and input j=1,...,N, find q ∈ {1,...,V } , such that µ A q ( x kj ) is maximum.The following is the rule generated by j
(x , y ). k
k
IF x1k is A1q AND K AND xNk is ANq THEN y is y k
(3)
VI. Repeat Step V for all k from 1,...,K to obtain K data generated rules in theform of Equation 3. Divide the resulting rules into groups (conflictingrules group) sharing the same IF part (antecedents) and having different consequents. Combine the group l with Kl rules into a single rule in the form of Equation 1 where B i * is a Gaussian fuzzy set. The antecedent and consequent of the obtained rule becomes the following form
IF x1 is A1i AND K AND xN is ANi THEN
with the consequents’ averagel avl and variance σ l computed as follows: Kl
∑y w l k
av l =
k=1 Kl
∑w k=1
l k
l k
(4)
84
H. Duman et al.
Kl
σl =
∑y k =1
l k
− av l wkl
Kl
∑w
(5)
l k
k =1
where is the rule weight of w kl each conflicting rules within group l and is computed as N
w = ∏ µA q (x kj ) l k
j=1
j
(6)
VII. Repeat this combination for all conflicting groups l to obtain the final rule set which contains L rules in the form of Equation 1 and store it in F-IAS Agent’s Rule Base. The rule base consists of different types of rules: static rules and the dynamic rules. The static rules encode the fixed requirements of the system that should/can not be changed. The fixed rules are of special importance for safety and privacy issues. e.g. a smoke detector should in any case of smoke detection activate the alarm. This rule is of life importance and shouldn’t be allowed to be adjusted. Dynamic rules are manly related to the comfort and preferences of the user and directly learnt from the user as described above. The number of rules extracted is limited to the number of training input-output data pairs K and does not depend on a fuzzy partition resolution level (i.e. the number of fuzzy sets) (Wang 2003). During the online actuation and adaptation mode, the above procedure allows the rule base to be adaptive in a life long learning mode so that new rules may be inserted or existing rules may be modified or deleted. Before the F-IAS can extract rules with this method, it has to have all the information about its associations and recorded data. However, the objective of an F-IAS Agent is also to reduce the large number of possible input agents associations to a subset of the most important and effective associations without significantly reducing the agent’s ability to model the user behaviour, therefore simultaneous procedures in the Association Evaluation module evaluates the efficiency and importance of the currently associated input agents. Before introducing the nonintrusive approach for intelligent association selection, the next section first presents a simple but efficient procedure to store fuzzy rules to reduce the size of memory storage.
Adding Intelligence to Ubiquitous Computing Environments
85
3.6 Converting Rules into Fuzzy Numerical Tables Ubiquitous computing devices and thus embedded agents are expected to be limited in resources, especially in memory storage. With the increasing pace technological improvements also in the memory storage industry there is no doubt that in the long-term future memory in big sizes will be available. However the problem of enormous amount of available data will remain and the need to save storage might be an ever-lasting challenge. Especially in fuzzy agent systems the number of rules that need to be processed is highly depended on then number of associated agents. As a result, with the increasing number of stored rules, not only the memory usage increases immensely also processing these rules in a real-time fashion in a highly dynamic environment like ubiquitous computing environments becomes a big issue. The main advantage of fuzzy agent systems is its linguistic representation of the control rules. Primarily this feature is very useful for experts that model the fuzzy agents and integrate rules into the rule base. For embedded fuzzy agents with limited resources and capabilities the priorities require to be reconsidered. The em bedded fuzzy agent is forced to continuously optimize its rule base, meaning to eliminate redundant rules and input variable (as it will be described in the next sections) but also to operate in real-time. Many ways to optimize a rule base have been proposed and analysed but one of the simplest and most efficient ways includes compromising the rule base. This is achieved when rules are formally presented in a more compact form, in numeric tables (Duman and Hu 2000). The conversion of a rule base into numeric tables is a task that needs a prior processing and the system is considered less transparent and more difficult for interpretation. However with the help of FuzzyXML (Duman and Hu 2000) and an automatic process that converts the linguistic rules into numerical data, the rules at the users end remain transparent and readable while saving memory and resources. The algorithm used to convert the rules is also integrated as an UPnP service and can be transmitted and used by other agents without any problems. During the automatic conversion, the agent, which has already received the FuzzyXML description during the association process, contains all the necessary information to exchange the rules with integer numbers. Figure 5-a illustrates the online and realtime conversion of the rules into a more compact and efficient rule base. Each fuzzy membership function comes with a FuzzyXML id and is read and converted as it can be seen. E.g. for AgentID1 the first rules ‘IF AgentID1 is LOW AND AgentID2 is MED THEN F-IAS is ON’ becomes ‘IF AgentID1 is 1 AND AgentID2 is 2 THEN F-IAS is 1’.
86
H. Duman et al.
Fig. 5. The conversion of linguistic fuzzy rules into numerical values
3.7 Distribution with FuzzyXML Amongst the biggest problems of using fuzzy logic controllers (including other types of controllers) are their inflexibility in lack of self-designing and self programming. As mentioned above, before the fuzzy controller can operate properly it has to be designed first. For this step, many parameters have to be known in advance. This includes knowing the associated input variables and their membership functions. Most fuzzy controllers are hard-coded and are not able to dynamically respond to changes in the environment. New associations to input variables cannot be included, or existing broken ones removed, while the controller functions. In other words, the vision of having an ad hoc, dynamic and flexible fuzzy agent controller is not always realised. A solution for this specific problem is given next. A fuzzy agent controller needs to have the parameters of the membership functions of all the associated input/output variables beforehand. Either this information is given and hard-coded or they can be requested from the agents during the association process before operation. For this, the agents need to ‘carry’ the properties of their fuzzy membership functions and operations in a separate file or flash memory. The file structure and content can be distributed over network and shared with other agents. XML serves as a data exchange interface and makes it possible for a wide variety of applications to swap information (Wikipedia 2006).
Adding Intelligence to Ubiquitous Computing Environments
87
The Extensible Markup Language (XML) is a language for defining markuplanguages and syntactic structures for data formats. Though lacking in machinereadable semantics, XML has been used to define higher-level knowledge representation that facilitate semantic annotation of structure documents on the web. Fuzzy-based XML descriptors have been successfully used for several different applications (Acampora et al. 2005). Here FuzzyXML is used in unique way, which is described next. FuzzyXML is built on top of the UPnP communication layer of the fuzzy embedded agent itself. The device and service description of UPnPenabled fuzzy agents (as described in the previous section) have been extended to include the fuzzy properties (Figure 6). The information is stored as another service of the fuzzy agent that can be discovered, associated with and received. The full description of the FuzzyXML and its structural anatomy would exceed the scope of the chapter but will be available in future publications. There are many benefits of integrating fuzzy description information based on XML into the agents. The first and perhaps the strongest argument is that the agents become truly distributed. The fuzzy membership information is no longer hard-coded and can easily be obtained, integrated or removed while operating. In addition, if a fuzzy property of an associated agent changes, this can be update in an online-fashion after notifying about the change. The agent no longer needs to stop operating or re-coding nor requires any human intervention from an expert.
Fig. 6. The FuzzyXML structure
88
H. Duman et al.
3.8 Online Intelligent Association Mechanisms Early work on intelligent associations based on combinational theory of feature selection has been described and successfully conducted as described in (Duman et al. 2007). However this approach in question is more based on an offline analysis of intelligent associations that were used to find the most relevant agent associations out of an available input space of passive input agents. A novel combination technique of feature selection for model prediction and fuzzy curve methods for causal significance were applied to obtain the most relevant associations needed to learn the fuzzy model. However this approach is more useful for applications which allow an offline learning procedure since the combination of all agents’ subsets would be time consuming. Furthermore, the methods require the use of training data. This method can be used as the first stage of an F-IAS to learn its associations to other embedded agents. In ubiquitous computing environments such as the iDorm, however, intelligent FIAS Agents require to operate in real-time, minimising associations to other agents in an online fashion. This section addresses this requirement and analyses first the necessity of reducing the number of associations in F-IAS Agents and presents the online version of the IAS Association mechanism algorithm. 3.8.1 Why Intelligent Associations?
Due to the computational restrictions of embedded agents and the limited network bandwidth it is necessary to minimise the processor and network loads. This means that the simultaneous associations to other agents have to be restricted to relevant services from other agents. The following example aims to illustrate the impacts of redundant and irrelevant associations on the network and communication level: An intelligent embedded agent, such as a desk lamp, performs its predefined behaviours by monitoring the environment where the events triggered provide information about the environment through associated agents. Whenever the state of a linked agent changes, the communication protocol based on UPnP sends a message to the desk lamp to notify about the event occurrence. This is also the case if the desk lamp changes its own state and hence an event and feedback gets published to every agent and the desk lamp agent respectively. Moreover every event is timestamp and tagged with a unique ID. It is assumed that the environment contains many redundant agents that randomly send irrelevant events in different time intervals where the delays arising from the low-level UPnP protocol are ignored in this example. In real-time control,
Adding Intelligence to Ubiquitous Computing Environments
89
the delayed feedback would decrease the performance of the overall system and would lead to instability and reliability. In an open and dynamic ubiquitous computing environment, an agent may become less important overtime or even leave or malfunction. In contrary, new agents may join and publish new services which may be more relevant than the current ones. In addition, the user desires may change over time necessitating the reconfiguration of the associations of the embedded devices within the ubiquitous computing environment. An intelligent embedded agent should be capable of noticing these changes and adjusting to new conditions through self configuration and reorganization. It is obvious that a user-dictated manual association system fails to deal within these highly dynamic environments populated with a large number of embedded agents. To overcome these problems one solution is to use an intelligent approach to limit the associations to relevant agents only. Thus, the next section introduces an intelligent, non-intrusive association calculation method used within F-IAS Agents. 3.8.2 Fuzzy Cognitive Maps (FCM)
Fuzzy cognitive maps are an extension of the cognitive map which is a collection of nodes connected with some causal links or edges. The nodes represent concepts or variables relevant to a given domain. The edges are directed to show the direction of influence. The main objective of building a cognitive map around a problem is to be able to predict the outcome by monitoring how the relevant entities interact with each other. These predictions can be used to find out the answers to ‘what-if ’ situations (Duman et al. 2007). Fuzzy cognitive maps were first introduced in (Kosko 1992) to describe the cognitive map model with two significant characteristics: (1) Causal relationships between nodes can take on values representing fuzzy set memberships, and (2) the system is dynamic involving feedback (Kosko 1992). The fuzzy cognitive maps are based on fuzzy logic and neural networks. Fuzzy logic is used in the concepts of the FCM that form the membership function of the variables used and the neural network characteristics are used to learn the system’s decision model. This learning mostly uses the differential Hebbian learning which correlates the changes of two concepts using an unsupervised learning mechanism. The next section describes the use of FCM and Hebbian learning for the association selection mechanism.
90
H. Duman et al.
Fig. 7. The weight matrix of the associations between Y (F-IAS) and X j input agents
3.8.3 Intelligent Association Calculation
The embedded agent society of the IAS framework as described in Section 4.2 can be regarded as a special type of FCM. The agents residing in the society form the concepts of the FCM and the UPnP-based associations between them the edges and links. The association strength (weight) between two agents ( X j ,Y ) is α X j Y with α X j Y ∈ [0;1] . Zero denotes no association and causal effect between the agents whereas association strength of 1 represents a full causality. Any value in between correspond to different fuzzy levels. The associations of the input passive agents to each intelligent F-IAS Agent are described by a one-dimensional association matrix Λ whose elements are the association strength (weights) α XY of the agent pairs. The association matrix Λ of F-IAS Agent Y with its 5 associations X1-X5 is depicted in Figure 7. A pre-defined threshold value Θ of the association weight α XY of a given association pair is considered to be important when
f (α X j Y ) ≥ Θ
(7)
where f (α X j Y ) is a mapping function of α X j Y within a comparative range of a given threshold value Θ. The f (α X j Y ) in this context represents a sigmoid function, defined as:
f sig (α X j Y ) =
1 1+ e
−α X jY ×h
(8)
where h represents the slope of the sigmoid function and is normally set to 1 if not otherwise stated.
Adding Intelligence to Ubiquitous Computing Environments
91
Many ways exist to calculate the weights of associations. One of the mostly used mechanisms is the Hebb learning rule (Duman et al. 2007). The Hebb rule increases the association weight when a simultaneous change of pre-associative and post-associative occurs. The higher the weight the stronger is the association between the agents. A similar approach to Hebb’s learning rule is presented next to calculate the association weight in an online fashion based on the simultaneous change in the agents states. It should be noted that the Hebbian learning rule is not used to learn the functional properties of the agent itself rather, here; the synaptic calculation methods are adopted to achieve an online intelligent association selection mechanism. The algorithm of the association weight calculation of an F-IAS is as follows: I.
II.
III. IV. V.
The F-IAS Agent establishes associations to N selected input agents. These agents may have been selected by the user, randomly or automatically based on proximity within the same agent society. Set the association weights α X j Y to 0, for all associated input agents j = 1K N so that the association matrix of F-IAS becomes Λ = [X 1 = 0, X 2 = 0, X 3 = 0 K X N = 0 ] Set the learning rate δ = 0.1 Initialize the pre-associative (ξ X j = 0) and post-associative (ξY = 0) flags for the agent pair The Event Detector monitors the associated embedded agents and in the event of a state change of an input agent x kj the information is forwarded to the F-IAS a. For each event update the pre-associative flag of the corresponding input agent ξ X j to 1 b. Calculate the resulting output of the event x kj by applying Equation 2 of the F-IAS Agent i. Update ξY to 1 only if the F-IAS has adjusted its output state due to event x kj c. Calculate the new association weights α X j Y for each agent pair ( X j ,Y ) at time k by applying the following equation:
(α X j Y ) k = (α X j Y ) k −1 (1 − τ )δξ X ξY
(9)
where (α X j Y ) k −1 is association weight before applying Equation 9 and t is the decay value which is set to 0.01. The reason to add
92
H. Duman et al.
here a decay value is to prevent the association calculation increase endless. It is clear that an agent where its associations can only increase are bound to be useless and misinterpreted. An association which was important for the F-IAS at the beginning might become redundant over time and without allowing decreasing the association weights this would never be noticeable. d. Reset ξ X and ξY to 0 e. Repeat Step V until a given time k The presented algorithm calculates the importance of associations between the FIAS and the interconnected input agents. With the increasing number of simultaneous state changes, the association weight also increases accor-, dingly. However two major issues that result in ubiquitous computing environments have to be address: (1) Time delay and (2) Frequency of the use of agents. • The time delay that arises because of different aspects, like network congestion etc is a well-know problem in environments where the agents rely on sensory information. E.g. after sitting on a chair, the desk lamp might switch on after a certain delay (from the experiments this delay was measured around 3 second) which would result the light level sensor to increase its value accordingly. However during these 3 seconds the user might decide to stand up again which would cause immediately a new event. This might lead to wrong calculations and requires to be incorporated into the above algorithm. Every F-IAS agent contains an event database that collects the received events in the order they happen. The database based on a sliding window of maximum 50 events, which means that the new events overwrite the oldest one if the number of maximum events have been reached. With the help of this window the F-IAS Agent can analyse the events received because of time delay at the next step of its association calculation. • It is obvious that the frequency of the use of agents differs according to their functionally and purpose. Also different agents provide different information. E.g. a chair agent only sends out an event if someone sits on it or stands up, whereby a temperature sensor constantly measures the temperature of the environments and regularly sends the updates. By using the algorithm above with the Equation 9 one immediately notices that the less events an agent transmits the less likely it will be regarded as a strong link. To overcome this situation, the following procedure aims to normalize the association weights according to their frequency of use so that a better judgement of the importance between all associated agents can be performed.
Adding Intelligence to Ubiquitous Computing Environments o
o
While running the aforementioned association calculation procedure, count the total number of events x kj for each input variable X j For each X j , apply the following equation to obtain the normalization constant value
CX j o
⎛ ⎛ x k ⎞⎞ j ⎜ = 1− ⎜⎜ ⎟⎟⎟ ⎜ ⎟ ⎝ ⎝ K ⎠⎠
1 1+ e
o
(10)
Assign c X j to h of Equation 8 so that the following equation is constructed
f sig (α X j Y ) =
o
93
⎛ ⎛ x k ⎞⎞ j ⎟⎟ −α X jY ×⎜1−⎜ ⎜ ⎜ K ⎟⎟ ⎠⎠ ⎝ ⎝
(11)
Apply α X j Y to the above equation to obtain the normalized association weights so that an equal and fair judgements on the importance of association between the input agents and the FIAS can conducted Insert the obtained α X j Y into the association matrix Λ of the FIAS Agent
If f (α X j Y ) ≥ Θ then the association if of great importance to the F-IAS Agent if it is on the other hand if the association weight of an agent is smaller than the threshold Θ than this agent can be considered as irrelevant or redundant and would become a candidate to be removed. The cause of the removing the association from the F-IAS Agent is evaluated using the Association Evaluation module, which uses the Normalized Mean Square Error (NMSE) to obtain the predictive significance for the user model (Duman et al. 2007). The next section describes the experiments that were conducted in the iDorm where 13 embedded agents, of which 6 are F-IAS Agents with intelligent association mechanisms, were used.
3.9 Experimental Results and Analysis The results are based on a single user occupying the iDorm during the daytime over a period of 5 days (see figure 8). The results demonstrate that after the F-IAS Agent generated its initial fuzzy rule base and model from
94
H. Duman et al.
the user’s interaction, the online intelligent association calculation mechanism successfully computed the association weights of the F-IAS Agent to other passive input agents and eliminates the irrelevant and redundant ones. With this, the system performance increases as the number of fuzzy rules of the F-IAS agent decreases as the result of omitted input agents thus leading to a more robust and efficient operation with less processing consumption and rule storage requirement.
Fig. 8. The user 1 in the iDorm
During the evaluation, the user was asked to interact with the environment as he prefers and ignore the agents ‘presence’. During his stay another process was initiated to collect the sensory data, which was later used as the comparison data set for the different methods. It should be noted that the data collection process was not causing any additional overhead for the F-IAS Agent. All the experiments were conducted in the iDorm using the following embedded agents: • Input or Passive Embedded Agents which were embedded in the following UPnP devices: Internal and external light level sensors (ILL, ELL), internal and external temperature sensors (ITEMP, ETEMP), chair and bed pressure sensors (CHAIR, BED), and clock (HOUR) • F-IAS Intelligent Embedded Agents which were embedded in the followingactuating devices (as UPnP Control Points): desk lamp (DESKLAMP), bed lamp (BEDLAMP), 4 independent ceiling lamps (DIM1, DIM2, DIM3, and DIM4). All of the agents are fuzzy-logic based where the fuzzy membership functionswere obtained using the method reported in (Doctor et al. 2005) and stored as a separate UPnP Service as a FuzzyXML description. Due to the limited computational power of the available embedded devices, and the
Adding Intelligence to Ubiquitous Computing Environments
95
need to maximise experimental flexibility, the agents and UPnP stacks were ran on a PC acting as a proxy for the embedded devices. Furthermore, due to the limited number of the FIAS and passive agents within the iDorm, and to tackle this difficult research issue in a stepwise and graduated manner, a single society called ‘iDorm’ has been set up where all of the F-IAS Agents are associated to all of the passive agents, so that a fullyconnected environment originated. 3.9 .1 Fuzzy Rule Extraction from Offline Collected Data
The F-IAS Agents of the iDorm start operating simultaneously and autonomously monitor the user interaction with the agents of the iDorm forming a single multiagent society. Although the described experiments results of this section focus on the obtained rules of the online operation there is still an offline process needed that keeps a record of the events that occurred and learns the users particularized behaviour and thus extracts and generates the appropriate controller for the F-IAS Agents. A process chart of the overall operational steps for all F-IAS Agents within the iDorm is depicted in Figure 9. During the offline phase of the F-IAS Agent, it first selects randomly or automatically input agents that it prefers to associate with.
Fig. 9. The operational flowchart of an F-IAS Agent in the iDorm
96
H. Duman et al.
This decision can be based on proximity, type compatibility, functionality or randomly. Once associations have been selected and established, the F-IAS requests the fuzzy properties and descriptions of the input agents from the supplied FuzzyXML services of the individual agents. After obtaining this information, the FIAS Agent updates its fuzzy controller with the provided fuzzy properties of the involved inputs agents and generates a fuzzy model with no rules accordingly. After that, the monitoring the user’s interaction with the environment and data collection process start. For the iDorm experiments this specific phase was conducted for 2 days. The data set obtained during the data collection mode comprises of 800 events. The nature of agents produced many fluctuations and noisy data leading to a high number of instances although the input space of the iDorm experiments might be regarded as limited. Based on this data set the F-IAS Agent constructs the behaviour of the user by extracting fuzzy rules for its controller. The F-IAS Agent quickly generated a setof 297 rules. The structure of the first 5 obtained rules is illustrated in Figure 10. It can be seen that the low-level representation of the rule base is based on numerical data instead of linguistic fuzzy values. The main advantage in doing so (as described in the previous sections), is that precious memory storage is saved. This small but very effective change decreases the storage requirements significantly as it can be observed from Figure 11. A rule base consisting of e.g. 3 linguistic rules based on 2 input and 1 output variable requires 75 bytes while the same structure of rule base with numerical rules consumes only 57 bytes. As Figure 11 illustrates, the number of stored linguistic rules in bytes increase almost twice as fast as the numerical rule base. At the higher-level the rule base can easily be converted back by using the FuzzyXML descriptor to make it more transparent and readable for
Fig. 10. The numerical representation of the learnt rules
Adding Intelligence to Ubiquitous Computing Environments
97
Fig. 11. The numerical representation of the learnt rules
the user. However for functional purposes, numerical data are the preferred and more efficient option. 3.9 .2 Calculation of the Association Weights
After the F-IAS Agent has generated the initial model and extracted the required rules for its fuzzy controller, it changes its operational status to the online mode. In this mode, the F-IAS Agents operates in a standby-style process and only continues to function when new events or state changes takes place. In other words, the agent only listens to incoming events and interrupts its ‘silence’ in the event of a change. When the F-IAS Agents gets an event notification message, it evaluates the change and runs it through its controller to determine its new output state. Furthermore, this situation also causes the intelligent association calculation routine to commence. The following example explains the results obtained from the intelligent association calculation on a single F-IAS Agent, the desk lamp (DESKLAMP) and 3 input agents, the internal light level (ILL) and temperature sensors (ITEMP) and the chair pressure sensor (CHAIR), with the aim to present a better understanding on the functionality of the system. Figure 12 shows the obtained ILL, ITEMP, CHAIR and DESKLAMP (F-IAS Agent) event and sensory data respectively. At every simultaneous change of the F-IAS Agent and the input agents, the association weight
98
H. Duman et al.
Fig. 12. Event data obtained from ILL, ITEMP, CHAIR and DESKLAMP. The last pictures illustrates the association weight calculated using the intelligent association calculation mechanism for DESKLAMP and CHAIR
f (α X j Y ) increases. In contrast, the association weight decreases if the occurred input event doesn’t have anything to do with the state change of the F-IAS Agent. The association weight was calculated over a period of 3 consecutive days where the F-IAS Agent operated in an online fashion. It becomes clear that the F-IAS Agent (DESKLAMP) of the provided example is strongly associated to the CHAIR input agent. The resulted association weight of the F-IAS Agent and the CHAIR is 0.629. The strength of the association between the F-IAS Agent and the ITEMP and ILL are 0.034 and 0.15 respectively. Hence, the importance of the associations between the F-IAS Agents and the input agents can be listed in the following order: CHAIR (0.629), ILL (0.16) ITEMP (0.034). Depending on the threshold Θ (which was initially set to 0.15), the F-IAS Agents would request to remove the association to the ITEMP input agent. With the removal of the ITEMP input agent, the rule base of the F-IAS Agent decreases to 195 rules which is a 34% save on the memory storage. Furthermore (as it can be seen from Figure 12) the ITEMP is a very active sensor that produces many events. This can be caused by fluctuations and noise in sensory readings or on environmental temperature changes. Of course, this amount of events also produces an associated network loading, as many messages have to be broadcasted to the F-IAS Agent. With the removal of the association to the irrelevant ITEMP input agent, the F-IAS Agent doesn’t need to listen to events coming from the ITEMP anymore
Adding Intelligence to Ubiquitous Computing Environments
99
and there is no need to process them which saves computational resources and increases the robustness and efficiency of the F-IAS Agent. The results of the intelligent association calculation for simultaneously running FIAS Agents within the iDorm are listed in Figure 13. The F-IAS Agents include (DIM1, DIM2, DIM3, DIM4, DESKLAMP and BEDLAMP). After applying the threshold Θ (0.15), which can be different for ea ch F-IAS Agent depending on the limitations of resources in processing, network connections and memory, the most relevant associations are selected and irrelevant ones are removed. The threshold is set to 0.15 for all F-IAS Agents, Figure 14 depicts the association weight table of all of the F-IAS Agents after removing the associations. It is clear that all of the F-IAS Agents have processed a reduction of their associations. The most drastic change happened to DIM3 which initially started with 7 associations and omitted 5 of them during the intelligent association calculation process. To test the cause of removing the above associations from the F-IAS Agents in respect to model accuracy was determined by using the NMSE. Figure 15 shows the obtained prediction error values for all F-IAS Agents. NMSE* indicates the predictive accuracy of the F-IAS Agent model whereas NMSE. After removing the 5 association of the DIM3 F-IAS Agent the system’s prediction accuracy drops from 0.0541 to 0.1339 while at the same time the number of fuzzy rules reduces from 297 rules to 24. It is obvious that through the removal of the associations used and necessary rules were deleted however the continuous adaptation process of the FIAS
Fig. 13. The association weight matrix for all of the F-IAS Agent in the iDorm
Fig. 14. The F-IAS association weight matrix after applying the threshold
100
H. Duman et al.
Fig. 15. The numerical representation of the learnt rules
Agent allows relearning them. To avoid long adaptation processes the user can set a threshold to prevent a major prediction decrease. In contract, the 91% reduction of the rule base results in less memory storage and faster processing for the F-IAS Agent.
3.10 Conclusions This paper presented a novel online intelligent embedded agent technique for reducing the number of associations between the various agents operating within the ubiquitous computing environments in order to minimise the network and processing overheads whilst reducing the cognitive load of programming these associations to personalise themselves to the user needs. The chapter started by introducing the Intelligent Association System (IAS) that segments embedded agents into logical groups, the so-called societies. The proposed fuzzy-based intelligent embedded agents and methods facilitate learning and adapting to users in a life long non-intrusive mode to control the iDorm. In addition, the F-IAS Agent aimed at reducing the agent associations to the most relevant set in order to reduce the network and processing overheads and thus improving the overall system efficiency. The techniques were evaluated in the iDorm, which is an experimental test bed for ubiquitous computing environments research at the University of Essex. Several exclusive experiments were conducted in which a single community was created (called the iDorm) to support a user living in the iDorm, during the daytime, for five consecutive days. The user was asked to interact with the iDorm as he would with any regular environment to carry out his normal activities. The intelligent life long learning and adaptation of the F-IAS Agent occurred in a non intrusive manner. The F-IAS Agent mimics the user and learns his behaviour accordingly using a simple one-pass method which is computationally less demanding. After the initial model was obtained the intelligent association system’s association calculation methods were applied to selects the most relevant and important associations to other agents within the iDorm. The presented algorithms implement an adaptive learning rule, which is based on a Hebbian-like algorithm.
Adding Intelligence to Ubiquitous Computing Environments
101
During the experiments, 6 F-IAS Agents simultaneously where used to demonstrate that each of them was able to quickly learn the user’s behaviour and recognize the required associations required to operate efficiently and economically. During the experiments the F-IAS Agents managed to reduce their association by up to 71% and their rule base by up to 91% while keeping the overall systems performance at an acceptable level. Our future plans include conducting experiments with multiple societies, overlapping societies, intersociety communication (and the performance of Embassadors and a richer environment containing more sensors and agents). In addition we plan to investigate how the agents might establish a balance between the need to reduce associations (for better computational efficiency) and the need to increase associations (for more accurate modelling of agents decisions). Finally we hope this chapter has provided an interesting and useful insight into a significant issue in pervasive computing systems; namely how to automatically form associations between devices.
Acknowledgement We are pleased to acknowledge the funding support from the EU IST Disappearing Computer program and the joint UK-Korean Scientific fund. We would also like to thank Anthony Pounds-Cornish, Faiyaz Doctor, Graham Clarke, Martin Colley for their indirect contributions arising from many stimulating discussions on intelligent embedded agents and environments issues.
References 1. Acampora G, Loia V (2005) Fuzzy Control Interoperability and Scalability for Adaptive Domotic Framework, IEEE Trans Industrial Informatics, 1: 97-111 2. Atanasova, T (2000) XML view of fuzzy system knowledge, 3rd International workshop on Personal Computers and Particle Accelerator Controls PCaPAC, Hamburg, Germany 3. Babuska R (1997) Fuzzy Modelling and Identification. Ph.D thesis, University of Delft 4. Bielikova M and Krajcovic T (2001), Ambient Intelligence within a Home Environment, ERCIM News, No. 47, pp. 12-13 5. Callaghan V, Clarke G, Colley M, Hagras H, Chin J, Doctor F (2004) Inhabited Intelligent Environments, BT Technology Journal, 22(3): 233-247
102
H. Duman et al.
6. Chin J, Callaghan V, Colley M, Hagras H, Clarke G (2005), End-User Programming in Pervasive Computing Environments, The 2005 International Conference on Pervasive Systems and Computing PSC-05, Monte Carlo Resort, Las Vegas, Nevada, USA 7. Doctor F, Hagras H, Callaghan V (2005) A Fuzzy Embedded Agent-based Approach for Realizing Ambient Intelligence in Intelligent Inhabited Environments, IEEE Trans Systems, Man, and Cybernetics A, 35(1): 55-65 8. Duman H, Hagras H, Callaghan V (2007) Intelligent Association Selection of Embedded Agents in Intelligent Environments. J Pervasive and Mobile Computing 1-41 9. Duman H, Hu H (2001) United We Stand, Divided We Fall – Team formation for multiple mobile robot applications, J Robotics and Automation, 16 10. eGadgets (2006), Extrovert-Gadgets, http://www.extrover-gadgets.net 11. Kosko B (1992), Neural Network and Fuzzy Systems, ISBN 0-13-611435-0, Prentice-Hall 12. Hagras H, Callaghan V, Colley M, Clarke G, Duman H (2002), Online Learning and Adaptation for Intelligent Embedded Agents Operating in Domestic Environments, Fusion of Soft Computing and Hard Computing for Autonomous Robotic Systems, Studies in Fuzziness and Soft Computing Series, Physica-Verlag 13. Hagras H, Callaghan V, Colley M, Clarke G, Pounds-Cornish, A, Duman H (2004), Creating an Ambient-Intelligence Environment Using Embedded Agents, IEEE Intelligent Systems Magazine, 19(6): 12-19 14. Holmquist H, Mattern F, Schiele B, Alahuhta P, Beigl M, H Gellersen (2001), Smart-Its Friends: A Technique for Users to Easily Establish Connections between Smart Artefacts, Proceedings of UBICOMP 2001, Atlanta, GA, USA 15. McCann J, Kristoffersson P, Alonso E (2004), Building Ambient Intelligence into a Ubiquitous Computing Management System, International Symposium of Santa Caterina on Challenges in the Internet and Interdisciplinary Research, SSCCII-2004, Amalfi, Italy 16. Mozer M (1999) The Neural Network House: An Environment that adapts to its Inhabitants, Proceedings of the AAAI 17. Norbisrath U, Mosler C, Armac I (2006), The eHomeConfigurator Tool Suite, Workshop on Pervasive Systems (PerSys 2006), Montpellier, France 18. Tennefoss M (1998), Open, Interoperable Systems for Energy Control, Strategic Planning for Energy and the Environment, Lilburn, GA, ETATS-UNIS, pp. 39-47 19. Trindler J and Zwinker R (2003), Adaptive Building Intelligence, Research Work Report, University and ETH Zurich 20. Wang LX (2003) The WM Method Completed: A Flexible Fuzzy System Approach to Data Mining, IEEE Trans Fuzzy Systems, 11(6):768-782 21. Weiser M (1993) Some computer science problems in ubiquitous computing, Communications of the ACM, 36(7):75-84 22. Wikipedia (2006) Wikipedia Web dictionary http://www.wikipedia.org
iJADE FreeWalker – An Intelligent Ontology Agent-based Tourist Guiding System
Toby H.W. Lam and Dr. Raymond S.T. Lee Department of Computing, Hong Kong Polytechnic University, HungHom, Hong Kong, {cshwlam, csstlee}@comp.polyu.edu.hk
Abstract Recently, Semantic Web has received substantial attention from the research community. Semantic web aims to provide a new framework that can enable knowledge sharing and resuing. Semantic Web is a collection of web technologies that include a number of markup languages such as RDF, OWL and RDFS. These markup languages are used for modeling a domain ontology. Ontology is defined as “a formal, explicit specification of a shared conceptualization”. By using ontology to model resources, humans and computers (software agents) can have a consensus on the resource structure. The use of these technologies allows the creation of a more effective web search system. In this book chapter, we modeled travel domain ontology by using Web Ontology Language (OWL). Instead of inviting an expert to model the ontology, we created the travel ontology by collecting and analyzing the structural information from a number of travel related websites. Besides, we implemented a tourist context-aware guiding system, iJADE FreeWalker, which is constructed by using Semantic Web technologies. iJADE FreeWalker integrates GPS, ontology and agent technologies to support location awareness for providing the precise navigation and classify the tourist information for the users. The system was tested on 30 novice users. 83% of the users felt that the system can help tourists find tourist information in Hong Kong.
T.H.W. Lam and Dr. R.S.T. Lee: iJADE FreeWalker – An Intelligent Ontology Agent-based Tourist Guiding System, Studies in Computational Intelligence (SCI) 72, 103–125 (2007) www.springerlink.com © Springer-Verlag Berlin Heidelberg 2007
104
T.H.W. Lam and Dr. R.S.T. Lee
4.1 Introduction At present, it is common for Internet search engines such as Google and Yahoo to use keyword searching. Keyword searching works by using techniques such as frequency-inverse document frequency (tf-idf ) [1] to ascertain the importance of a word in a document. Such approaches, however, have a number of problems. First, keyword searches locate web pages using input keywords but without reference to semantics. The use of semantic information, perhaps in conjunction frequency-based search methods, could be expected to produce meaning-based searches that are more directly related to user’s meaning-driven queries. Meaning-based or semantic searches cannot be conducted without semantically-oriented technologies. One such technology that could facilitate semantic searches is Semantic Web [2]. Semantic web has received substantial attention from the research community recently. The semantic web, the next generation of World Wide Web, aims to provide a new framework that can enable knowledge sharing and reusing. Semantic Web uses agent technology, ontology, and a number of standard markup languages such as RDF, OWL and RDFS to formally model information represented in web resources so that it is accessible to humans and computers working co-operatively, perhaps with the assistance of intelligent network services such as search agents. Related to the development of the semantic web, new research and findings have been done in various areas such as Knowledge Engineering, ontology-based Information Retrieval and ontology-based Agent. To enable knowledge interoperability in the semantic web, ontology is one of the main components to provide this service. From the philosophical point of view, ontology means the study of entities and their relationship. In AI point of view, ontology is the explicit specification of concepts. In fact, ontology is usually defined as an explicit specification of conceptualization. To be clear, ontology is a hierarchical relationship between terms within a domain that specifies defined terms and the relationships between those terms. A domain-specific ontology is a tool for modeling resource structures and meanings and that allow software programs (agents) to do automated tasks for users, such as searching, customizing and scheduling, which have as one of their points of reference the idea of meaning. In addition, ontology also plays a vital role in knowledge sharing and exploration, particularly in multiagent-based communication where the content of messages can exchange among different agents. Given that two domains are sufficiently similar, one way to model a domain ontology is to reuse or extend an existing ontology. It is difficult, however, to model a domain ontology completely from scratch. The most
An Intelligent Ontology Agent-based Tourist Guiding System
105
common way to model a fresh ontology is to invite an expert in ontology to model the domain ontology. However, there are few such experts. In this book chapter, we propose an approach in which, instead of using experts in ontology modeling, we model an ontology using structural information from a number of websites. In this case, we gathered the structural information from web sites and analyzed this information in order to produce an ontology for a travel website. We have this suggestion as we feel that structural information is the common people’s view on a specific domain. Instead of inviting a professional ontology expert to model the ontology, we could model domain ontology by using common people’s understanding. In this book chapter, we describe in detail how to construct the ontology by using structural information. In addition, we employed the modeled travel ontology to develop an agent-based tourist guiding system, iJADE FreeWalker. There are many wireless devices such as PDA, mobile phone in the market, they are usually small in size, light in weight and long run time. We developed a prototype tourist guiding system in a pocket PC based on the modeled ontology. The main aim of this context aware tourist guiding system is to provide the tourists more fruitful tourist information. iJADE FreeWalker was developed under iJADE which is an intelligent Java Agent-based Development Environment [3]. The system is integrated with GPS (Global Positioning System) receiver to gather the user’s location. Then, the system would gather tourists’ nearby tourist information such as shopping, sightseeing, entertainment and restaurant. The rest of this book chapter is organized as follows. In Section 2, we provide an overview of Semantic Web. In Section 3, we show some related works in Semantic Web and guiding systems. In Section 4, we describe the details of the ontology-based tourist guide. In this section, we show the details of how we model the travel ontology and the information of the system architecture of iJADE FreeWalker. Section 5 presents the experimental results and Section 6 offers our conclusion and future work.
4.2 Background 4.2.1 Semantic Web The semantic web uses metadata to enable better locating and filtering of information. These metadata are markup language for ontology modeling. The World Wide Web Consortium (W3C) has made a number of recommendations for the Semantic Web such as Resource Description Framework (RDF) and the OWL Web Ontology Language (OWL) [4]. In this section, we show you the background information about RDF and OWL.
106
T.H.W. Lam and Dr. R.S.T. Lee
4.2.1.1 Resource Description Framework (RDF)
The RDF is a language for representing information about resources in the World Wide Web [5]. RDF can also be used to represent information about resources that cannot be directly retrieved on the Web. RDF is a framework for expressing and exchanging information between applications with loss of meaning. By using RDF, applications designers can use different kinds of RDF parsers and processing tools for their development. In addition, the information in an application can not only used by the user, but also can be used by different applications. This could achieve the purpose of the ontology: knowledge reuse and knowledge sharing. However, RDF is limited as it describes resources by using named properties and values only. RDF Schema (RDFS) is a semantic extension of RDF. RDFS can describe the relationships between resources and groups of related resources such as classes, subclasses, domains and ranges. 4.2.1.2 Web Ontology Language (OWL)
Web Ontology Language (OWL) is extends RDF(S) to make it easier to express meaning and semantics. Compared with XML, RDF and RDFS, OWL has a stronger ability to represent machine interpretable content on the Web [6]. There are three different sublanguages in OWL: OWL Lite, OWL DL and OWL Full. OWL Full is the superset of OWL Lite and OWL DL. OWL DL is based on description logic and its subset OWL Lite is based on the less expressive logic. OWL Lite supports users’ basic need for hierarchy classification and simple constraints. OWL DL maximizes expressiveness while retaining computational completeness. OWL Full maximizes expressiveness but with no computational guarantees. 4.2.2. Agent An agent is a complex software entity which is situated in an environment to achieve its goals for the user [7]. Different from an arbitrary program, the agent is goal-orientated, persistent, react to the environment and autonomous [8]. There are different types of agents such as 1. Autonomous agent – the agent has the ability to decide when action is appropriate without the need for human intervention. 2. Cooperative agent – the agent can interact with other agents or human via communication language, such as FIPA Agent-based Communication Language (FIPA ACL) [9] and KQML [10], to solve problem together.
An Intelligent Ontology Agent-based Tourist Guiding System
107
3. Intelligent agent – agent has the ability to learn the user preference and adapt to the external environment. 4. Recently, scientists try to build intelligent agents that can mimic human intellectual behavior for the purposes of problem solving, scheduling, data mining and to generally assist humans in all of their activities. The developers of agents have implemented various multiagent systems such as planning and scheduling [11]. Compared with traditional client-server technologies and code-on-demand technologies, systems which developed by using agents technology could have the following advantages [12]: 5. Reduce network loading – In traditional distributed systems, they are mainly rely on the communication protocols involving multiple interactions to complete a task. This leads to a lot of network traffic. It is possible for user to package the conversation to the agent and dispatch it to a destination host. By using such approach, it could greatly reduce the network loading. 6. Reduce network latency – Real time responds are critical for control systems. The network latencies would have a great impact to the control system. By using agent technology, we can dispatch the autonomous agent to the controller to the system. The agent would execute the command directly with respect to the external environments. 7. Asynchronous process – The agents can be dispatched into different host thought the network. After dispatched, the agents are independent and can operate asynchronously and autonomously. 8. Heterogeneous – The agents are work on their execution environments. This enables the agents can work on different hardware and software configuration. It provides a seamless environment for heterogeneous system integration.
4.3 Related Work Related works on ontology includes the Semantic Web proposed by Maedche and Staab [13] using ontology learning techniques, and the application of core ontology technology to enable scalable assimilation of information from diverse multimedia sources on MPEG-21 proposed by Hunter [14]. For applying agents to intelligent inhabited environments, Khedr and Karmouch using ontology model in multiagent system under contextaware environments [15]. Susperregi et al. develop a location-aware intelligent laboratory which used AI technique with agents technology [16]. Hargas et al. has a similar research but they developed an intelligent hotel instead [17].
108
T.H.W. Lam and Dr. R.S.T. Lee
There are a number of research projects related to the tourist guiding systems. CRUMPET is a research project funded by the European Union. The main aim is to create user-friendly and personalized mobile services for tourism [18]. CRUMPET adopted multi-agent technology and GPS technology to create a context-aware system. CRUMPET provides tourists with two different kinds of information: static and dynamic information. Static information is the information collected according to the user’s profile and request. Dynamic information is the information gathered according to the user’s location. CRUMPET also learns user preferences and interests to further filter irrelevant information. CRUMPET does not adopt reuse knowledge from other domains. Cyberguide [19] is a personalized tourist guide for museum visitors. The tourist guiding system provides information to the users based on the data of user’s position and orientation. There are two different types of Cyberguide: indoor and outdoor. However, similar to CRUMPET, it has weak support for knowledge sharing and reasoning. MyCampus [20] is research project developed at Carnegie Mellon University. MyCampus is a semantic web environment for context-aware mobile services. The current implementation of MyCampus combines a number of technologies such as OWL, reasoning, context-aware agent and OWL Rule Extension. The system can provide location-based movie recommendations and weather information. MyCampus is a user-friendly and intelligent application. It fully utilizes the latest Semantic Web technologies. Johanna and Schubert [21] created a web-based virtual exhibition system (VES) based on XML-based digital archive. They defined a rich layered set of metadata of image and text artifacts. These metadata ease the development and maintenance of the content in the system. The idea of a virtual exhibition system is similar to our proposed portal. VES uses XML for processing, which provides syntax for structured documents but has no semantic constraint such as string literal. In this paper, we shows how we integrated a tourist information portal with the latest Semantic Web Technology.
4.4 Ontology-based Tourist Guide In this section, we show the details about the ontology-based tourist guide, iJADE FreeWalker. In Section 4.1, we describe the iJADE (intelligent Java-based Agent Development Environment) framework. In Section 4.2, we describe how we construct of the travel ontology. In Section 4.3, we describe what is iJADE FreeWalker. In Section 4.4, we revealed the system architecture of iJADE FreeWalker.
An Intelligent Ontology Agent-based Tourist Guiding System
109
Fig. 1. iJADE Framework
4.4.1 iJADE Framework iJADE [3] is an intelligent agent-based development environment which is able to develop a fully integrated intelligent multi-agent based system. It is a basic framework and development environment for intelligent agentbased applications. iJADE is a contemporary conceptual model for intelligent agents. It consists four layers (see Fig. 1): 1. Application Layer: This is the uppermost layer that consists of different intelligent agent-based applications. This layer accepts the data result from the conscious later and is connected to external application. 2. Conscious Layer: This is an intelligence layer includes a Sensory Area, Logic Reasoning Area and Analytical Area. 3. Technology Layer: This layer provides all the necessary mobile agent implementation APIs for the development of intelligent agent components in the ‘Conscious Layer’. 4. Supporting Layer: This layer provides a programming language and protocols to support the development of the ‘Technology Layer’. 4.4.2 Construction of the Travel Ontology In this section, we describe how we collected the structural information for and designed the ontology for our travel portal. In subsection 4.2.3 we describe the specific properties of our ontology, making them available for further reuse. Since the ontology of travel is related to areas such as accommodation, dining and sightseeing, instead of modeling all related information, we defined only the upper-level ontology. The upper-level ontology
110
T.H.W. Lam and Dr. R.S.T. Lee
is an ontology that can provide a set of generic concepts which can be shared and reused by different users. To model this upper-level travel ontology, we collected and analyzed a number of travel guide related websites. We used the new travel ontology to develop a tourist guiding system. 4.4.2.1 Structural Data Collection
We collected structural information from a number of travel related web sites. This included terms used in the site map and the website menu. Web developers’ often group related contents into categories. The site structure is a common way for people to define a domain (e.g. travel). Instead of inviting an ontology expert to model the ontology, we collected and recorded the structural information from a number of websites. We collected a number of websites that related to Hong Kong Travel from Google Web Directory and Open Directory (domz.org). In Google Web Directory, there are 27 websites that are related to Hong Kong Travel (Regional > Asia > Hong Kong > Travel and Tourism > Travel Guides). In Open Directory, there are 31 websites that are related to Hong Kong Travel (Regional > Asia > Hong Kong > Travel and Tourism > Travel Guides). Since Google Web Directory integrates its search technology, PageRank [23], with Open Directory for searching, some websites in Open Directory are duplicated in the Google Directory. After removing duplicates, we were left with 32 websites (2 being unreachable). Table 1 shows information about these websites. We visited each website and recorded the structural information. There were 153 terms. After filtering and grouping similar terms, we found the most common term to be “Shopping”. Twelve websites contained this term. Table 2 shows the top ten most common used terms in Hong Kong Travel-related websites. We further filtered and grouped together terms with similar meanings (See Table 3) and used this information to model our upper-level travel ontology. Table 1. Websites related to Hong Kong Travel Guides No.
Name
Address
1
http://www.lonelyplanet.com/dest/nea/hong.htm
3
Lonely Planet - Hong Kong Footprint Guides Hong Kong Regi Tour
4
Dr Martin Williams
http://www.regit.com/regitour/hongkong/regitour. htm http://www.drmartinwilliams.com
5
Walk The Talk
http://www.walkthetalk.hk/
2
http://www.footprintguides.com/Hong-Kong/
An Intelligent Ontology Agent-based Tourist Guiding System 6
12
Arthur Frommer’s Budget Travel Online rec.travel Guide to Hong Kong Hong Kong Tourist Guide + PassPlanet.com - Hong Kong + Hong Kong Hotels Guide 12hk: The Unofficial Guide Hong Kong FastFacts
13
Hong Kong Travel
http://www.hong-kong-travel.org/
14
Writing, Photography and Nature Tourism in East Asia Travelocity’s Destination Guide Stuie’s Hong Kong Page
http://martinwilliams.tripod.com/index.html
7 8 9 10 11
15 16
111
http://www.frommers.com/destinations/hongkong/ http://www.math.toronto.edu/~joel/hongkong.html http://www.yp.com.hk/yptourist_e03/en/html/touri st_index.aspx http://www.passplanet.com/HK/index.htm http://www.hong-kong-hotels-guide.com/ http://www.12hk.com http://www.hkfastfacts.com/
http://dest.travelocity.com/DestGuides/geo_main/ 0,1743,TRAVELOCITY|2771,00.html http://uk.geocities.com/expatbeamish/SB/HK/
17
Hong Kong Tong
http://www.hongkongtong.net/
18
http://www.luketravels.com/hong-kong/
19
Hong Kong Travel Guide Hong Kong on Web
20
Hong Kong Help
http://www.hongkonghelp.com/
21
Visiting Hong Kong
http://www.visitinghongkong.co.uk/
22
Hong Kong Travellers
23
Discover Sai Kung
http://home4u.hongkong.com/lifestyle/travel/hktra vellers http://www.discoversaikung.com/
24
Travallo: Hong Kong
25
Worldsurface.com Hong Kong Guide BootsnAll
http://www.hongkongonweb.net/
27
CNN City Guides: Hong Kong
28 29
Asia Friends Network Hong Kong Tourism Explore Sai Kung
http://www.travallo.de/laender/asia/china/hongkon g.html http://www.worldsurface.com/browse/locationcountry.asp?locationid=112 http://www.BootsnAll.com/asiatravelguides/hk/hk. shtml http://www.whatsontheplanet.com/wow/ptnr/cnn/p age.jsp?fx=destination&loc_id=147486&xml_set= wow.city http://www.countries.asiafriendsnetwork.com/Hong Kong/ http://www.exploresaikung.com/
30
Hong Kong Streets
http://www.hkstreet.com/
31
I Love Hong Kong
http://free.hostdepartment.com/i/ihearthk/
32
UnRealHongKong.com
http://www.unrealhongkong.com/
26
+ - dead link
112
T.H.W. Lam and Dr. R.S.T. Lee
Table 2. Ten most commonly used categories in Hong Kong travel guide websites Rank 1 2 3 4 5 6 7 8 9 10
Category Term Shopping Hotel Getting Around Link Food History Attraction Festival Accommodation Transportation
Frequency 12 6 6 6 5 5 5 5 5 4
Table 3. Ten most commonly used categories after filtering and grouping Rank 1
2
3 4
5 6
7 8 9 10
Category Term See/Sightseeing/Sight/Spots/unique Sights/Interesting Places/Attractions/ Landmarks/Places to visit/Getting Around/Go Arround Food/Cruises/Restaurant/Dining/ Eat/Bars and Restaurants/Eating and Drinking/food & Drink Shopping/Shop/Shopping & Malls/ Buy General Information/General/Overview/ General HK Info/City Facts & Info/ Country Info/History Accommodation/Places to stay/Sleep/ Hotels News & Events/News/Events/Festivals and Events/Festival/Festivals and Holidays/Public Holidays Transportation/Transport/Getting There Others/Misc/Link Nightlife/Night Weather/Local Weather
Frequency 18
16
15 14
13 11
10 6 5 4
An Intelligent Ontology Agent-based Tourist Guiding System
113
4.4.2.2 Travel Ontology Design
To ensure the ontology would be reuse and share with others, we modeled an upper-level travel ontology. Therefore, the ontology could be reused by different users in different regions. After collecting and analyzing the structural information, we defined an upper-level travel ontology. An upperlevel ontology is an ontology that to provide a set of basic concepts. If we modeled all the concepts, the ontology would be too specific and would not be reused by others. The travel ontology contains seven main classes, each with subclasses. Fig. 2 shows the details of the class relationships in the travel ontology.
Fig. 2. Travel Ontology
114
T.H.W. Lam and Dr. R.S.T. Lee
To allow the ontology to be reused by others, we modeled the travel ontology using Web Ontology Language (OWL). The travel ontology is modeled using Protégé [24]. Protégé is a free, open-source platform with a friendly user interface that provides a set of tools for constructing domain model and knowledge-based applications with ontologies. Fig. 3 depicts a partial OWL serialization of the travel ontology. We also created three other ontologies: Cuisine, Shop and District. Fig. 4 shows the classes relationships of the cuisine ontology. … ...
Fig. 3. The partial OWL serialization of the travel ontology
An Intelligent Ontology Agent-based Tourist Guiding System
Fig. 4. Cuisine Ontology
115
116
T.H.W. Lam and Dr. R.S.T. Lee
4.4.2.3 Properties in Travel Ontology
There are a number of class properties in the travel ontology and seven main classes. Each class has its own subclasses and class properties such as: • • • • • • • • •
hasDesc: Description about the resource hasName: Name of the resource hasTelephoneNumber: Telephone number of the resource hasEmailAddress: Email address of the resource hasFaxNumber: Fax number of the resource hasOpeningHours: Opening hours of the resource hasRoom: Number of room of the resource hasStar: Rank (number of star) of the resource hasURL: URL about the resource
We used more than twenty properties to model the ontology. Some class properties, such hasName and hasDesc, are used by different classes. The cuisine ontology has four subclasses; each subclass having a number of instances. The travel ontology dining subclass has a property called hasCuisine which refers to these instances. The travel ontology has around 420 instances among seven main classes for demonstration and evaluation. Fig. 5 shows an instance of hotel in travel ontology. 4.4.3 iJADE FreeWalker iJADE FreeWalker integrates the mobile agent technology and ontology to form an intelligent tourist guiding system. In general, location awareness means the execution of service can be dynamically adapted depending on user’s current location. Nowadays, location-aware mobile tourist guide systems have been designed using two major approaches. The first is a clientserver communication model that uses a remote procedure call (RPC) technique to transmit the location-aware information. The second approach has been to use mobile agent technology. In RPC approach, two separate computers communicate each other over the network by sending and receiving messages. These messages are either requests from clients or responses from server. By using this approach, the network traffic is quite large [22] since the responses often contain a large volume of data. Mobile agents have several advantages over client-server communication approaches. First, mobile agent can roam the Internet with a varying degree of autonomy. This ability to freely migrate across a network allows the agents to perform tasks on behalf of users in heterogeneous network
An Intelligent Ontology Agent-based Tourist Guiding System
117
2113 0088 2113 0011
[email protected] www.marcopolohotels.com 710 5.0 Canton Road The Marco Polo Hongkong Hotel Harbour City, 3 Canton Road, Tsimshatsui, Kowloon 1050.0 Fig. 5. An instance of hotel
environments. The second advantage is that agent technology allows clients and servers to interact even when the user is off-line. This is more efficient for users and this can reduce network traffic. Mobile agent reduces network traffic and communication delay significantly as it is not necessary
118
T.H.W. Lam and Dr. R.S.T. Lee
to transfer large amount of data over the network. Hence, the network bandwidth is utilized in a more effective way. Since mobile devices, such as mobile phones and PDA, have limited storage, bandwidth and calculation power, mobile agent is suitable for these handheld devices. To ensure the usability of the system, the proposed tourist guiding system was developed under agent platform. We developed the location awareness mobile agent which captured the geographical information by using GPS system. We proposed an ontology-based context model to represent tourist information. The context model enables knowledge sharing and context reasoning in tourist domain. 4.4.4 System Architecture iJADE FreeWalker is composed of three major components, 1) iJADE FreeWalker Client, 2) GPS Agent, and 3) iJADE Tourist Information Center. Fig. 6 shows the system diagram of iJADE FreeWalker. 4.4.4.1 iJADE FreeWalker Client
The iJADE FreeWalker Client is a graphical user interface to display the map and tourist information for the user. The client gathers the user’s location information by using the GPS receiver. The GPS receiver is employed to receive simultaneous GPS data and ascertain the user’s location. The GPS receiver is connected with the pocket PC via Bluetooth. Fig. 7 shows the screenshot of the iJADE FreeWalker Client.
Fig. 6. iJADE FreeWalker System Architecture
An Intelligent Ontology Agent-based Tourist Guiding System
119
Fig. 7. Screenshot of iJADE FreeWalker Client 4.4.4.2 GPS Agent
As we all know, mobile device has a narrow bandwidth in wireless connection which is a critical problem in developing a mobile information retrieval system. To overcome such problem, we utilize mobile agent technology in iJADE FreeWalker. In a single request, the agent could conduct multiple interactions with different information database systems. The results are then sent back to the device so as to reduce the network loading. The GPS Agent is a software agent which can freely migrate from one host to another. First, the GPS Agent captures the user location information from GPS receiver. Then, it migrates from the client (end-user handheld device) to a remote iJADE Tourist Information Center through GPRS communication. When the GPS Agent reaches the information center, it will query the server to collect the tourist information with respect to the user’s geographical information by using SPAQRL (For more details, see Section 4.4.3). At last, the GPS Agent returns to client with related tourist information. The client will collect the information from the GPS Agent and show the context information to the user.
120
T.H.W. Lam and Dr. R.S.T. Lee
4.4.4.3 iJADE Tourist Information Center
The Tourist Information Centre has two components: iJADE server and Jena Framework [25]. Jena is an open source Java framework for building Semantic Web applications. It offers a number of APIs for handling RDF, RDFS and OWL. The main purpose of using Jena is to parse and query about the travel ontology. Jena searches the data from the travel ontology by using the SPARQL Protocol And RDF Query Language (SPARQL). Fig. 8 shows an example of SPARQL that is used to get related information about Guesthouse. The search returns as an RDF graph and send back to the tourist information server. iJADE Server acts as a communication platform. It is a container to receive and send GPS Agent through GPRS. When the GPS Agent arrived at the information center, it uses SPARQL statement to parse OWL. The related tourist information will send back to client. After processing, the client displays the tourist information to the user. # Select related information about Guesthouse PREFIX rdfs: PREFIX rdf: PREFIX owl: PREFIX travel: SELECT ?URI ?NAME ?ADDRESS ?DISTRICT ?ROOM ?URL ?EMAIL ?PRICE ?FAX ?PHONE WHERE { ?URI rdf:type travel:Guesthouse. ?URI travel:hasName ?NAME. ?URI travel:hasAddress ?ADDRESS. ?URI travel:hasDistrict ?DISTRICTURI. ?DISTRICTURI travel:districtName ?DISTRICT. ?URI travel:hasRoom ?ROOM. OPTIONAL {?URI travel:hasURL ?URL }. OPTIONAL {?URI travel:hasEmailAddress ?EMAIL }. OPTIONAL {?URI travel:hasStandardRoomPrice ?PRICE }. OPTIONAL {?URI travel:hasFaxNumber ?FAX }. OPTIONAL {?URI travel:hasPhoneNumber ?PHONE } } Fig. 8. A SPARQL example used in iJADE FreeWalker
An Intelligent Ontology Agent-based Tourist Guiding System
121
4.5 Performance Evaluation In this section, we describe two set of tests which used to determine the performance of iJADE FreeWalker. We invited 30 candidates as our focus group; they assisted in judging the “effectiveness” of the system. Details are given as below. We used O2 XDAII Pocket PC with Java Virtual Machine as the mobile device. The model of the GPS receive is Holux GR-230 GPS receiver. The pocket PC and the GPS receiver are interconnected each other by using Bluetooth. The iJADE platform and the iJADE Tourist Guide are installed in the Pocket PC. Fig. 9 shows the iJADE FreeWalker run in the mobile device. In this study, testers are requited to visit a number of places in Tsim Sha Tusi (Hong Kong) by using the iJADE FreeWalker. 4.5.1 Precision Test The aim of this test is to evaluate the precision of received geographical information. In our proposed system, GPS coordinates are used to locate the position of user and nearby landmarks. We invited 30 candidates invited to used the system and then ask these candidates to do a survey on accuracy of system. During the test, the system is connected to the GPS receiver to receive real time GPS location and then the system will gather context
Fig. 9. iJADE FreeWalker
122
T.H.W. Lam and Dr. R.S.T. Lee
Table 4. Accuracy of the iJADE Tourist Guide System with real GPS receiver
Do you think the iJADE Tourist Guide system is accurate? Very accurate Accurate Normal inaccurate Very inaccurate
Number of candidates 2 10 5 7 6
tourist information by mobile agents. The results are tabulated in Table 4. 17 candidates accept the accuracy of result, 6 candidates failed to receive the GPS data, and 7 candidates thought there is a deviation of result. We analyzed the failed cases and concluded that there is a variation in receiving the valid GPS data for two reasons: candidates used the GPS receiver improperly and the poor weather condition. The performance of the GPS receiver is depended on the weather and outdoor environment. We believed that a new generation of GPS receiver could overcome these problems. We concluded that 57% of candidates agreed on the system to provide them the correct location aware tourist information by using the real GPS receiver.
4.5.2 Usability Test In this test, we evaluated the effectiveness of the modeled ontology. After the previous test, we gave 30 candidates a questionnaire to ask whether the system is suitable for tourist. 17 candidates thought that iJADE FreeWalker could replace guidebook for traveling, 13 candidates thought that iJADE FreeWalker is a subsidiary tool for traveling. The result showed that most candidates agreed the system can help tourist find tourism related information. The system was able to receive the categorized and locationaware tourist information according to their geographical information. They could accord the different categorization to find out the information they want. 25 candidates thought that the categorization is very detail and 5 candidates them thought that the information is not precise enough. 5 candidates suggest the system should provide some preference information (i.e., coupon, discount) for restaurants and shops. Since iJADE FreeWalker could run in handheld devices (i.e., palm, PPC), all candidates agreed that the system supports a high degree of mobility and flexibility.
An Intelligent Ontology Agent-based Tourist Guiding System
123
4.6 Conclusion and Future Work In this book chapter, we showed that details how we modeled the travel ontology by collecting and analyzing structural information from a number of travel related websites. Using Google Directory and Open Directory, we collected 32 Hong Kong related travel guide websites. The terms used in the structural information were collected for analysis. After grouping and filtering terms with similar meanings, we defined seven main classes for use in our travel ontology. Each class had its own subclasses and properties. We input around 400 instances based on the travel ontology. To demonstrate how the ontology works, we proposed an ontology-based tourist guiding system, iJADE FreeWalker. We showed that how to integrate mobile agent technology, GPS technology and ontology to create a guiding system. By using the mobile agent technology, it is highly increased the efficient and scalability of the system. The system could run in the handheld device such as PDA and pocket PC. It showed that the proposed system has a high flexibility and mobility. Besides, iJADE FreeWalker supports location awareness. It would provide the tourist information such as sightseeing, entertainment and restaurants for the tourists according to his/her geographical information. By using ontology context modeling, it would retrieve the relevant tourist information and further filter the irrelevant information. The experiments showed that most of the users have a good comment on the iJADE FreeWalker. They thought the system is innovative and useful for tourists. Since we are in the preliminary stage for developing the iJADE FreeWalker, its functionalities are very limited. According to user’s comment, we summarized the suggestions for future enhancement: Voice interface – To extend the usability and interaction, we would like to use voice interface as the input for the system. The system uses Natural Language Processing (NLP) as the communication tool to mimic the humanlike tourist guide. User can chat with the tourist guide and query the relevant tourist information by using voice interface. Learn user preference – To further increase the usability and functionality of the system, we would add a Neural Networks (NN) module to learn the user preferences on the tourist information. Route recommendation – To optimize the tourist route from a set of itinerary with time and money constraints. Fuzzy searching – To provide some custom tourist information based on user’s criteria.
124
T.H.W. Lam and Dr. R.S.T. Lee
In conclusion, we proposed a new approach to model a domain ontology. We develop travel ontology successfully and developed a mobile ontologybased location-aware agent-based tourist guiding system – iJADE FreeWalker. It integrates GPS and agent technology to provide a location-aware tourist information retrieval system. It provides well-organized tourist information by using ontology. Tourists can access the nearby tourist information anywhere and anytime by a small handheld device with limited computation power and limited network bandwidth. In the future, we would enhance the system such as using voice interface, learning user preference and route recommendation.
Reference 1.
2. 3. 4. 5. 6. 7.
8. 9. 10. 11. 12. A. 13.
14.
G. Salton and C. Buckley, ‘Term-weighting approaches in automatic text retrieval,’ Information Processing & Management, Vol. 24(5), pp. 513-523, 1988 T.B. Lee, J. Hendler and O. Lassila, ‘The Semantic Web,’ Scientific American, pp. 34-43, 2001 iJADE, http://www.ijadk.com W3C Semantic Web, http://www.w3.org/2001/sw/ Resource Description Framework (RDF), http://www.w3.org/RDF Web Ontology Language (OWL), http://www.w3.org/TR/owl-features N.R. Jennings, K. Sycara and M.J. Wooldridge, ‘A roadmap of agent research and development,’ Autonomous Agents and Multi-Agents Systems, Vol. 1(1), pp. 7-38, 1998 S. Franklin and A. Graesser, ‘Is it an Agent, or just a Program?: A Taxonomy for Automous Agents,’ http://www.msci.memphis.edu/~franklin/AgentProg.html FIPA Message Structure Specification, http://www.fipa.org/specs/fipa00061/ UMBC KQML, http://www.cs.umbc.edu/kqml M. Pechoucek et al., ‘Agents in Industry: The Best from the AAMAS 2005 Industry Track,’ IEEE Intelligent Systems, Vol. 21(2), pp. 86-95, 2006 D.B. Lange and M. Oshima, ‘Seven good reasons for mobile agents’, Communications of the ACM, Vol. 42(3), pp. 88-89, 1999 Maedche, and S. Staab, ‘Ontology Learning for Semantic Web,’ IEEE Intelligent Systems, Vol. 16(2), pp. 72-79, 2001 J. Hunter, ‘Enhancing the Semantic Interoperability of Multimedia Through a Core Ontology,’ IEEE Trans. On Circuits and Systems for Video Technology, Vol. 13(1), pp. 49-58, 2003 M. Khedr and A. Karmouch, ‘Negotiating Context Information in Context Aware Systems,’ IEEE Intelligent Systems, Vol. 4, pp. 21-29, 2004
An Intelligent Ontology Agent-based Tourist Guiding System
125
15. L. Susperregi, I. Maurtua, C. Tubio, I. Segovia, M.A. Perez and B. Sierra, ‘Context aware agents for Ambient Intelligence in Manufacturing at Tekniker,’ AgentLink Newsletter, Vol. 18, pp. 28-30, 2005 16. H. Hagras, V. Callaghan, M. Colley, G. Clarke, A. Pounds-Cornish, and H. Duman, ‘Creating an Ambient-Intelligence Environment Using Embedded Agents,’ IEEE Intelligent Systems, Vol. 4, pp. 12-20, 2004 17. S. Poslad, H. Laamanen, R. Malaka, A. Nick, P. Buckle and A. Zipf, ‘CRUMPET: creation of user-friendly mobile services personalized for tourism,’ Proceedings of 3G 2001-Second International Conference on 3G Mobile Communication Technologies, pp. 62-74, 2001 18. G.D. Abowd, C.G. Atkeson, J. Hong, S. Long, R. Kooper and M. Pinkerton, ‘Cyberguide: A mobile context-aware tour guide,’ ACM Wireless Networks, pp. 421-433, 1997 19. N. Sadeh, E. Chan, Y. Shimazaki and L. Van, ‘MyCampus: an agent-based environment for context-aware mobile services,’ Proceedings of AAMAS02 Workshop on Ubiquitous Agents on Embedded, Wearable, and Mobile Devices, 2002 20. J.C. Lim and S. Foo, ‘Creating virtual exhibitions from an XML-based digital archive,’ Journal of Information Science, Vol. 29(3), pp. 143-157, 2003 21. S. Brin and L. Page, ‘The Anatomy of a Large-Scale Hypertextual Web Search Engine,’ Proceedings of the 7th International World Wide Web Conference, pp. 107-117, 1998 22. Protégé, http://protege.stanford.edu/ 23. N.M. Karnik and A.R. Tripathi, ‘Design Issues in Mobile-Agent Programming Systems,’ IEEE Concurrency, pp. 52-61, 1998 24. J.J. Carroll, I. Dickinson, C. Dollin, D. Reynolds, A. Seaborne and K. Wilkinson, ‘Jena: Implementing the Semantic Web Recommendations,’ Proceedings of the 13th international World Wide Web conference (WWW 2004), pp. 74-83, 2004
iJADE InfoSeeker: On Using Intelligent Context-Aware Agents for Retrieving and Analyzing Chinese Web Articles
Edward H.Y. Lim and Raymond S.T. Lee Department of Computing, The Hong Kong Polytechnic University, HungHom, Kowloon, Hong Kong,
[email protected]
Abstract In this chapter, we presents iJADE InfoSeeker, an intelligent context-aware agents system that is designed to help users find, retrieve, and analyze news article from the Internet and then present the content in a semantic web. We present the advantages of using multiple intelligent agents to mine news articles on the web, the benefits of using ontologies to analyze the semantics of Chinese text, and also the advantages of using a semantic web to organize information semantically. iJADE InfoSeeker also demonstrates the advantages of using ontologies to identify topics. We use a Chinese document corpus to evaluate iJADE InfoSeeker and the testing result was compared to other approaches. It was found that the accuracy of identifying the topics of Chinese web articles is nearly 87%. It demonstrated a fast processing speed of less than one second per article. It also organizes content flexibly and understands knowledge accurately, unlike traditional text classification systems.
5.1 Introduction Large amounts of information are now available on the World Wide Web (WWW). Numerous web sites publish many different kinds of information in different formats. Users may find it a difficult and time consuming task
E.H.Y. Lim and R.S.T. Lee: iJADE InfoSeeker: On Using Intelligent Context-Aware Agents for Retrieving and Analyzing Chinese Web Articles, Studies in Computational Intelligence (SCI) 72, 127–153 (2007) www.springerlink.com © Springer-Verlag Berlin Heidelberg 2007
128
E.H.Y. Lim and R.S.T. Lee
to find information. iJADE InfoSeeker is designed to make this task easier and faster, helping users search websites for information, integrate the information that it collects, and reporting and recommending information to users. Currently, many web sites have search engines to help users find information but these search engines do not always return search results that are relevant to users’ requirements. In part, this is because most search engines are key-word based, and do not take account of the context and semantics of a text and consequently misinterpret it. Text semantics are a challenge for machine understanding because they are produced through natural language, which is not machine-interpretable. A second problem with traditional web-based information reporting systems is that they lack intelligent features which can do tasks for users automatically and informatively. For example, most traditional reporting systems are pull-based, requiring that user’s make a specific request for information. An intelligent system would automatically seek out information that is relevant to users. An intelligent reporting and recommender system would also tell the user how that information is relevant. iJADE InfoSeeker deals with these issues by using various machine intelligences to retrieve, process, analyze and recommend web-based articles. In particular, it focuses on Chinese web news article as the information domain. iJADE InfoSeeker is developed with algorithms for retrieving and understanding Chinese news articles from the Internet.
5.2 Background This section provides a description of the technologies background and related works of the design of iJADE InfoSeeker. These are intelligent agent technology, web and text mining, ontology, and semantic webs. We also describe the benefits of selecting these technologies. 5.2.1 Intelligent Agents Intelligent agent technology is a new paradigm for designing and developing intelligent software systems [1, 4]. A software agent is a computer program that can act autonomously and proactively. They are mobile and so they can work across different hardware platforms that are connected with different communication networks. Multiple agents are more important in recent research because tasks can be distributed to different agents for individual processing. After that, they are able to collaborate with other agents
Intelligent Context-Aware Agents for Retrieving and Analyzing
129
to complete the task. Intelligent agent technology is important and useful in artificial intelligent computing since every human task can be delegated to a software agent. This means that agents can work for their human owners continuously. This makes work more efficient and saves time. Agents can even help people solve complex problems that people are unable or unwilling to solve. iJADE (intelligent Java Agent Development Environment) is a fully integrated intelligent agent model for developing intelligent agent-based applications [2]. It focuses on the development of applications in multiagent environment and concentrates on autonomous features. It is used to implement the intelligent context-aware agents for mining and text understanding tasks. 5.2.2 Web and Text Mining Web mining is the process of collecting documents from the Internet, and then analyzing the collected documents [3, 5, 6]. It extracts information and discovers useful knowledge from large amounts of information. Text mining is the process of analyzing articles which are written in natural languages. It extracts data, semantics and knowledge from the text [7]. Intelligent context-aware agents is an agent that use some web mining techniques to retrieve documents from the Internet, and use text mining techniques to analyze the data semantics in order to extract useful data and knowledge from Internetbased news articles. iJADE InfoSeeker chiefly focuses on mining Web content mining and is designed using an agent-based approach. 5.2.2.1 Text Mining and Clustering
Text mining is very important in extracting information in web content mining tasks because all data extracted from the web is always in the form of natural language text. Especially when mining information site such as news web sites, which are invariably written entirely in natural languages. Text mining is related to information retrieval (IR) because it sometimes borrows methods and algorithms from information retrieval system research to complete text and information extraction tasks. The related algorithms are briefly described below: Text Clustering and Categorization Text clustering and categorization is the process of classifying a text document into a topic area [9, 10]. Traditional and popular algorithms used in
130
E.H.Y. Lim and R.S.T. Lee
classification include single-link and complete-link hierarchical methods, K-means partition methods, Rocchio TDIDF methods, and Support vector machines (SVM) methods. These methods use similarity measurement to classify document, and it is to measure the similarity between two features vectors in a common feature space. Let’s denote the two features vectors: →
→
x = ( x1 ,..., x m ) and y = ( y1 ,..., y m ) . One widely used similarity function
for measuring the distance between two vectors is the Euclidean distance, known as L2 norm: 1/ 2
⎞ ⎛ m L2 ( x , y ) = ⎜ ∑ ( xi − yi ) 2 ⎟ ⎠ ⎝ i =1 → →
Another similarity measure is the cosine of the angle subtended by two items, known as cosSim (cosine similarity): → →
x⋅ y
→ →
cos Sim( x , y ) =
→
x
→
y
Hierarchical methods use a distance function between clusters. The Kmeans method depends on the notion of a cluster centroid. A centroid is defined as u(C) of a cluster C and is the mean of the group of points that forms the cluster. →
u (C ) =
1 C
→
∑x
→
x ∈C
Rocchio TFIDF operates with the tfidf function to handle text classification and categorization [39, 40]: fi,j = frequency of term i in document j
tf i , j =
f i, j max i ( f i , j )
idfi = inverse document frequency of term i
N ni = tf i , j × idf i
idf i = log tfidf i , j
These algorithms are developed for text clustering, categorization, and classification. However they face several problems such as inefficient,
Intelligent Context-Aware Agents for Retrieving and Analyzing
131
slow in processing speed, ineffective, low accuracy, and the necessity for a training data set. There are areas of improvement of these algorithms, but they are likely to be a base for modification. Novelty methods may possibly be added or combined with them to get a better text categorization and classification system. 5.2.3 Ontology Ontology is a computational model that is defined to describe the concept and relationship of an existence [11, 12]. It is comprised of a set of vocabularies used to describe a particular concept and a set of explicit assumptions as to the meaning of the vocabulary. Ontology in computing is a formal specification of a domain of interest. It enables a computer to process and understand the defined data and knowledge. In practice, an ontology defines a set of shared vocabularies. Systems or agents commit to the ontology can understand the meaning of information and communicate with each other intelligently by the common knowledge support [13]. In short, ontology is a new but essential technology for developing intelligent information systems. Ontologies can be adapted especially for intelligent context-aware agents because they are knowledge-based. 5.2.3.1 Different Types of Ontology
Ontologies can be classified into different types based on their knowledge model. There are three commonly used ontologies: upper, domain, and lexical. Upper Ontology Upper ontologies are limited to concepts that are universal, generic, abstract and philosophical. They are general enough to deal with high levels and broad ranges of domain areas. Concepts defined in an upper ontology are not specific to a particular domain (e.g. medical, science, financial), but provide only a structure and a set of general concepts from which a domain ontology can be constructed. This upper ontology promotes data interoperability, semantic information retrieval, automated reasoning and natural language processing. Existing upper ontologies include SUMO [14] and CYC [15]. CYC is an upper ontology whose domain is all of human consensus reality.
132
E.H.Y. Lim and R.S.T. Lee
Domain Ontology A domain ontology is tied to a specific domain that can be extended from an upper ontology. It should be defined because even some huge ontologies such as CYC contain over ten thousand concepts modeling generic and high-level concepts. But this is still not enough to express the conceptual low-level of a specific domain (e.g. medicine, science, and finance). In order to model domain knowledge and make the information expressive and understandable by machines, domain ontology uses concept formation in the particular area of interest (the domain). A domain ontology is preferably built using an available upper ontology (e.g. SUMO, CYC). This makes it easier to map, integrate share and use different domain ontologies created by different specialists or researchers. Lexical Ontology A lexical ontology is an ontology describing linguistic knowledge. Examples of lexical ontology are WordNet [16], EuroNet and HowNet [17]. WordNet is an English-based system which organizes words on the basis of lexical taxonomical semantic relationships. WordNet can be used only with English-based applications. HowNet is a Chinese-English bilingual lexical ontology that describes semantic relationships between concepts and relationships between the attributes of concepts [18]. It covers over 65,000 concepts in Chinese that are equivalent to about 75,000 concepts in English. A lexical ontology is useful for natural language text analysis, such as named entity recognition, word sense disambiguation, word sense similarity calculation, sense annotation and ontological annotation. 5.2.4 Semantic Web The current Web is largely built on HTML. HTML was originally designed for human use. Current web architectures do not allow machines to process and interpret web data. The semantic web is designed to overcome this problem by enriching web content with markup data. This markup data adds more structural information to the semi-structured information in a HTML page [20, 21]. This markup data increases machine understandability. This increases the ability of agent applications to process web content. There is a close relationship between ontology and the semantic web as ontology is the key component for building content of semantic web. Fig. 1 shows the Semantic Web architecture by W3C [22]. It is separated into different layers that enable the development of a semantic web [22]. Starting from the bottom layer, the self-describable markup language,
Intelligent Context-Aware Agents for Retrieving and Analyzing
133
Fig. 1. Semantic Web architecture visualization
XML, is being used. It enables data exchange across the web but it does not represent any meaning and knowledge embedded in the data. So RDF (Resource Description Framework) and RDF schema [23] is defined to be built on top of XML. It can be used to model the abstract representation of data-meaning and data-semantics. This data in RDF (based on XML) can be easily processed and understood by software agents semantically. Finally, the Ontology knowledge model is modeled in RDF. This comprises the lower layers (data layer) in the semantic web architecture. The upper layer of a semantic web architecture consists of proof and trust. It describes the issues of accessibility, and credibility of the distributed data. Web applications use these layers to reason about the credibility of a derived answer. However, very few technologies in these layers are defined in the current architecture. iJADE InfoSeeker does not deal with these upper layers. 5.2.4.1 Semantic Annotation for the Semantic Web
Annotating web information in RDF meta-data is the key process in building a semantic web. The semantic annotation process [24, 25, 26] requires combining the semantic content and data created by a large number of people. Semantic annotation can be done manually or semi-automatically. CREAM [27] is an example tool for building up annotation meta-data. However, using manual or semi-automatic annotation approaches assumes that the web information is static. Annotating dynamic sources of web information requires fully automated annotation processes. Semantic annotation requires the ontology of the information domain [24, 25, 26]. An annotation datum is the context of the instantiation to ontology (instance of some class or form of the ontology) attached to or linked by an HTML document. A HTML page deployed with an annotation datum
134
E.H.Y. Lim and R.S.T. Lee
makes the information presented have a semantic meaning and puts it in a more structured data format (RDF, OWL) [23]. 5.2.4.2 Semantic Searching and Information Retrieval
Traditional information retrieval systems focus on text-based retrieval and they usually operate on keyword matching. A problem of text-based retrieval systems is that users might not enter enough or sufficiently explicit terms in their query. This may be because users cannot provide appropriate or explicit keywords. Traditional approaches to finding more related terms in user queries make use of query expansion but this usually creates many unrelated terms and reduces precision. Semantic searching is an approach to searching for information at a more abstract semantic level instead of simply matching keywords [21, 28, 29]. This can be done if the documents are well annotated with semantic metadata (with various ontological knowledge supports). Semantic searching requires more support in the upper layer of the semantic web architecture in the form of rules and logic by which the search logics are defined for semantic matching, mapping and retrieval.
5.3 Ontological Multi-agents Based Approach in iJADE InfoSeeker iJADE InfoSeeker carries out information seeking tasks using ontological multiple context-aware agents. This section describes the architecture design of iJADE InfoSeeker, the ontology components being defined, detailed implementation design of different intelligent agents, and the semantic web reporting interface. iJADE InfoSeeker is divided into three sub-modules: an ontology module, an intelligent agent module, and a semantic web module. Sections 3.1, 3.2, and 3.3 describe each of the three sub-modules in turn, detailing their design, as well as the methods and algorithms used to develop them. The main process flow is shown in Fig. 2. The system first obtains web source in HTML, and then extracts content from the HTML. After that, content is further analyzed by using ontologies knowledge to retrieve the text semantics, which is then annotated in RDF, an ontology data format for knowledge storage. A semantic web is built upon on these annotation data together with the article data and presents content to users through the web interface. Details of the ontology that was used will be described in Sections 3.1, 3.2, and 3.3.
Intelligent Context-Aware Agents for Retrieving and Analyzing
135
Fig. 2. System processes flow of iJADE InfoSeeker
5.3.1 Ontology Components for Knowledge Representation Ontology components are used to represent the knowledge schema and data required for semantic analysis of Chinese texts. There are three ontologies defined for agents to analyze and annotate news articles. The first ontology is an article ontology which is defined to allow an article to be described in terms of its semantic content. The second ontology is a topic ontology which is derived and modified from the IPTC topic-set standard [30]. It defines the set of terms of a particular topic area. The third ontology is a Chinese based lexicon ontology that is derived from HowNet [17], a dictionary that is used to analyze Chinese text. These ontologies are then further processed in a feature selection process so, as to prepare the data for topic identification. All of these methodologies are described in detail in the following. 5.3.1.1 Article Ontology
To describe the semantic content of an article, we define an ontology class “Article”. This ontology class is used in the article annotation process. Each article is annotated as an instance of the class Article to express its semantic content in a machine understandable format. The detailed annotation process will be described in Section 3.2.3. Fig. 3 shows the ontology
136
E.H.Y. Lim and R.S.T. Lee
Fig. 3. Ontology Representation of Article ontology class
representation of the Article ontology class. The ontology properties are divided into two types: article data and semantic data. The article data represents the basic textual content about the article such as headline, abstract, and body. While the semantic data represents the semantic content and knowledge contained in the article text, known as semantic entities. We defined six semantic entities that are able to cover all semantic content in a text. They are topic, people, organization, event, place, and thing. These semantic entities are extracted from a text by agents and are annotated in an ontology data format for semantic storage and processed by other agents (e.g. a recommendation agent). 5.3.1.2 Topic Ontology
The Topic ontology is defined to model the area of topic (i.e. subject or theme) in hierarchical relations and is used to identify the topic of an article. The instances of a topic class are a set of controlled vocabularies for ease of machines processing, sharing, and exchange. The class was defined in hierarchical semantic relations. It is likely to be a topic taxonomy but defined in detail, comprehensive and maintained with semantic relations. It is difficult to get a consensus on a topic-like taxonomy. Therefore, we create and derive the topic ontology from the IPTC topic-set [30]. It is treated as a base reference and has been modified to create the Topic ontology. The final outcome of a Topic ontology consists of 1371 topic nodes that are maintained in a three-level hierarchy with semantic relationships.
Intelligent Context-Aware Agents for Retrieving and Analyzing
137
Fig. 4. Semantic relationship of Chinese words in HowNet 5.3.1.3 Lexical Ontology
The lexical ontology is created and derived from HowNet [17], a ChineseEnglish bilingual word dictionary. It models concepts and relations of Chinese terms and it also defines properties and attributes. iJADE InfoSeeker uses part of its structure to analyze Chinese text articles and to understand semantics in Chinese natural language text. The main component in HowNet for defining the Lexical ontology is the sememe definition. The sememe is used to model the concept of Chinese terms by describing their meaning physically, mentally, theoretically, or abstractly. Fig. 4 [17s] shows the sememe definition that models the semantic relationship of Chinese words. The derived lexical ontology is used to extract the semantic entity (as described in 3.1.1) of an article. Semantic entities may be physical or mental, animate or inanimate, natural or artificial, fact or phenomenon. A single or multiple sememe is able to map onto one or more these entities so that a single Chinese term can be related to one or more semantic entity through the semantic network. These semantic entities can be used to find semantic data in an article: people, organizations, places, events, and things. 5.3.1.4 Identifying Topics Using the Ontological Features Selection Process
Feature selection is the process of selecting appropriate sememes that can typically represent a topic class that is defined in the Topic ontology. A very small number of sememes (normally two to ten) are selected for every topic class. Every sememe representing a topic class is assigned a weight, which is used to depict how important the sememe is in representing the topic entry. In brief, there are two main processes in feature selection. First, matching and mapping sememes (in the Lexical ontology) to topics
138
E.H.Y. Lim and R.S.T. Lee
Fig. 5. Mapping topic entry to sememe
(in the Topic ontology), and creating the corresponding feature vector. The second main process is to weight the sememes to make them become a weighted features vector. The Process of Creating Feature Vectors Every topic class in a topic ontology is made up of a set of terms or phrases. A class is further linked with a small number of sememes to form the feature vector. The potential negative effect of the inaccuracy of a small vector is eliminated because entries in the features vector are not simple terms or phrases, but a representative sememe that is selected from the HowNet lexicon ontology. Since sememes are enhanced in the sememe network (as shown in Fig. 3), both a topic and an article analysis can rely on the sememe network instead of explicit term matching. Therefore, a small feature vector sufficiently represents the meaning of a topic class. In addition, a topic ontology is comprised of and maintains hierarchical relations. Ancestor topic nodes can contribute their features partly to their child topic node to enhance taxonomy based relations. Fig. 5 shows the co-relation of a topic ontology and sememes in the lexical ontology. Normalization is necessary. This is done by averaging the total number of sememes constructed in the feature vector because there are different numbers of sememes in each vector. Assume that vi is the feature vector of topic class i :
vi = {s1 , s 2 , s3 ......s n } where s is the sememe entry of the vector. Then, f i , j is the frequency count of the sememe entry s j of the feature vector vi . Thus, SFi , j , the normalized sememe frequency of sememe s j in feature vector vi is defined as
SFi , j =
f i, j
∑f j
i, j
Intelligent Context-Aware Agents for Retrieving and Analyzing
139
After the normalization process, a feature vector is formed and is further processed by feature weighting. Feature Weighting The sememe entries in the feature vector are further weighted by the importance of the feature to the topic node. This is done in a similar way to the method used in the tfidf weighting algorithm in an information retrieval system. First, a corpus consists of N documents which are able to cover all the sememes obtained as the training examples. Then, terms in the documents are extracted and linked to sememes by a sememe network in HowNet. After that, the sememe frequency ( f j ) is treated as the term frequency ( tf ), and the document frequency ( df j ) can also be obtained. Finally, the weighting s i , j is defined as:
wi , j =
f i, j
∑f
i, j
j
⎛ N × log 2 ⎜ ⎜ df ⎝ j
⎞ ⎟ ⎟ ⎠
Features Vector Creation Algorithm Assume the set of topic classes is For i from 1 to n Extract
list
of
{c1 , c 2 , c3 ......c n }
sememe
for
ci :
( s1 , f1 ), ( s 2 , f 2 )......( s k , f k ) For j from 1 to k Normalize Weight
nf j = f j / sum( f1 to f k )
wf j = f j × weight ( s j )
Next Return
features
vector
for
ci :
vi =< ( s1 , wf 1 ), ( s 2 , wf 2 )......( s k , wf k ) > Vectors
for
all
topic
classes
obtained:
{v1 , v 2 , v3 ......v n } These feature vectors are used in a topic identification process which is done in the agent modules. The usage and algorithm will be further described in Section 3.2.3. Fig. 6 shows a simplified example of feature vectors being constructed.
140
E.H.Y. Lim and R.S.T. Lee
Fig. 6. Feature vector construction
Fig. 7. Data flow between four agents
5.3.2 Multi-agents Components Four different kinds of agents are defined to process different tasks individually and work in a multi-agent environment (in one or more iJADE Server). The four different kinds of agents work in a multi-agent environment architecture. The multi-agent environment is able to communicate with both a WWW source and a data module (ontology and database) in iJADE InfoSeeker. Fig. 7 shows the information flow between different agents. The information processing task is divided into four sub-tasks for agents to handle separately and individually. Basically, each agent processes its sub-task and provides data for the next agent to further process, and each of them stores the processed data (most properly in a database) that contributes to the whole task. This breaks down the whole complex task into smaller components that an agent can handle more easily and some tasks can also be assigned to more agents if necessary. This is efficient when tasks are being distributed to the different iJADE servers that hold the specific agents. 5.3.2.1 Info-Retrieval Agent
An Info-Retrieval agent is an agent that gathers information from the internet. It connects to the internet to retrieve web pages to obtain useful articles as sources of information. Articles are mainly from popular international news publication web sites such as the BBC. This is one source used in this project. All news articles are retrieved by the Info-Retrieval agent. This agent can automatically retrieve and continuously update news articles from remote
Intelligent Context-Aware Agents for Retrieving and Analyzing
141
sites. The Info-Retrieval agent uses web mining techniques to expose the link structures in a specific site or makes use of RSS [79] to retrieve the most recent news links from a target news web site. 5.3.2.2 Info-Analysis Agent
An Info-Analysis agent seeks to analyze and understand the semantic content of articles collected from web sites. Since all articles are written in natural language text in Chinese, it is necessary to use an effective and accurate text analysis method. Accuracy and speed are important so some complex natural language processing (NLP) methods will not be all applied by the agent. However, some of them will be adopted in analysis and also will be used with the fast statistical predictive approach, to be combined with a fast processing text analysis by this agent. An ontology approach is also used with a developed algorithm to process topic identification processes. Fig. 8 shows the main process flow for text analysis applied in infoanalysis agent. Textual Analysis The first task in textual analysis is text segmentation. Chinese text segmentation is different from English text segmentation since there are no text delimiters in Chinese that can separate sentences into “word” tokens. The text segmenter adopted in this analysis agent works with a version of the maximal matching algorithm. The algorithm tries to match the longest word possible when looking for a word token. This is a simple and effective algorithm for tokenizing Chinese text which will not take note of proper names if they were not defined in the ontology knowledge. Identifying and extracting unknown proper names without ontology support is meaningless and so there are no negative effects from ignoring it. The algorithm hence requires a file with a list of lexicons which is derived from the lexical ontology. Using same lexicon throughout the system makes textual and semantic analysis consistent.
Fig. 8. Main process flow in info-analysis agent
142
E.H.Y. Lim and R.S.T. Lee
Fig. 9. Linkage between article text and lexicon ontology
Sememe Extraction The purpose of sememe extraction is to extract a list of related sememes from a “word” in the article. The sememe is extracted with the used of a lexical ontology [17, 18]. Every single word can be mapped into one or more sememes based on the HowNet definition. After the sememe extraction process, an article text is conceptually and semantically linked to the HowNet lexicon. This linkage is created like a semantic bridge between the article text and the HowNet lexical ontology, while the semantic bridge is defined by a set of related sememes, as shown in Fig. 9. Entity Ontology Matching The sememe is then matched and mapped onto the abstract concept. The abstract concepts are defined in the entity ontology (refer to section 3.1.3). Five different types of abstract concepts are used and matched. They are people, organizations, places, events, and things. The frequency of an abstract concept is counted if it exceeds a predefined threshold. This step further processes the sememe so as to find its related concept. The following shows an example article extracted from the BBC [31]: An Example News Article in Chinese
Intelligent Context-Aware Agents for Retrieving and Analyzing
143
In the above example, we first identified the most important and dominant words and their corresponding frequencies. These are assumed to represent the key ideas of the article: 美國, 天文學家, 地球, 星系, 地球. The most dominant words are identified by their word sense, frequency, and weight. This process extracts the most important terms. These represent the whole text and are put into a term vector to represent the article: v = {美國, 天文學家, 地球, 星系, 研究, 宇宙……} Sememe Weighting The following example shows the outcome of semantic matching. It shows that five vectors and each of them comprise a list of sememe entries with its corresponding weightings. This semantic matching can be used to form an instance of the article’s semantic representation. The article’s semantic representation is the instance of Article ontology that was defined in the ontology module (refers to section 3.1.1), as shown in Fig. 10. : [ (5): :[ (3): :[ (2): :[ (16): :[ (3):
(3)] (3)][ (2)] (12) (2)]
(3): (2)][
(3)][ (4):
(3):
(3)][
(2):
(2)][
(2):
(2)]
(4)]
Fig. 10. Semantic entities matching
Topic Identification The main process of topic identification [32] is to find the set of topics that the article is related to. This can be treated as the categorization or classification of articles but there are multiple topics being identified rather than only one category or class to be classified as in a normal categorization or classification process. The terms of the topic being identified are limited to the
144
E.H.Y. Lim and R.S.T. Lee
topic class constructed in the Topic ontology (as described in Sub-section 3.1.2). The process of identifying a related topic includes calculating and giving a score (or weight) to every topic node in the Topic ontology tree. The scoring process is the main part of topic identification. First, the sememe is extracted from the semantic representation of the article. Second, the sememe is matched into every feature vector that corresponds to every topic node in the Topic ontology (feature vectors are created in the ontology module as described in Sub-section 3.1.4). An article’s sememe was already weighted in the previous step but the feature vectors are weighted in the features selection step, so there are two weighting score in both representations for use in the calculation. We assume that the set of ontology topic nodes is {c1 , c 2 , c3 ......c n }, and pay no regard to the relationship of hierarchical levels. Then we can obtain the features vector {v1 , v2 , v3 ......vn } for every class ci with vi = < ( s1 , wf 1 ), ( s 2 , wf 2 )......( s k , wf k ) > while wfi,j is the weighted score of the sememe sj in vector vi. Then, the article’s sememe list is defined by v m = < ( s1 , wf 1 ), ( s 2 , wf 2 )......( s k , wf k ) > for article m, and wfm,n is the weighted score of sememe sn in vector vm. The score of class ci for article am is defined as
score(a m , ci ) = ∑ wf i , j⋅wf m ,n for every j = n It is possible to refine the hierarchical score of every class. This is to pass a parent’s topic score to a child topic, by simple addition. If score(a m , ci ) > 0 then
score(a m , ci ) = ∑ wf i , j⋅wf m ,n + score(a m , parent (c x )) End If After that, related topics are identified by sorting highest score (Fig. 11).
Fig. 11. Topic identification result for the sample article
Intelligent Context-Aware Agents for Retrieving and Analyzing
145
5.3.2.3 Info-Annotation Agent
The Info-Annotation Agent annotates the information content into a semantic ontology based format. The ontology based format used is RDF, which is the schema defined and constructed in the ontology module. This agent defines and creates an instance RDF file for the RDFS schema. This takes advantage of semantic storage because every machine understands the ontology storage standard. This is also required for creating a semantic web in the data layer so that an agent can use shared ontology to understand the semantic content of information provided in the semantic web. Information is stored in this persistent ontology representation rather than in a full natural language text, thus providing better management and sharing of knowledge inside the information because RDF is standard annotation format for ontological semantic representation. RDF annotation also enables semantic querying of the semantic web. Semantic querying is constructed to query the information stored in RDF. This enhances the semantic search by querying based on the classes, attributes and properties defined in RDFS or from imported ontology stored in RDF(S). Sesame RDF databases are used in order to stored the RDF in a database management system (DBMS). Fig. 12 shows the RDF storage and annotation data.
Fig. 12. RDF annotations for article
146
E.H.Y. Lim and R.S.T. Lee
5.3.2.4 Info-Recommendation Agent
iJADE InfoSeeker adopts an ontology based recommendation approach to develop the recommendation agent. Recommender system aims to provide articles that might be relevant or of interest to users [33, 34]. There are two different types of recommendation process. The first type is personalized content based recommendation that makes recommendations based on user preferences. It provides a personalized list of articles to users when users are online. The second type is similar-content recommendation that recommends news articles with similar content. It immediately recommends related articles to users based on the current article that the user is browsing. An agent is required to use domain ontology knowledge, annotated information data, and also the ontological user profile, together with the recommendation rules for recommendation. This is the underlying knowledge data for processing the personalized content. The following describes the two recommendation types. Personalized Content Based Recommendation The first type of recommendation agent is a personal content based recommendation agent. It is able to record the reading behavior or habit based on the user’s reading history and previous browsing action. It keeps an ontology based user profile for the target users and then tries to find out what related subject and news information content is of interest to them. It then analyzes the similarity of all the news content with the user’s reading interest so that it can recommend and report only news of potential interest to the target user. The recommendation agent maintains the ontology content based profile for the user, and a utility function u(c, s) is defined to find the score of content s to user c: up(c, s) = score (OntologyContentBasedProfile(c), Content(s)) By using the profile vector, the agent is then able to calculate the ontological similarity between the profile of user c and content s: →
→
u p (c, s ) = similarity ( wc , ws ) = ∑ wf c , j⋅ wf s ,n for every j = n Because a user’s interests are continuously changing, the user profile should be created with a time factor. A browsing history that is too old
Intelligent Context-Aware Agents for Retrieving and Analyzing
147
should not be involved in creating the user profile, while the time factor adjusting the ontological user profile is involved in the profile calculation. Similar Content Recommendation The second type of recommendation agent is similar to the content based recommendation. It is used when the user is browsing a particular news article. At the same time the agent is able to find news articles with similar content to the current article by measuring the similarity of semantic entities (i.e. subjects, people, places, events). The goal of the utility function for calculating a score is to identify a degree of similarity of content m and content n, defined as uc (m,n) = → → similarity ( wm , wn ). Particular semantic entities may require different weights. For example, the subject may be the most important issue in retrieving semantically similar content. However, it may vary based on different user interpretations and may also vary from different article contents. That is, for example, there should be a close semantic content relationship between different articles about a movie star (a semantic similarity in people). But there may be another type of relationship based on an event: for example, two different reports of the result of a tennis match regardless of who is involved in the match. For this reason, the agent is required to change the way it retrieves the semantically similar content news with different attributes, these attributes might be the preferences that is defined by user. 5.3.3 Semantic Web A semantic web module refers to the user interface design and layout for representing information in a semantic manner. It is the main interface for users to view and browse all the information obtained from the agent module. The web interface can accept user requests and then process them directly or forward them to an agent for processing. The server collects responses from an agent (if any) comprising the result and presents the information in a web page. A web module is developed by following the data layer of the W3C semantic web architecture [22, 35]. The purpose of building the semantic web is to add machine readable data into web content in order to make it machine understandable. In addition, content in a semantic web is largely supported by ontology vocabularies that are required in the data layer.
148
E.H.Y. Lim and R.S.T. Lee
Fig. 13. Semantic web components in iJADE InfoSeeker
These also provide the ability to organize the information with semantic relations and it is the main reason for developing the semantic web module.
5.4 Testing and Evaluation Topic Identification Precision Precision the topic identification process is evaluated by using a Chinese text corpus. The corpus is classified into five topics and thus the corresponding five level-1 topic classes in the Topic ontology are selected for this evaluation. The average topic identification precision rate is about 87%. This is highly acceptable rate for a text classification system. The goal of efficiency measurement is to measure the speed for the topic identification process. There are many algorithm exists in text classification and categorization, such as artificial neural networks (ANNs) and Rocchio-TFIDF. Previous results from other researchers show that a TFIDF algorithm performs faster than an ANN algorithm and it is quite a speedy algorithm for text classification compared to many other algorithms. Therefore, this test focuses on comparing the speed of identifying a topic of iJADE InfoSeeker and a traditional Rocchio-TFIDF algorithm. Topic Identification Processing Speed The test is processed by three different document sets selected in the testing document corpus. Each of them contains 300 articles that are written in Chinese text with similar numbers of characters. The results (see Table 1) show that iJADE InfoSeeker is very fast compared to the TFIDF approach. It takes on average less than one second to process a document. Moreover, multiple topics are already identified in the time spent.
Intelligent Context-Aware Agents for Retrieving and Analyzing
149
Table 1. Time taken for identifying topic of three document sets
TFIDF Document Set 1 Document Set 2 Document Set 3 Average
1561 seconds 1692 seconds 1564 seconds 1606 seconds
iJADE InfoSeeker 202 seconds 232 seconds 206 seconds 213 seconds
Multiple Topic Identification Some articles are treated as incorrect when matching to the original category but this problem can be covered in a multiple topic identification process. This is because most of those articles treated as “incorrect” actually match multiple topics. An example with its title and abstract is given below: 如何培養藝術人才
藝術人才的培養,是關乎藝術事業能否發展的大事。過去的幾十 年裡,我國在這方面積累了豐富的經驗,形成了一套體系,總結 了自己的理論,造就了難以計數的人才,不但為我們自己,也為 世界貢獻了藝術棟梁。然而不可否認的是,在體製、環境、理論 、實踐等方面,我們的藝術人才培養也存在一些弊端,生長了一 些痼疾,妨礙了藝術事業的進說。當我們面臨新的世紀,跨入了 新的時代,想要適應與以往不同的藝術生長環境,就必須對藝術 人才培養領域進行改革,提出跨世紀的培育規劃,創造更合理的 教育製度,才能滿足藝術事業的快速發展。 為了讓人們關注、探討藝術人才的培養問題,我們特意采訪了一 些藝術專家,請他們暢談了看法。我們今后還將發表其他專家的 意見,也懇請讀者賜稿,就此問題表明見解。 In the above example, the original category defined is education. However the system identified this article as art. By human justification, both categories can be treated as correct with nearly the same dominant concepts in both categories. In conflict with the initial human interpretation, the system concluded that the article contained a larger number of more important concepts about art than about education. But since iJADE InfoSeeker is a multiple topic identification system, it can assign both these topics (education and art) to this article at the same time with different scores, to enhance the correctness and give an even better result to the original category.
150
E.H.Y. Lim and R.S.T. Lee Table 2. Comparison between different algorithms
Classification speed Corpus training Corpus training time Classification flexibility Semantic understanding Classification accuracy
ANN Low Required Medium Low Medium Low
TFIDF Medium Required Medium Low Medium High
InfoSeeker Fast Not required None High High High
Comparison to Other Algorithms Besides the time and speed factors discussed above, there are also other different performance achievements for the iJADE InfoSeeker. (See Table 2)
5.5 Discussion and Future Work The four different types of agents in iJADE InfoSeeker effectively carry out info-seeking task for users. These agents can co-operate to complete entire tasks efficiently. By using different ontologies, agents can understand the context of an article more accurately and identify the topic that each article is related to. Semantic annotation provides the advantages of fast retrieval of semantically similar articles from a large text corpus, which is used to create the recommendation content. These semantic relations based on the semantic similarity are created autonomously by agents in a way that many existing system are unable to do. Using personalized agents to keep track of user interests means that users are not required to be aware of what they are interested in. This concern can be delegated to the agent, which can deal with this autonomously. This is efficient for users because they do not need to be aware of what sorts of topics they have been reading recently. The topic area of interest can be automatically discovered by their agent, so that users can get all of the recommended articles from their personalized agent effortlessly. Some extensions to this system remain for future work. First, the ontology can be extended into a more complex structure to enrich the agent’s knowledge about everything that appears in the article. For example, ontology for named people in Chinese can be an extremely large ontology. iJADE InfoSeeker is able to recognize extremely famous people in an article but it cannot recognize people of narrower celebrity such as many sports or entertainment identities. Suitable ontologies might be available
Intelligent Context-Aware Agents for Retrieving and Analyzing
151
on the Internet. If such ontologies are available, what we need to do is to map these new ontologies into iJADE InfoSeeker so that it is possible for all of the agents to share. Another enhancement related to ontology is the definition of the upper ontology. Most current existing ontologies are less correlated to the common upper ontology. This makes the building of a semantic web limited to the data and vocabularies layer. To implement and realize the higher layer of a semantic web, i.e. the logic layer, a more comprehensive ontology schema with logics must be defined.
5.6 Conclusion and Summary iJADE InfoSeeker is a multi-agent system that can help users find information on the Internet. In this implementation we focus on news articles. An ontological multiple context-aware agent based approach is adopted and four agents are created to work in the multi-agent environment to complete tasks. iJADE InfoSeeker can retrieve and analyze Internet article texts autonomously and intelligently so that it can deliver content to users more effectively.
References 1. 2. 3. 4. 5. 6. 7. 8.
9.
Lee, R. S. T. Fuzzy-neuro approach to agent applications: From the AI perspective to modern ontology. Springer, 2005. iJADK – intelligent Java Agent Development Kit, http://www.ijadk.com/. Lee, R. S. T. & Liu, J.N.K. A Web-based Mining Agent based on Intelligent Java Agent Development Environment (iJADE) on Internet Shopping, 2001. Jennings, N. R. & Wooldridge, M. Applications of Intelligent Agents, Agent technology: Foundations, applications, and markets. pp. 3-28, 1998. Change, G., Healey, M. J. & McHugh, A. M. Mining the World Wide Web: An information search approach. Kluwer Academic Publishers, 2001. Franke, J., Nakaeizadeh, G. & Renz, I. Text mining: Theoretical aspects and applications. Physica-Verlag, 2003. Li, Y. & Zhong, N. Capturing Evolving Patterns for Ontology-based Web Mining. Proceedings. IEEE/WIC/ACM International Conference on 20-24 Sept. WI 2004. pp. 256-263, 2004. Widyantoro, D. H. & Yen, J. Relevant data expansion for learning concept drift from sparsely labeled data. IEEE Transactions on Knowledge and Data Engineering vol.17, no.3 pp. 401-412, 2005. Joachims, T. A probabilistic analysis of the Rocchio algorithm with TFIDF for text categorization, 2002.
152 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
E.H.Y. Lim and R.S.T. Lee Aggarwal, C. C., Gates, S. C. & Yu, P. S. On using partial supervision for text categorization. IEEE Transactions on Knowledge and data Engineering, vol. 16, no. 2 pp. 245-255, 2004. Gruber, T. What is ontology? http://www.ksl.stanford.edu/kst/what-is-anontology.html. Maedche, A. Ontology learning for the semantic Web. Kluwer Academic Publishers, 2002. Patel, M. & Duke, M. Knowloedge Discovery in an Agents Environment. ESWS 2004, LNCS 3053 pp. 121-136, 2004. SUMO – Base Ontology, http://virtual.cvut.cz/kifb/cnt/ont/sumo-baseontology.html. OpenCYC – Formalized Common Knowledge, http://www.opencyc.org/. Fellbaum, C. WordNet: an electronic lexical database. MIT Press, 1998. HowNet – Computation of Meaning, http://www.keenage.com/. Guan, Y., Wang, X. L. & Kong, X. Y. Quantifying semantic similarity of Chinese words from HowNet. Proceedings of the First international Conference on Machines Learning and Cybernetics, Beijing, 4-5 Nov 2002. Gan, K. W. & Wong, P. W. Annotating information structures in Chinese text using HowNet, 2004. Davies, J. & Fensel, D. Towards the semantic Web: ontology-driven knowledge management. Wiley, 2003. Patel, C. & Superkar, K. E. OntoKhoj: A Semantic Web Portal for Ontology Searching, Ranking and Classification, 2005. W3C Semantic Web, http://www.w3.org/2001/sw/. W3C Resource Description Framework (RDF), http://www.w3.org/RDF/. Handschuh, S. & Staab, S. Annotation for the semantic web.: IOS Press, 2003. Schreiber, A. T., Dubbeldam, B. & Wielemaker, J. Ontology-based photo annotation. IEEE Intelligent Systems May/June 2001, pp. 66-74, 2004. Soo, V. W., Lee, C. Y. & Li, C. C. Automated semantic annotation and retrieval based on sharable ontology and case-based learning techniques. Proceedings of the 2003 Joint Conference on Digital Libraries, 2003. Handschuh, S. & Staab, S. CREAM - CREAting Metadata for the semantic web. Computer Networks. 42, pp. 579-598, 2003. Hyvonen, E., Saarela, S. & Viljanen, K. Application Ontology Techniques to View-Based Semantic Search and Browsing. ESWS 2004, pp. 215-220, 2004. Gao, M., Liu, C. & Chenf, C. An Ontology Search Engine Based on Semantic Analysis. Proceedings of the Third International Conference on Information Technology and Applications (ICITA’05), 2005. IPTC - NewsCodes – List, http://www.iptc.org/NewsCodes/nc_ts-table01.php BBCChiense.com | XML Feed - http://newsrss.bbc.co.uk/rss/chinese/simp/ news/rss.xml.
Intelligent Context-Aware Agents for Retrieving and Analyzing 32. 33.
34. 35. 36. 37. 38.
153
Clifton, C., Cooley, R. & Rennie, J. Data mining for topic identification in a text corpus. IEEE Transactions on Knowledge and Data Engineering, vol. 16, no. 8 pp. 949-964, 2004. Adomavicius, G. & Tuzhilin, A. Toward the next generation of recommender systems: A syrvery of the state-of-the-art and possible extensions. IEEE Transactions on Knowledge and Data Engineering vol. 17, no. 6 pp. 734-749, 2005. Li, Y. & Zhong, N. Capturing evolving patterns for ontology-based web mining. Proceedings of the IEEE/WIC/ACM International Conference on Web Intelligence 2003. Bontas, E. P. & Schlangen, D. Ontology engineering for the semantic annotation of medical data. Proc. of the 16th International Workshop on Database and Expert Systems Applications (DEXA’05), 2005. Lin, S. H., Chen, M. S. & Ho, J. M. Intelligent internet document organization and retrieval. IEEE Transactions on Knowledge and Data Engineering (SCI), vol. 14, no. 3, 2004. Xi, C. Z. & Ibrahim, T. I. A Keyword-based semantic prefetching approach in internet news services. IEEE Transactions on Knowledge and data Engineering, vol. 16, no. 5 pp. 601-611, 2004. Lu, J., Rahman, U. & Yao, S. An intelligent search agent system for semantic information retrieval on the internet. ICITA 2005.
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
Trevor Martin(1), Basim Majeed(2), Beum-Seuk Lee(2), and Nick Clarke(1) (1) (2)
Artificial Intelligence Group, University of Bristol BS8 1TR UK BT Research and Venturing, Ipswich IP5 3RE UK
Abstract The automated care and monitoring of vulnerable people is becoming a reality with the rapid development and improvement of networked sensor technologies. Many researchers have shown considerable success in determining immediate causes for concern in well-being, such as detecting falls in the home. To date however, little emphasis has been placed on monitoring well-being in a long-term sense, known as third generation telecare. The system described in this paper involves a customised sensor network, able to detect a person’s movements and use of furniture and household items, coupled with a sophisticated fuzzy data analysis process able to infer activities that the monitored client is undertaking and thus answer high level queries such as “is the person eating regularly”. The system also detects abnormal patterns of behaviour and provides tools for long-term trend analysis such that gradual and subtle changes in behaviour can be clearly understood. Soft computing techniques are needed due to the high degree of uncertainty in the inference process. We also describe a trial of the system, which was installed in two homes. Results indicate that fuzzy analysis enables us to summarise the data in a manner which is useful to the care providers without them needing to be experts in data analysis.
T. Martin et al.: A Third-Generation Telecare System using Fuzzy Ambient Intelligence, Studies in Computational Intelligence (SCI) 72, 155–175 (2007) www.springerlink.com © Springer-Verlag Berlin Heidelberg 2007
156
T. Martin et al.
6.1 Introduction Many countries face rises in the number of elderly people, with consequent increases in the cost of care. As a general rule, it is preferable for the elderly to remain in their own homes for as long as possible and a number of research projects have looked into home-based telecare and telemedicine systems as a way of increasing quality of life for the elderly as well as reducing the cost of care [1-3]. Telemedicine aims to remotely monitor specific physiological parameters of a person (such as blood sugar levels, blood pressure, etc [4]) whereas telecare [5] is a less specific form of monitoring looking to generate alerts in “emergency” situations. We can identify three generations of telecare – first generation systems are typically “panic-alarms”, often worn as pendants or around the wrist, enabling a client to summon help in the case of a fall or other emergency. Second generation systems use sensors to detect automatically situations where assistance is needed, sending an alarm to a central monitoring agency over a telecommunications network. Third generation telecare systems move away from the reactive approach and adopt a more pre-emptive approach, so that early warning of possible “emergency situations” is available. There is a clear increase in the amount and nature of intelligent processing through these generations – first generation systems rely on the person to activate the alert, second generation systems infer the need for an alert by monitoring particular activities or inactivity within the home through the use of ambient sensors. and third generation systems signal the possibility of an alert at some point in the future by looking for significant changes in a person’s “well-being”. Whilst it is difficult to create a rigorous definition of well-being, it is reasonable to say that a change is usually reflected by changes in the daily activities of the person, which may not be immediately observable, but can be detected over a longer period of time. Well-being is clearly related to a person’s “quality of life”, but beyond this there appears to be no straightforward or agreed definition. In order to build a system capable of monitoring changes in well-being, it is first necessary to develop an understanding of what constitutes well-being for the relevant group of people – in this case, the frail elderly. The model of well-being used within this project was based upon a definition for well-being as used by the World Health Organisation [6]. This definition suggests that well-being consists of three separate but interrelated components: mental well-being, social well-being and physical well-being. Each of these components, and hence a person’s overall or general well-being, is determined by their experience of everyday life. In turn, this is determined by the activities they perform or fail to perform as
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
157
well as by personal and context factors, which also affect the type of activities they perform. Current methods used by carers for determining changes in an individual’s well-being are based upon observing the individual and asking them relevant questions about their everyday lives. However, many older individuals are fiercely independent and may not always be willing to provide honest answers if they believe this might lead to a loss of independence or might create extra burden for a carer. In addition, observing an individual in this way provides only snap-shots of their well-being, and the frequency of these snap-shots depends upon the resources of the carer. Ambient sensors can be deployed to monitor specific activities within the home, in order to provide more detailed information about the individual to the appropriate carer. The carer could use this information in conjunction with their observations to create a more detailed, accurate and up-to-date understanding of changes in the well-being of that individual. The system outlined in this paper is a concrete demonstration of ambient intelligence, made possible by advances in sensor design and the continuing reduction in the cost of processing data. The system is an implemented third generation telecare system which has been tested in homes of elderly clients over a long term (6 to 18 months). It is installed within a home as a customised sensor network, able to detect a person’s movements and use of furniture and household items. To preserve an acceptable level of privacy, no visual information (e.g. camera images) is collected and the occupant can choose the type and number of sensors used. The sensors are designed to operate discreetly, such that the occupant need not interact directly with any component. Data collected from the system is transmitted to the care provider over a broadband connection. Once received, the care provider can ask questions about the data, with the data server reporting an intelligent analysis of the situation and behaviour of the client. The caregivers using the remote monitoring system are unlikely to be data analysis experts, so the reports and predictions returned need to be conveyed in a fashion that explains the results clearly. This paper discusses the development of an intelligent monitoring and analysis system for this purpose. This system is responsible for analysing sensor data in order to detect subtle changes in the ability of a person to carry out their daily living activities, and to relate these to specific aspects of their wellbeing status. With intelligent assistance, a care provider can use this low level data (e.g. kitchen sensor activated; cold water run for 20 seconds; kettle switched on for 60 seconds; fridge door opened) to make judgments about the house occupant’s well-being by answering questions such as “is the occupant eating regularly” “is the occupant’s social interaction increasing or decreasing”, “has the occupant’s sleep pattern
158
T. Martin et al.
changed significantly in the past few months” etc. This is a very substantial inference and learning task and the nature of the data and queries make a soft computing [7] approach a natural choice. Initial trials of the system indicate that intelligent data analysis and reasoning enables us to make plausible inferences of this type with a high degree of accuracy. The rest of this paper is dedicated to the design issues and results of the work carried out on the intelligent monitoring and analysis system. Section 2 provides an overview of the system. Sections 3 outlines the data analysis techniques used, focusing on the pre-processing and analysis required for two of the monitored activities. The user interface/functionality of the reporting components is described in Section 4, and Section 5 discusses how video observations are used to validate the results of the data analysis. Finally, Section 6 contains the conclusions of this paper.
6.2 The Sensor Network 6.2.1 What Should be Monitored? The idea of “well-being” is intuitively easy to understand but intrinsically impossible to define rigorously or measure objectively. There is an underlying idea that well-being is in some way about the “quality” of someone’s life, but beyond this there appears to be no straightforward or agreed definition. In order to build a system capable of monitoring changes in well-being, it was first necessary to develop an understanding of what constitutes wellbeing for the target group, in this case the frail older people. Other research within this project [8] identified a number of activities which could be monitored through the use of ambient sensors. These activities can be grouped into three categories: • Social interaction: meeting people inside and outside of the home. • Personal goals: activities which give meaning and interest in life such as hobbies, caring for others and one’s self. • Activities of Daily Life (ADL): basic but important activities such as cooking, washing, cleaning etc. Within each of these categories, a number of important activities were chosen. Modelling how an individual might perform each of these in order to identify changes that might affect well-being is a huge task that is beyond the resources available to this project. For this reason a restricted set of activities was chosen, specifically:
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
• • • • • •
159
Leaving and returning home Receiving visitors Preparing food and eating Sleeping patterns Personal appearance Leisure activities
Several questions relating to each of the activities were generated by an expert group [8] and posed to the data analysis team in order to provide answers that can indicate the status of the activity and its contribution to the well-being of the client. The sensor network employed in this project included [9] • passive infrared (PIR) sensors to pick up occurrences of movement in various rooms, • toggle switch sensors to detect when windows, entrances, and cupboard/ kitchen appliance doors are opened • vibration and temperature sensors to detect use of water • pressure sensors to indicate occupation of chairs and bed Although this provided a very restricted dataset consisting of few specific details about household events, plenty of information could be inferred as to the general level of activity within the home, and the changing location of the client. This made it possible to determine the state of a number of activities of daily living. 6.2.2 Pre-processing Two stages of pre-processing were applied in order to remove inconsistencies and to convert the data to a more suitable format for use by the analysis algorithms. Whilst the sensors deployed in each home are very reliable, on occasion sensor information is missed through interference, multiple sensor messages blocking each other, or some physical reason preventing detection. The consistency pre-processing stage takes care of these problems by filling in the logical gaps and by filtering out implausible data. Logical gaps refer, for example, to missing OFF events in a toggle switch resulting in two consecutive ON events. Implausible data usually results from incorrect sensor firing or communication network errors. Sensor specific information is stored in a sensor library so that it can be retrieved, modified, extended or deleted allowing the system to adapt to sensor network changes. The stored information includes sensor type (PIR,
160
T. Martin et al.
toggle switch, temperature, …etc), location, data type (boolean, real,…etc), and nearby sensors. This information was used during pre-processing to help detect any inconsistencies in data received and to flag instances of sensor failure. The rules used to check data for consistency could be generated automatically from knowledge of the sensors and the layout of the house. In order to save time and reduce complexity, some of the consistency rules were created manually for this project. The second phase of pre-processing is responsible for organising the sensor readings into activity-based groups, corresponding to the activities of daily living identified above. For example one group includes all sensors monitoring the home entrances, such that the system can attempt to infer when visitors arrive and the client goes out. Another group includes all sensors in the kitchen and dining areas, which can be used to make inferences about activities in the “Preparing food and eating” category. The raw data is gathered into a summarisation database – in order to manipulate categorical data rather than continuous numerical data, the time and duration of sensor readings are replaced by their membership in various fuzzy sets. The time of day is split into 12 overlapping fuzzy sets (EarlyDawn, Dawn, LateDawn, EarlyMorning, Morning, LateMorning, EarlyAfternoon, Afternoon, LateAfternoon, EarlyEvening, Evening, and LateEvening). Part of this fuzzy partition is shown in Fig. 1 (top). Fuzzification of the duration attribute is on a per-sensor basis. Clearly a long stay in the kitchen or bathroom is not the same as a long stay in the bedroom (see Fig. 1, middle and bottom). Initial definitions for the fuzzy duration sets were augmented with statistically derived data once a suitable sized training set was available. In this way, the system is able to adapt to particular users and their individual habits. As an example, we show raw data from a subset of sensors in Table 1 which is then converted to the summary form shown in Table 2. A passive infra-red (PIR) sensor such as HALL is likely to have several firing events. Table 1. Example of Raw Sensor Date 1 2 3 3 5 6 7
Sensor HALL FRONTDOOR UTILITY BACKDOOR UTILITY HALL FRONTDOOR
StartTime 10:43:57 10:44:00 10:46:38 10:47:00 10:47:00 10:48:35 10:51:13
Duration 00:01:18 00:01:14 00:00:19 00:00:00 00:00:17 00:03:01 00:00:13
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
161
Fig. 1. Fuzzy partition of the day (top) and sensor-specific definitions for event duration. Middle diagram relates to bed occupancy whereas the bottom diagram covers activity in the kitchen
Table 2. Pre-processed Sensor Data 1 2 3 4 5 6 7
Sensor HALL FRONTDOOR FRONTDOOR UTILITY BACKDOOR UTILITY HALL FRONTDOOR
StartTime LateMorning LateMorning LateMorning LateMorning LateMorning LateMorning LateMorning LateMorning
Duration VeryLong Long Medium VeryShort VeryShort VeryShort VeryLong VeryShort
µ 1 0.5 0.5 1 1 1 1 1
162
T. Martin et al.
6.3 Fuzzy Data Analysis The system is equipped with a number of data analysis methods that convert the pre-processed data into answers to specific well-being status questions. These answers are conveyed to the user by the report generator through a graphical user interface, as discussed in the next section. The analysis methods include fuzzy reasoning, statistics, association analysis, and trend analysis. The end result of this project is a user interface that assists care professionals in making informed decisions about the well-being status of the monitored person. In the context of well-being monitoring, three aspects are important: long-term trends, significant patterns, and associations among patterns. The long-term trend analysis is needed to answer the questions related to changes over a significant time period. For example the carer might want to find out whether the duration of the main location sleep-period is increasing or decreasing, or whether the client is changing the location of the main sleep period (e.g. from the bedroom to the TV lounge). The pattern discovery finds the events that occurs frequently or regularly (e.g., on most of Sundays, there is evidence that there are visitors and there is evidence that a substantial meal is prepared). The association analysis discovers the patterns which occur together and strength of association between them (e.g., the client usually takes a bath before going out on Monday mornings). Finally, any activity changes related to the wellbeing status are reported to the caregiver on demand. All the substantial or gradual changes in daily activities are reported to the client’s care-giver with the detailed analysis conveyed in a fashion allowing a non-expert in data analysis to easily understand the results. To carry out intelligent analyses, the sensors are grouped together according to the domain knowledge and specific activities of interest [10]. Each sensor may belong to more than one sensor group, thus allowing the fusion of the large amount of raw sensor data streams into structures that represent higher level (abstract) activities. By maintaining these groups, analyses using individual or environment specific information focus only on the relevant sensors. 6.3.1 Detection of Specific Activities To illustrate the approach, we describe in detail the data pre-processing and analysis approach taken to address two examples of activity monitoring, namely the client’s sleeping pattern and the interaction with visitors.
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
163
These are chosen because the first activity (sleeping) is a key indicator for healthcare workers looking to assess well-being, whilst the second (visitors) is quite difficult to detect reliably using the sensor network. Similar methods have been used to monitor the other activities listed. 6.3.2 Sleeping To monitor sleep we have used a PIR motion sensor in the bedroom, a pressure sensor under the bed, and (towards the end of the trial) a vibration sensor on the headboard. Together these sensors allow us to accurately infer when a client is sleeping and to detect restlessness using simple rules. Although less accurate, data from just one of these sensors allows us to confidently detect sleep, and if all fail, without any adjustment to the sensor group information the data silence is likely to be inferred as a nap in the previously visited room. An example of the long term trend in sleeping behaviour is given in Section 4. 6.3.3 Detection of Visitors The purpose of the visitor detection process is to discover periods of time during which visitors are present in the house of a single occupant. The absence of intrusive sensing hardware such as personal identification tags and video cameras has introduced a degree of ambiguity in terms of the identity of the person performing an activity, and in terms of the number of people in the home at any one period of time. The detection process runs through the input database in time order, noting important entrance events and periods classed as either active or inactive. Each time an entrance event is discovered in the database, the system analyses the periods immediately prior and subsequent to this event, such that changes in behaviour, perhaps caused by visitors can be assessed. This is achieved by scanning forwards and backwards through the summarised entrance data between periods where the house is recorded as empty, combining evidences of people entering and leaving to produce confidences of multiple occupancy at any one time. The simplified data in Figure 2 shows motions detected (white) during a one-hour period in the home of a single occupancy client. The data segment has been split into three regions (A, B, C) according to the entrance events observed, such that each region denotes a time during which the number of persons in the home should remain constant. By comparing behaviours exhibited in regions neighbouring an entrance event, it is possible to
164
T. Martin et al.
Fig. 2. An Example of Data from Motion Detectors
determine those likely to correspond with persons arriving, leaving, or simply interacting with someone on the doorstep. The following features are derived by comparing neighbouring regions: An Activity Level in the range [0,1] is defined as the proportion of time in which motion or object use was detected, so visually this is the average density of the white areas in the combined row for regions in Figure 2. The assumption made is that as more people enter the home, so on average the number of activities detected will rise, and this difference in levels between the regions is converted to a fuzzy value for use in visitor detection rules. Using an early section of the data as a training set, the system is able to normalise observed changes, and also adjust the default fuzzy sets to increase or decrease sensitivity as needed. In general, the more active the client, the more sensitive the system must be, as visitors cause less obvious observable impact on the data. Figure 3 shows an example of changes in sensitivity. The left side shows the default set definitions, best suited to a uniform distribution of activity changes. On the right, a more sensitive trained set was formed by averaging the default sets with the sets produced from the training data of one client. Note that we average an absolute (default) distribution with a relative (data) distribution, to avoid two main problems. The first is poor levels of sensitivity using absolute values, and the second is the problem of equal data splitting in the training set (e.g. Assuming 20% of changes in the training set are “big rises” is clearly not correct). It is also important to realise that every home will have an individual set of sensors recording information, meaning that the amount of data collected can vary greatly from home to home. Depending on the type of data collected, some homes will need more sensitive visitor detection than others. In a similar manner, the “Changing Rooms” measure (see below) is converted to fuzzy values.
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
165
The Changing Rooms Level [0,1] is a measure of how often the room in which activities are currently detected changes. It is assumed that as visitors enter the home, some activities will take place simultaneously in different rooms, causing the data to apparently show very frequent changes. The value returned is based on the weighted average of three measures. 50% of the result is based upon the rate of apparent room changes. 25% comes from the ratio of those room changes deemed impossible for one person to make, e.g. lounge to bathroom, without passing through the hall. The last 25% comes from the longest sequence of impossible room changes. With a single occupant this level is usually very low, but in the case of two people in two separate rooms far apart in the home, long sequences of impossible room changes occur very frequently, in contrast making all three measures very high. For the example in Figure 2, there is no evidence of any impossible room changes; hence the changing rooms levels are not at all extreme. Knowledge regarding impossible room changes is derived using two pieces of information, the first is the sensor installation information, which provides accessibility information about each sensor location. The second piece of information is developed during the training period, and it shows the probability of room changes during that period.
Fig. 3. Fuzzy Sets Denoting Change in Activity Levels. Default sets (top) and Learned sets (bottom)
166
T. Martin et al.
Fig. 4. Activity Levels for Regions A, B, and a Sliding Window W
The Delay Time is a measure of how long it takes before the activity level shows signs of the change recorded. This is obtained by use of a sliding window, and the delay is the time taken before the activity level within the window is closer to the activity level for the second region than the first. In Figure 4, the very first window has an activity level closer to that of region B than A, hence the delay time in this case is zero, an instantaneous change. Short delays such as this are consistent with changes to the number of persons in the home, while long delays are more consistent with a coincidental later change in behaviour, such as a person becoming more active to cook dinner. The Hallway Time either side of a door event adds more clues, such as whether or not a person has been let in, seen out, or is taking off and unpacking some items after coming inside. Note that the data used to calculate this period is difficult to accurately assess, as the data may show a change in room because of a single person leaving the hall, or a second person moving in another room. Finally, the Door Open Time is the time during which the door was open. Longer times imply a higher likelihood of visitors remaining outside if there is no evidence of others entering the home; otherwise, a long time is consistent with guests bringing items inside. Note that the various parameter values and default settings listed in this analysis are not hard-coded, and are instead stored in a parameter database. This allows for simple manual changes to the algorithms and the possibility of creating a data-scanning program that could determine the optimal settings. 6.3.4 Fuzzy Rules for Visitor Detection These rules (and similar rules for different activities) are hand crafted with the aid of human expertise. The output of the rules is a fuzzy set on the truth space of whether a visit has occurred (see fig 5):
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
167
Rule 1: If hallway time before a door event is zero then visitors = likely Rule 2: If delay time is short, and activity levels are some rise, and changing rooms levels are some rise, and time in hallway after door shuts is short, then visitors arrived = probably. Rule 3: If delay time is short, and activity levels are a big rise, and changing rooms levels are steady, and time in hallway after door shuts is short, then visitors arrived = fifty-fifty. Note: “some rise” is a fuzzy set whose membership function is equivalent to the union of the functions used for “rise” and “big rise”. The functions “rise” and “big rise” are also defined such that where these sets overlap, the sum of their memberships is always 1. As shaded grey in Figure 5, employing various rules can result in differing assessments of the data. To defuzzify these results, the horizontal centre of gravity of the shaded area, denoted c in the graph, is taken as the consensus of opinion. Dependant on its use, either the value 0.841 or a description such as “quite likely” could be returned. As no person was detected in the hall immediately before the door event, it could be argued a visitor must have arrived. However, this may have been caused by a sensor failing to detect the person, which occasionally happens. By taking account of multiple pieces of evidence, the results returned are much more reliable, suffering from fewer large errors. The door event BC (Fig. 4) also has a high probability for visitors leaving at that point. This would be considered along with the AB result to reach a conclusion that there is a strong likelihood that the twenty-minute period of region B was associated with a visitor in the home.
Fig. 5. Fuzzy Output for Visitor Entry at the AB Door Event
168
T. Martin et al.
6.3.5 Fuzzy Association Rules Fuzzy association rules allow us to establish “normal” behaviour and then issue a warning when an expected event does not occur [11]. An extended version of the Apriori algorithm is applied to the data to find associations among activity patterns. This algorithm is based on the Apriori algorithm proposed in [18] except that each item in a “transaction” has its own weight instead of every item having an equal weight. This weight is calculated by multiplying StartTime and Duration memberships. Once all the sensor events and their StartTime and Duration are fuzzified in a categorical representation, a set of these fuzzified categorical attributes for each day will be treated as one transaction (or a basket in the familiar association term) and the Apriori algorithm is applied to this to get associations among daily activities. The association rules themselves are interesting and convey much information about the activity patterns and the association among them. However, the patterns and the association rules are so distinctive among different clients that the specific information can be obtained easily through this result as well (some may have several association rules related to the kitchen activities whereas others may have association rules related to the activities in the living room). Also by looking at the changes in these patterns and associations throughout time, we can observe the significant changes in the person’s wellbeing. A calendar view is used to convey this information to the caregiver, with a colouring scheme used to indicate different aspects (see the detailed description in the following section). The normal behaviour is learnt from the history of the data using a combination of fuzzy logic, statistics and association rule mining. This view allows the user to select individual days for detailed examination, and highlights days where unusual activity has taken place.
6.4 The User Interface (GUI) Components Users interact with the system using a number of GUI components such as the sensor management component and the parameter setting component. The component of main interest however, is the data display and analysis component which displays the analysis results to the caregiver. The GUI is split into two main components, namely the calendar view and the analysis reporting views. The calendar view alerts the caregiver to unusual features, i.e. expected events which didn’t happen and unexpected events which did happen. These arise from application of the association rules described in Section 3.
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
169
Fig. 6. The calendar component and controls
This component (Figure 6) allows the user to select individual days for detailed examination, and highlights days where unusual activity has taken place. 6.4.1 Calendar Components The dates in any of yellow, blue, or green colours are likely to contain unusual events in comparison to the learnt normal behaviour according to the following scheme (unfortunately it is difficult to see these effect on the greyscale image) • • • •
Yellow indicates the number of normally occurring events that are missing. Blue represents the number of unusual extra events observed. Green illustrates a combination of both missing and extra events. Pale Red means the day is ignored in the analysis process, usually because the day doesn’t have enough data due to sensor or communication failure.
The intensity of colour (apart from red) indicates the degree of abnormality, so a brighter yellow indicates a greater number of missing events for example. By clicking on the day in the calendar, the selected day can be examined in greater detail. Fig. 7 shows the daily activity plot, which displays sensor data and inferred activities of the client on a selected day. This is composed of the control panel on the left side and a 24-hour coloured plot of data on the right. (Note that the original view is colour intensive). The plot contains three groups of information from the pre-processed sensor data, and are fully listed for selection in the control panel: 1. Activity group - The first group, forming the majority of the view, lists all the individual sensors, for example, front door open/close, bed occupied, kitchen PIR, etc. This first group also contains the ‘activity’ level (constructed as the aggregate of all PIR sensor firings in 5 minute periods) and ‘silence’ (long periods where no data was observed). 2. Location group - The second group lists all the individual PIR sensors Their data is condensed onto one timeline with coloured stripes representing the rooms where and when motions were detected.
170
T. Martin et al.
3. Abstract group - The third group contains the abstracted activities such as ASLEEP, OUT, INACTIVE, VISITOR, and BATH. The VISITOR activity differs from the others in that its colour is displayed brighter (toward yellow) as the confidence for a visitor being present increases. The confidence level is a result of applying fuzzy reasoning as described in detail in Section 3. In addition to ASLEEP, there are also the minor activities of DRIFTING, WAKING, and STIRRING events that indicate the periods before, after and disturbances during the sleep periods respectively. These and all other activities are inferred by analysing the data from the relevant sensor activity group. 6.4.2 Monthly Association Report This tab control shows the result of monthly association rules. Events occurring together are shown in a table with their confidence. At the bottom of the panel, there are checkboxes to filter the sensor events according to the duration types. If a row in the table is selected, then the confidences of the association of that row are shown as a graph around the currently selected month. By looking at how the confidence values change, the knowledge about the trend of event association rules can be established.
Fig. 7. Daily Activity View
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
171
Fig. 8. Changes in “late evening” sleeping habits
Figure 8 shows how confidence in the rule “Medium ASLEEP event in Late Evening” has changed significantly over the past year for a monitored client, clearly showing a change to this particular habit towards the end of 2004. It is also interesting to note, that whilst there seemed to be evidence in May 2005 that a seasonal pattern was about to be repeated, data from June and July 2005 shows confidence in this rule returning to zero, in stark contrast to the year before. If the ‘Display same Assoc. events’ check box is selected, then all the same events (e.g. ASLEEP) with differing starting time and duration can be plotted as extra coloured graphs. Another view is used to display changes of the well-being-related values such as sleeping, eating, going out, and having visitors. Original values, their moving average, plus changes in trend can all be shown. To make the system user-friendly, analyses are chosen from a list of questions relating to well-being and derived from the well-being model. For example, “Is the duration of the main sleep-period increasing or decreasing?” has been selected in Figure 9, and the time the client has spent sleeping over the past month is automatically displayed. Informal evaluation results from care workers suggest that the interface allows them to reach the information they need quickly and that it is presented in a useful format. Clearly a wider trial would be needed to make this a rigorous conclusion.
172
T. Martin et al.
Fig. 9. Trend Plot of Sleep Activity
6.5 System Trial and Results Validation The system was installed in the homes of two elderly persons, each having very different care needs. Client A, monitored for approximately 18 months by the end of the trial, was frail and depended on care assistance for meals, bathing and going outside. Client B, monitored for approximately 12 months, required no home help and was very active despite some long-term back and chest problems. Both clients plus their carers and relatives allowed an extensive set of sensors to be installed although it was only in the last 6 months that the full range was in place. The main method of validation was via simple diary style records collected by occasionally telephoning the client about their day over a period of several weeks. This was supplemented by a week of video footage where clients were filmed by fixed cameras in limited areas of their homes. The first purpose of validation is to assess the system, both in terms of sensor performance and activities detected. The second is to help identify how the sensor network could be improved such that clearer data is produced. Five major activity types are inferred, namely sleeping, going out, hosting visitors, extended bathroom use, plus inactivity. Some video evidence was also examined, although due to the restrictions on the allowed camera position, there was no video with which to confirm sleeping or bathroom activities. Inactive periods were defined by
A Third-Generation Telecare System using Fuzzy Ambient Intelligence
173
Table 3. Confusion Matrix for Vistor Detection Over a Sample of 50 Front Door Opening Events
visitor no visitor
visit detected 8.5
no visit detected 1
4.5
36
an absence of sensor data, and the video shows the client almost motionless usually reading or watching television - during these times. Of the remaining activities, the video showed that the telecare system was able to correctly determine periods when the client was out and periods when visitors were in the home. Table 3 gives a confusion matrix associated with a sample of 50 door opening events - the system can on occasion be fooled into inferring a visitor by unusual behaviour, in this case, by activities such as cleaning where there are frequent room changes. The 0.5 score arises from an ambiguous event where video and diary evidence conflicted. Aside from the activities already discussed, the extended sensor network also provided the opportunity to infer further activities relating to food preparation and piped water usage, plus watching television and using the phone. However, detailed validation information only became available towards the end of the project, and the time-consuming examination and comparisons with sensor-reported and inferred results could not be completed within the project lifetime. Initial evaluation indicated that phone usage was detected very accurately and television viewing was also inferred correctly, although quantitative results are not available.
6.6 Conclusions Telecare systems aim to carry out intelligent analyses of a person’s well-being using data about their daily activities. This is a very challenging task due to the quality and type of sensor data. First of all, the sensors were designed to be completely non-intrusive which excludes the use of any form of tagging for personal identification. This means that the decision reached by any analysis algorithm will always contain a degree of ambiguity in terms of the identity of the person performing an activity, and in terms of the number of people in the home at any one period of time. The second issue is related to the need to restrict the number of sensors used in any one home
174
T. Martin et al.
otherwise the cost of deployment and maintenance would be prohibitive. This means that the ability of the data analysis engine to make decisions has a low resolution. For example, consider the bed sensors, which cannot distinguish between a person lying in bed and a heavy object placed on the bed. No matter how many sensors are installed, the decision making process will always be associated with some uncertainty. This is why all the data is processed using fuzzy techniques to exploit the tolerance for imprecision, uncertainty and approximate reasoning. In spite of limited sensor information, we have shown it is possible to discover a lot about a person’s behaviour and well-being. Periods of sleep and where the client leaves the home are easily monitored, allowing for effective normality modelling and long-term trend analyses of these periods. Although many other important events such as preparing meals, preparing to go out, and hosting visitors have proved more difficult to accurately infer, the measures produced are still worthy of tracking over time. If for instance there is a decrease in the amount and confidence of visits detected, it is likely that visitor numbers have indeed dropped, and the rough data has thus served its desired purpose. Eliminating all uncertainties is clearly impossible with the sensors employed in this study, and it is likely that no matter what sensors are deployed in a fully non-invasive system, this problem will remain to a certain degree. The challenge therefore remains of how to extract the maximum amount of knowledge using a system that imposes a minimum level of intrusion.
Acknowledgment This project was part of the Next Wave Technologies Program sponsored by the DTI (UK) and was managed by the Centre for Care in the Community [12] within BT Group (see http://www.dticareinthecommunity.com/). The authors would like to acknowledge other members of the Centre for their contribution to the project.
References 1.
Garner, P., M. Collins, S. M. Webster, and D. A. D. Rose, “The application of telepresence in medicine,” BT Technology Journal, vol. 15, pp. 181-187, 1997.
A Third-Generation Telecare System using Fuzzy Ambient Intelligence 2.
175
Haigh, K. Z. and H. A. Yanco, “Automation as Caregiver: A Survey of Issues and Technologies,” presented at Automation as caregiver: the role of intelligent technology in elder care, Edmonton, Canada, 2002. 3. Barnes, N. M., N. H. Edwards, D. A. D. Rose, and P. Garner, “Lifestyle monitoring - technology for supported independence,” Computing and Control Engineering Journal, vol. 9, pp. 169-174, 1998. 4. Nelwan, S. P., T. B. van Dam, P. Klootwijk, and S. H. Meij, “Ubiquitous Mobile Access to Real-time Patient Monitoring Data,” presented at Computers in cardiology, Memphis, TN, 2002. 5. Barlow, J., S. Bayer, and R. Curry, “The design of pilot telecare projects and their integration into mainstream service delivery,” Journal of Telemedicine and Telecare, vol. 9, pp. 1-3, 2003. 6. Organisation, W. H., “Active Aging: A Policy Framework,” 2002. 7. Zadeh, L., “Soft Computing and Fuzzy Logic,” IEEE Software, vol. 11, pp. 48, 1994. 8. Sixsmith, A., N. Hine, S. Brown, and P. Garner, “Monitoring the well-being of older people,” Gerontechnology, vol. 3, pp. 192, 2005. 9. Neild, I., D. J. Heatley, R. S. Kalawsky, and P. A. Bowman, “Sensor Networks for Continuous Health Monitoring,” BT Technology Journal, vol. 22, pp. 130-139, 2004. 10. Majeed, B., T. P. Martin, N. P. Clarke, and B.-S. Lee, “Intelligent Data Analysis for Well-Being Monitoring,” presented at Perspectives in Pervasive Computing, London, 2005. 11. Lee, B.-S., T. P. Martin, N. P. Clarke, and B. Majeed, “Dynamic Daily-living Pattern and Association Analysis in Tele-care System,” presented at Fourth IEEE International Conference on Data Mining, Brighton, UK, 2004. 12. Brown, S., N. Hine, A. Sixsmith, and P. Garner, “Care in the Community,” BT Technology Journal, vol. 22, pp. 56-64, 2004.
Interacting Agents in a Network for in silico1 Modeling of Nature-Inspired Smart Systems
V.K. Murthy1 and E.V. Krishnamurthy2 (1)
School of Business Information Technology, R.M.I.T University, Melbourne, Victoria 3000, Australia.
[email protected] (2) Computer Sciences Laboratory, The Australian National University, Canberra, ACT 0200, Australia.
[email protected]
Abstract An interacting multi-agent system in a network can model the evolution of a Nature-Inspired Smart System (NISS) exhibiting the four salient properties: (i) Collective, coordinated and efficient (ii) Self-organization and emergence (iii) Power law scaling or scale invariance under emergence (iv) Adaptive, fault tolerant and resilient against damage. We explain how these basic properties can arise among agents through random enabling, inhibiting, preferential attachment and growth of a multiagent system. The quantitative understanding of a Smart system with an arbitrary interactive topology is extremely difficult. However, for specific applications and a pre-defined static interactive topology among the agents, the quantitative parameters can be obtained through simulation to build a specific NISS. Further developments of agent technology will be of great value to model, simulate and animate, many phenomena in Systems biology - pattern formation, cellular dynamics, cell motility, growth and development biology,
1 *in silico = In or by means of a computer simulation; in silico is closely based on two older Latin phrases that are key terms in the jargon of every biologist and biochemist: in vivo and in vitro, both of which came into use at the end of the nineteenth century. The first translates as “in that which is alive”, and refers to some experiment carried out within a living organism, such as a drug test on an animal. The second means “in glass” and is used for experiments that take place in an artificial environment, such as a test tube or culture dish (WIKIPEDIA)
V.K. Murthy and E.V. Krishnamurthy: Interacting Agents in a Network for in silico Modeling of Nature-Inspired Smart Systems, Studies in Computational Intelligence (SCI) 72, 177–231 (2007) www.springerlink.com © Springer-Verlag Berlin Heidelberg 2007
178
V.K. Murthy and E.V. Krishnamurthy
and can provide for improved capability in complex systems modelling. Also agents will serve as useful tools to model, design and develop biomorphic robots and neuromorphic chips.
7.1 Introduction The study of computation and intelligence on the one hand, and the study of life processes and the related conscious thinking on the other, have been engaging philosophers and scientists since ancient times. The phenomenal developments in computer science, robotics, physical, biological, neurosciences and theoretical analysis of the properties of complex systems, have recently shed new light on the different aspects and have established very strong links between these disciplines resulting in the Science of Nature-Inspired Smart Systems (NISS). The main thrust of research in this area is to explore how insights from these studies may have positive and beneficial impact in the design of newer computational models and associated techniques. NISS is a highly interdisciplinary area and the definitions have not yet been well-formulated and vary between fields, although the basic properties of these system are nature-inspired. From the point of view of Physics, NISS are ensembles whose dynamics can be monitored or modified by distributed sensors and actuators, in accordance with an integrated control law to accommodate time-varying exogenous inputs or changing environmental conditions. NISS exchanges energy, entropy and matter with the environment. On an average NISS exports entropy, it operates far from equilibrium, beyond a critical distance from the equilibrium state, positive and negative feedback are present and the system is nonlinear. In Engineering, an NISS is one that monitors itself and/or its environment in order to respond to changes in its conditions. This can result in (i) Adaptation (ii) Self-repair and (iii) Optimisation of resources. Biosystems characterize NISS by the properties: 1. The processing of information is distributed and is monitored. 2. The communication system is reconfigurable. 3. The system is highly adaptive and acquires knowledge through interaction with its environment. 4. The energy consumption is optimized. 5. The system is self-organizing; it exhibits emergent properties which are not predictable, in advance from the properties of the individual local interactions among its components and the environment.
Interacting Agents in a Network of Nature-Inspired Smart Systems
179
Here, we define NISS with the following four properties that are reflected in each of the above viewpoints. 7.1.1 Interactive, Collective, and Efficient An NISS consists of a large number of components and interacting with the environment. They collectively and cooperatively perform actions, coordinating their actions if there is competition, to obtain maximal efficiency. 7.1.2 Self-organization and Emergence The total dynamic behaviour arising due to cooperation between different parts of the NISS can lead to a coherent behaviour of the entire system that can change by a large amount when the values of a control parameter changes by a small amount (sensitivity). These changes have similarities to the phase transition encountered in physics, where local changes result in a global change in which new properties emerge abruptly. These new properties of the NISS are not predictable, in advance from the properties of the individual interactions. In particular, under emergence, the many degrees of freedom arising due to its component parts collapse into a fewer new ones with a smaller number of globally relevant parameters. This means the properties of self-organization cannot be predetermined and the system evolves on a qualitatively new level with respect to its global constraints. 7.1.3 Power-Law Scaling or Scale-Invariance Property Power-law scaling relation arises for the emergent properties of the NISS. [26] prove that this property is essential for fault resilience and selforganization. 7.1.4 Adaptive, Fault-tolerant and Resilient Against Damage NISS are always flexible to change, [80]-they can self-modify their past behaviour and adapt to environmental changes, available resources, as well as, tolerating failures or non-cooperation of some of their components. We can include mutation and reproduction in this property.
180
V.K. Murthy and E.V. Krishnamurthy
It appears that these four properties are interrelated to self-organization, stigmergy and self-assembly, [15], [65], as well as, to systems exhibiting positive metric entropy, self-similarity and the small world phenomena. It is hard to separate these concerns as they form fuzzy boundaries, [83], [84], [85]. This chapter describes the application of a Multi-set of Agents Paradigm (MAP) to model, simulate and animate NISS (Nature-Inspired Smart Systems) and related computational schemes: for example, Genetic algorithms, [33], [64], Genetic Programming, [51], Immunocomputing, [34], [90], [24], Self-organized criticality, [68], [20], [38], and Active Walker models (ants with scent or multiwalker-paradigm, where each walker can influence (repel or attract) the other through a shared landscape based on probabilistic selection, [14], [23], [25], [48], [49], Biomimicry, [10], [74], Bio-inspired robotics and computing, [7], [55], [18], [106], [4], Brownian Agents, [27], Game-theoretic problems, [73], [31], and in silico integrative biological modeling, [62], [47]. Three crucial properties of Agents make them suitable for the simulation of NISS: a) Autonomy: Agents can make decisions on actions they want to do without explicit control from the user, b) Reactive: Agents can respond appropriately depending upon the context, and c) Proactive: Agents can act in anticipation of future goals that can meet the specified objectives. In order to realize the above computational schemes using the Multi-set of Agents Paradigm (MAP) we need to consider the following issues: 1. What kind of mathematical models are needed to study NISS and for implementing within the framework of MAP? We discuss three interrelated mathematical models that have a direct bearing on these issues: (i) Fractal and percolation model (ii) Chaotic and nonlinear dynamical model and (iii) Topological (network) or graph model. These models have been very well studied in recent years and are closely related to the properties such as: self-similarity, scale-free, resilience to damage, self-organization and emergence. 2. Is the emergence of NISS analogous to the critical phenomenon in physics or percolation? What are the suitable parameters to describe this phenomenon?
Interacting Agents in a Network of Nature-Inspired Smart Systems
181
We discuss this aspect from the point of view of geometric parameters such as: Lyapunov exponents, strange attractors, metric entropy, as well as, topological indices such as, Cluster coefficient, Average degree distribution and the correlation length of the interacting network. 3. Can we design a general purpose programmable smart system using MAP? The answer is no, if we want to have an NISS with exactly specified properties. However, special purpose Smart systems with approximate statistical properties can be designed by using simulation procedures and parameter tuning. Section 2 describes the multi-set of agents-based paradigm (MAP). In Section 3 we describe the general strategies for agent-based modelling and the role they can play in modeling, simulation and animation with examples from cellular biological systems. Section 4 describes the fractal and percolation models. Section 5 explains the role of positive metric entropy condition in NISS. Section 6 outlines the statistical properties of disordered networks and their role in NISS. Section 7 deals with the macro-level simulation of NISS; these are illustrated by a few examples-ant colony heuristic based on group swarming, Bacterial colonies, human-animal trails, Chaotic attractors, Bistability in perception, Oscillatory chemical reactions, Graphgrowth, and Stigmergy. Section 8 briefly considers the engineering of NISS, the role of scales, and our inability to simulate nano and molecular levels due to the limitations arising from quantum mechanics. Section 9 provides a brief description of currently available agent-tool kits. Section 10 summarizes the results and the directions for research in this area.
7.2 Multi-set of Agents Transactional Paradigm The AOIS (Agent-Oriented System Community) defines an agent as a system that is capable of perceiving events in its environment or representing information about the current state of affairs and of acting in its environment guided by perceptions and stored information, [109], [99], [58], [112], [42]. The multiset-agent system consists of several single agentsystems. Thus if N agents are involved i = 1,2,... N, each of the agents will be denoted with a label (i). Since the term “Agent” is used in a variety of ways in Artificial intelligence and social sciences, we will restrict ourselves to the definition that the agent is a software module having the transactional programming model with all theimportant features-such as:
182
V.K. Murthy and E.V. Krishnamurthy
atomicity of commitment, short duration transactions, sensing and aborting, and its own thread of control. Further we will not use psychological terms such as intention and desire, although we will be using the term “revision of belief ” in the sense of rewriting (updating or deleting) existing information (or knowledge) in its memory state. (1) Worldly states or environment U: All those states which completely describe the universe containing all the agents. (2) Percept: Depending upon the sensory capabilities (input interface to the universe or environment) an agent can receive from U an input T (a standard set of messages), using a sensory function Perception (PERCEPT): PERCEPT: U -> T. PERCEPT can involve various types of perception: see, read, hear,smell. The messages are assumed to be of standard types based on an interaction language that is interpreted identically by all agents. Since U includes both the environment and other agents the input can be either from the agents directly or from the environment that has been modified by other agents. This assumption permits us to deal with agents that can communicate directly, as well as, indirectly through the environment as in active walker model; this is called “stigmergy” in Ant colony where one ant can modify its environment and affect the behaviour of another ant (see also EFFECT). (3) States of Mind M: The agent has a mind M (essentially a problem domain knowledge consisting of an internal database D for the problem domain data and a set of problem domain rules P) that can be clearly understood by the agent without involving any sensory function. Here, D is a set of beliefs about objects, their attributes and relationships stored as an internal database and P is a set of rules expressed as preconditions and consequences (conditions and actions). When T is input, if the conditions given in the left-hand side of P match T, the elements that correspond to the right-hand side are taken from D, and suitable actions are carried out locally (internally in M) as well as externally on the environment. The nature of internal production rules P, their mode of application and the action set determines whether an agent is deterministic, nondeterministic, probabilistic or fuzzy. Rule application policy in a production system P can be modified by: 1. Assigning probabilities/fuzziness for applying the rule 2. Assigning strength to each rule by using a measure of its past success
Interacting Agents in a Network of Nature-Inspired Smart Systems
183
3. Introducing a support for each rule by using a measure of its likely relevance to the current situation. The above three factors provide for competition and cooperation among the different rules. Such a model is useful for many applications, e.g., Activewalker, Self-organization and swarm models, Chemotaxis. Accordingly, we assume that each agent can carry out other basic computations, such as having memory, simple addition capability, comparison, simple control rules and the generation of random numbers, [74]. These mechanisms enable us to simulate tumbling, as well as running of organisms for foraging. (4) Organizational Knowledge (O): Since each agent needs to communicate with the external world or other agents, we assume that O contains all the information about the relationships among the different agents, e.g., the connectivity relationship for communication, the data dependencies between agents, interference among agents with respect to rules and information about the location of different domain rules. (5) INTRAN: On the receipt of T, the action in the agent M is suitably revised or updated by the function called Internal transaction (INTRAN). Revision: Revision means acquisition of new information about the environment, that requires a change in the rule system P. This may result in changes in the database D. In a more general sense, revision may be called “mutation” of the agent since the agent exhibits a mutation in behaviour due to change of rules or code, [13]. Example: The inclusion of a new tax-rule in the Tax system. Update: Update means adding new entries to the database D; the rules P are not changed. In a more general sense, the update may be called “Reconfiguration” since the agent’s behaviour is altered to accommodate a change in the data. Example: Inclusion of a new tax-payer in the Tax system. Both revision and update can be denoted in set-theoretic notation by: INTRAN: M X T -> M(D,P) Both mutation and reconfiguration play important roles in Nature-inspired computing. These are achieved in our model by introducing changes in D and P as required. This can be interpreted as updating or revising a set of database instances. Hence, if one or several interaction conditions hold for several non-disjoint subsets of objects in the agent at the same time, the
184
V.K. Murthy and E.V. Krishnamurthy
choice made among them can be nondeterministic or probabilistic. This leads to competitive parallelism. The actions on the chosen subset are executed atomically and committed. In other words, the chosen subset undergoes an ‘asynchronous atomic update’. This ensures that the process of matching and the follow-up actions satisfy the four important ACID properties: Atomicity (indivisibility and either all or no actions or carried out), Consistency (before and after the execution of a transaction), Isolation (no interference among the actions), Durability (no failure). Once all the actions are carried out and committed the next set of conditions are considered. As a result of the actions followed by commitment, we may revise or update and obtain a new database for each agent; this may satisfy new conditions of the text and the actions are repeated by initiating a new set of transactions. These set of transformations halt when there are no more transactions executable or the databases does not undergo a change for two consecutive steps indicating a new consistent state of the databases. However, if the interaction condition holds for several disjoint subsets of elements in the database at the same time, the actions can take place independently and simultaneously. This leads to cooperative parallelism; e.g., vector parallelism, pipeline parallelism. (6) EXTRAN: External action is defined as an external transaction (EXTRAN) that maps a state of mind and a partition from an external state into an action performed by the agent. That is: EXTRAN: M X T -> A. That is, the current state of mind and a new input activates an external action from the action set A. (7) EFFECT: The agent also can affect U by performing an action from a set of actions A (ask, tell, hear, read, write, speak, send, smell, taste, receive, silent), or more complex actions. Such actions are carried out according to a particular agent’s role and governed by an etiquette called protocols. The effect of these actions is defined by a function EFFECT that modifies the world states through the actions of an agent: EFFECT: A X U -> U; EFFECT can involve additions, deletions and modifications to U. Thus an agent is defined by a set of nine entities, a 9-tuple: (U,T, M(P,D),O,A,PERCEPT,INTRAN,EXTRAN,EFFECT). The interpreter repeatedly executes the rules in P until no rule can be fired. Thus, we can interpret all the abstract machine models (finite state machines, state charts, Turing machines) and concurrent computational models
Interacting Agents in a Network of Nature-Inspired Smart Systems
185
(Petri nets) as subclass of the agents, by a suitable choice of the entities in the 9-tuple. The multiset of agents paradigm (MAP) consists of the following features [69], [54]: (i) A multiset M that contains evolving agents (called the agent-space) whose information is structured in an appropriate way to suit the problem at hand. Conventionally the elements of the multiset are passive datastructures, [53]. Here each element of the multiset is an agent. Thus apart from the advantages resulting from the use of intelligent agents as elements, we have a strong theoretical background from the abstract rewriting systems on multisets, [95]. (ii) A set of interaction rules that prescribes the context for the applicability of the rules to the agents. Each rule consists of a left-hand side (a pattern or property or attribute) describing the conditions under which the agents can communicate and interact, and a right hand side describes the actions to be performed by the agents, if the rule becomes applicable, based on deterministic, fuzzy or probabilistic criteria, [69]. (iii) A control strategy that specifies the manner in which the agents will be chosen and interaction rules will be applied, the kinetics of the ruleinterference (inhibition, activation, diffusion, chemotaxis) and a way of resolving conflicts that may arise when several rules match at once. (iv) An agent by itself or another coordinating agent evaluates the performance of the agents to determine the effectiveness of rule application. This agent ensures that the contract among the different agents hold; if the contract fails, the coordinator can rescue, abort or restart as in i-Contract or in Eiffel, [63]. (v) Interaction-Based: The computations are interpreted as the outcome of interacting agents to produce new agents (or same agents with modified attributes) according to specific rules. Hence the intrinsic (genotype) or genetic constitution of an organism and acquired properties due to interaction (phenotype) with the environment can both be incorporated in the agent space. Since the interaction rules are inherently parallel, any number of actions can be performed cooperatively or competitively among the subsets of agents, so that the new agents evolve toward an equilibrium or unstable or chaotic state. (vi) Content-based activation of rules: The next set of rules to be invoked is determined solely by the contents of the agent-space, as in the context of chemical reactions.
186
V.K. Murthy and E.V. Krishnamurthy
(vii) Pattern matching: Search takes place to bind the variables in such a way to satisfy the left hand side of the rule. It is this characteristic of pattern (or attribute) matching that gives the agent-based paradigm its distinctive capabilities for nature-inspired computing. (viii) Choice of objects, and actions: We can several types of objects, as the basic elements of computation to perform suitable actions on them by defining a suitable topology, geometry or a metric space. 7.2.1 Operational Aspects of Multiagent System A multi-agent system is realised as a loosely coupled network of single agents; they interact among themselves and through the environment to solve a problem. Operationally, the multiagent system uses certain protocols having the following features or their variants: 1. There is a seeding agent who initiates the solution process. 2. Each agent can be active or inactive. 3. An active agent can do local computation, send and receive messages (through message-passing or shared memory) and can spontaneously become inactive. 4. An inactive agent becomes active if and only if it receives a message. 5. Each agent may retain its current belief or revise its belief as a result of receiving a new message by performing a local computation. If it revises its belief, it communicates its revised state of belief to other concerned agents; else it does not revise its solution and remains silent. 7.2.2 Interaction Among Agents In order to use the multi-agent paradigm to realise cooperative and competitive computational tasks, we need to consider how the agents can interfere with each other. These interference rules are similar to those enunciated by [101] to describe the development of shape, form and pattern in organisms (chemical morphogenesis rules). Such interferences can take place in four ways. 1. Enabling dependence (ED): Agent A(i) and agent A(j) are called enable dependent (or dataflow dependent) if the messages from A(i) creates the required precondition in A(j) to carry out a specific action.
Interacting Agents in a Network of Nature-Inspired Smart Systems
187
2. Inhibit dependence (ID): Agents A(i) and A(j) are called inhibit dependent, if the actions of A (i) creates the required precondition in A(j) to prevent it from executing a specific action. 3. INTRAN Conflict (IC): Agents A(i) and A(j) are opposition dependent (also called data-output dependent) through A(k)), if the order in which A(i) and A(j) enable A(k) and update A(k) produce different results in A(k); that is the objects A(i) and A(j) perform operations on A(k) that are not order reversible. That is, local serializability is not ensured in the INTRAN within A(k), if the actions are carried out within an agent in different order. 4. EXTRAN Conflict (EC): Agents A (i) and A(j) are data antidependent through A(k) if the order in which A(i) enables (inhibits) A(k), and A(j) enables (inhibits) A(k) result in different external actions (EXTRAN) by A(k) on the environment. That is the order in which information arrives from the environment and other agents affects the global serializability of the actions of an agent. 5. Remark: ED and ID: The two properties ED and ID are crucial for modelling any life-like system which requires both positive and negative regulation and molecular switches. These rules permit an agent to enable itself (autocrine signalling for development or for autocatalysis), and also an agent A(i) to enable A(j) and A (j) to enable A(i) cyclically. For example, A(i) can create the required precondition in A(k), so that A(j) can enable A(k). Also, A(i) can inhibit the required precondition in A(k) so that A(j) is prevented from enabling A(k). Example: In cellular signal processing proteins whose conformation can be altered by the equilibrium binding of a regulatory ligand, switches between active and inactive states when the concentration of the regulator varies. Also situations such as - two ligands whose binding sites in a protein are coupled can reciprocally affect each others binding or proteins that can simultaneously bind two ligands - can be modelled by ED and ID, [36]. Note that various types of Petri net models, [52], are used currently in Systems Biology, [21], [77], [28], [39], [3]. The agent models are more general and provide greater flexibility and also help in animation.
188
V.K. Murthy and E.V. Krishnamurthy
7.2.3 Concurrency and Conflicts In distributed computing and transaction processing: we require that the following two conditions are satisfied for global serialization when concurrent operations take place. 1. At each agent the actions in local actions are performed in the nonconflicting order (Local serializability). 2. At each agent the serialization order of the tasks dictated by every other agent is not violated. That is, for each pair of conflicting actions among transactions p and q, an action of p precedes an action of q in any local schedule, if and only if, the preconditions required for p do not conflict with those preconditions required for execution of the action q in the required ordering of all tasks in all agents (Global serializability). The above two conditions require that the preconditions for actions in different agents A(i) and A(j) do not interfere or cause conflicts. These conditions are necessary for the stabilization of the multi-agent systems that the computations are locally and globally consistent. Termination: For the termination of agent-based program, the interaction among the agents must come to a halt. When the entire set of agents halt we have an equilibrium state (or a fixed point) also called stability while dealing with exact computation in a deterministic system. Non-termination, instability, multiple equilibria and chaos: These cases arise when the agents continue to interact indefinitely as in chemical oscillations, biological reactions, game theoretic problems, and cellular signal processing. Then the multiagent-system can have several attractors or equilibrium states. It is also possible that the evolution of the agent system is sensitive to initial conditions leading to chaos and self-organization. Conflicts: Resolution or compromise? While using agents for modelling behaviour, under concurrency,the conflicts arising in INTRAN and EXTRAN may require resolution or to an agreeable compromise. This situation can arise in animation and robotics. For example, the actions, “fold your right arm” or “stretch your right arm” are conflicting concurrent actions. We can achieve a compromise by keeping the arm folded half-way. Alternatively, one can blend the behaviour of actions, e.g., as in the actions “walk” and “run”, if the quantitative parameters can be suitably averaged over. These rules should be based on the context, [70].
Interacting Agents in a Network of Nature-Inspired Smart Systems
189
7.3 Agent-based Modeling and Simulation Agent-based modelling requires: a. The object space - a multi set of agents b. An environment - the interaction geometry c. Interaction matrix Of course, when we define objects, their interaction scale becomes crucial: Molecular (10-12), Nano (10-9), Micro (10-6), Macro (10-3) (all in meter) Hence agent-based modeling needs to be carefully designed. Further, any simulation process (and a model) should not be treated as an end product. They can only be regarded as tools to gain insight rather than a true representative of the real and experimental validation should be followed up. In the molecular scale, atoms and molecules are autonomous objects and their interactions are as in chemical bonds. Also Brownian motion plays a role. In the nano scale, interfaces are molecular lattice. In the micro scale we have a solid state object and a homogeneous media. It is only in the macro scale, the organization is less autonomous and can be controlled by other external factors (man, animals and their control strategies). In macro-scale distributed computing with agents, and amorphous computing, a very large disordered interconnection network having a positive metric entropy arises in the state space. Such networks have various statistical and nonlinear dynamical properties-random, small-world and scale free networks-having different fractal dimensions and emergent properties, [102], [93], [26], [6], [9], [71], [111]. To realize agent-based simulation, therefore, the agents need to strategically control their links with other agents based upon some policy. These policies result in nonlinear dynamical systems and hence we need to consider the fractal and related models as the basis. 7.3.1 Advantages of Agent Based Simulation (i) Traditional simulation ignores layers of complexity to achieve a simplified description of overall complexity. Agent-based simulation (ABS), [87] starts with simple rules of interaction among the individual components that drive the system to the complex behaviour observed. It works bottom up by examining what low-level rules and what kind of heterogeneous, autonomous agents are required to synthesize the required higher
190
V.K. Murthy and E.V. Krishnamurthy
level behaviour. Thus, ABS is useful for realising conventional algorithms, Evolutionary algorithms, Genetic algorithms, Genetic Programming, Immunocomputing, Self-organized criticality, Active walker models where each walker (e.g., ants with scent) can influence (repel or attract) other walkers using a shared landscape. (ii) Agent-based simulation enables us to make predictions about the processes occurring at the intermediate mesoscopic scale due to the interplay between the microscopic dynamics and the macroscopic environment. (iii) The simulation of deterministic, chaotic and stochastic systems are possible. (iv) Different models where iterated application of simple rules can generate complex forms can be studied. (v) Agent-based hybrid simulation (for soft and hard computation) can be used to study the global behaviour of a complex adaptive system from the local interactive behaviour of its components. The fundamental building block of most models of a complex adaptive system is the adaptive autonomous agent. An adaptive autonomous agent is characterized by: 1. Interaction with the environment 2. Goal driven motivation 3. Intelligence 4. Adaptive dynamics Also an agent’s goals can take various forms: 1. Desired local states 2. Desired end goals 3. Selective rewards to be maximized 7.3.2 Special Purpose Agents in Simulation Agents can be designed to realize special purpose functionalities. These functionalities depend on the problem domain. For example, in information technology, we need collaborative agents that compete or cooperate; interface agents that act as personal assistants; mobile agents that migrate among hosts to enhance efficiency of computation and improve the network throughput; information agents that manage, manipulate and collate information from many distributed sources; reactive agents that respond to
Interacting Agents in a Network of Nature-Inspired Smart Systems
191
stimulus and respond in an environment where they are embedded; smart agents that learn from their actions. In building cellular biological models based on agents, however, it will be more convenient to use special purpose agents - such as sensor agents, goal agents, skill agents and compose these modules to build reusable, composable, blendable behaviours. In this context, we may recall that in cell system biology, the protein networks organize themelves into special purpose proteins thus: [1], [21], [108], [56]. 1. Relay proteins: simply pass the message to the next signalling component. 2. Messenger proteins: carry the signal from one part of the cell to another. 3. Adaptor proteins: Link one signalling protein to another. 4. Amplifier proteins: Increase the signal levels causing a signal cascade. 5. Transducer proteins: Convert the signal from one for to another. 6. Bifurcation protein: Spread the signal from one pathway to another. 7. Integrator proteins: Receive two or more signals and integrate them and transmit them. 8. Latent gene regulatory proteins: These are activated at the cell surface by activated receptors and then migrate to the nucleus to stimulate gene transcription. 9. Modulator proteins: These modify the intracellular signalling proteins and thereby regulate the strength of the signal along the pathway. 10. Anchoring proteins: Maintain a specific signalling proteins at a precise location in the cell by tethering them to a membrane of the cytoskeleton. 11. Scaffold proteins: These are adaptor or anchoring proteins that bind multiple signalling proteins together in a functional complex and often hold them at a specific location. In animating protein-based computing, it is required to perform simple self-assembly, in which each agent has one or more binding sites to which ligands (a molecule that binds to specific site on a protein) can bind, when they have complementary matching shapes. Once they match they can either inhibit or enable the action of the agents deterministically or stochastically. Signalling proteins can bind to one another in multiple combinations like Lego-bricks with the protein forming a 3-Dimensional network of interactions that determines the route followed by the signalling pathways. Agentbased animation can be helpful to understand specific sequence of reactions. Also the above special purpose agents can be useful.
192
V.K. Murthy and E.V. Krishnamurthy
7.3.3 Agents for Animation Agents consist of information objects and an associated script that knows what to do with the information and how to deal with the environment. They behave like actors and have intentions and actions. Agents are autonomous and they have a built in control to act, only if they want to. In addition, agents are flexible, proactive and have multithreaded control. The above aspects make agents suitable for reactive animation. In reactive animation, [28], [39], [96], [97], [103], the system has to react to various kinds of events, signals and conditions that are often distributed and concurrent. Also they can be time critical exhibiting both digital and analog (or hybrid) behaviour. In addition the reactive system, as in cell biological system can contain components that signal each other and also repeatedly created and destroyed. Expansion of simulation to animation can be useful for teaching purposes-for example, in cell biology in which the molecules are involved in various interactions with other cells through cell-signalling cascades. Cell signalling cascades consist of several steps of activation and inhibition, 1. These are usually illustrated in static form as a series of steps. Animation can introduce each step individually and in order to emphasize multiple effects of one protein and the cellular location of each effect. Example: The Wnt pathway begins with the extracellular ligand Wnt binding to its membrane receptor (frizzled) followed by activation of the receptor. The receptor in turn activates the intercellular protein disheveled which then inhibits glygogen synthase kinase 3 (GSK-3). Once GSK-3 is inhibited, it can no longer induce the destruction of beta-catenin. 91. This pathway is represented by using the symbols ~E(enable);~I (inhibit): Wn ~E frizzled ~E Disheveled ~I GSK-3 ~I Beta-catenin In static display this pathway will be shown, as though, Wnt leads to inhibition of beta-catenin, while in animation we can see the full reactive process. The animation emphasises the order of events, the binding of ligands and the accompanying reactions and the movements along with the timing of the events.
Interacting Agents in a Network of Nature-Inspired Smart Systems
193
7.3.4 Agent-based Models in Development Biology In development biology several basic kinds of models are studied [47]: 1. Subcellular models: Here differential equations of enzyme production and utilization form the basis. 2. Cellular interaction: These involve exchange of information between neighbouring cells. 3. Cell development: Five important properties possessed by cells during development are studied. (i) Cell division: This is important for two reasons: It provides a motive force for differentiation which normally occurs after cell division. Also the increase in the number of cells changes the morphology of the whole organism and so may affect the input received by any cell. (ii) Genetic information: The control at the level of genes in higher organisms is largely unknown. This is an important area of study. (iii) Ability to sense information from environment and neighbouring cells. Cells often need to receive information from their neighbours in order to differentiate. The positional information may be in the form of a simple signal molecule or may involve a complex signal field, where cells at different positions differentiate according to the signal received at that point. We do not understand, as yet, how such fields are produced and maintained. (iv) Ability to change state (differentiation): any state change can be termed as differentiation and the differentiation defines the changes within the cells (mainly at chromosome level) which eventually result in observable differentiation. Differentiation may involve shape changes, production of signals transmitted to other cells, or production of a new biochemical not previously synthesized by the cell. (v) Cell movement: This occurs passively, as cells grow and divide; but many types of cells have genuine motile ability. This can be by means of pseudopoidal extensions by which cells drag themselves along. A second form of movement involves cytoplasmic streaming within the cell. 7.3.5 Cell Motility Many animal cells possess the fundamental ability to crawl; this form of locomotion is essential for morphogenesis and wound healing. This is
194
V.K. Murthy and E.V. Krishnamurthy
done through: protrusion of cell’s leading edge, adhesion of this edge to the substratum, forward translocation of the cell body, detachment of the cell’s rear edge and retraction of the cell’s rear edge. The front part of the migrating cell is called “Lamellipod”. This is the basic engine for gliding and crawling - the cell body and the rear are mechanically passive. The engine is powered by polymerization of a monomer for expansion and depolymerization for contraction. Such protein based engines can be useful to build biomimetic micro-robots, softwiring among neural cells in order to metamorph the neural connections. Further developments in agent technology may provide for agent creation, destruction, motility and migration in virtual space, for modelling cell-biology. [12] describes how the axon toed by an amoeboid structure at its tip senses chemical gradients laid down by neural communication cells, thus guiding the axon to appropriate locations. Agent-based animation is useful to view this phenomenon. Cell movement behaviour results in rearranging the pattern of organization to a convergent extension in which the cells are pulled inward and elongated. Here the process occurs through frizzled-disheveled polaritysignalling pathway. This results in a cooperative behaviour in which cells that are aligned exert forces on their neighbours to align them. The animation can provide an excellent approach to understand cell movements, [16], [57], [94]. In many modelling situations involving particles (for example, when “Help yourself and suppress thy neighbour” (competitive policy), or attraction and repulsion dependencies are used. These dependencies can be modelled using a combination of Enable (Activation) and Inhibit dependence rules. Also percolation-like situation (cooperative transition - see Section 4)) in which the sharpness of response increases (decreases) with an increase in the number of effector (inhibitor) molecules that must bind to a target molecule can be modelled, [1]. In interactive animation of biological molecules static illustrations are not satisfactory. Transactional agents can enable us to animate the binding of certain molecules, accompanied by other actions. In particular, cell signalling pathways that involve inhibitory, binding, and activation steps can be animated without the inherent ambiguities arising in the order, timing and the interpretation of the events.
Interacting Agents in a Network of Nature-Inspired Smart Systems
195
7.3.6 Pattern Formation Mechanisms There are two fundamental mechanisms which utilise all the development parameters in one form or another to produce shapes and patterns in developing organism. Biochemical instability gives rise to patterns of concentration of one or more chemicals in the system. The pattern specification specifies the way in which cells receive information to differentiate. It takes the form of an interaction between external signals and the inherent genetic information in the cells. Morphogenesis (a word derived from shape and generation), on the other hand, is the process by which cells differentiate using the specified pattern to form new shapes and structures during development. Cellular principles of morphogenesis of even simple organisms can provide some information on this process, [79]. Agent-based simulations can be useful in these areas. 7.3.7 Signal Processing Among Cells Signalling between cells, [66], is an essential process in the development of multi-cellular systems. A variety of signals are used depending upon the production of the ligand (the mediator of the signal) by signalling cells and detection of this ligand by specific receptors expressed by the receiving cells. Three kind of signalling are used: (i) Autocrine Signalling: A Cell signalling to itself. (ii) Paracrine Signalling: Signalling between distinct cells that are spatially separated and depends on secreted diffusive ligands such as growth factors and hormones. (iii) Juxtacrine signalling: Signalling that is mediated by ligands and receptors that are both anchored to the cell membranes. This signal is a direct signalling between cells and play an important role in spatial pattern generation and wound healing process ([66]). The main question is how a nearest neighbour signalling mechanism can account for the observed increase in cell proliferation many cell diameters away from the wound edge. [66] shows that Juxtacrine signalling with a positive feedback can create a travel front (similar to an avalanche or percolation) above a critical threshold, thereby establishing long-range connection among cells.
196
V.K. Murthy and E.V. Krishnamurthy
Agent-based models is well-suited to study inter-cellular dynamics on patterning and juxtacrine signalling.
7.4 Role of Fractal and Percolation Models in NISS An NISS has an associated data domain or space. In nature, this space is usually the three dimensional space; it is called the geometric dimension of the NISS. When the system is placed in an environment, it communicates through its surface area. Since the amount of communication is proportional to the surface area, a simple way to control the communication rate is to choose a suitable geometrical or topological structure that can spontaneously and easily be modified to vary the surface area, [19], [37], [40], [67], [100], [107]. In biology, chemistry, and materials science, where surface phenomena play a crucial role, nature has preferred the evolution of fractal objects. Such a choice can optimize the interaction with the environment and provides for adaptation and the survival. In heterogeneous chemistry, the structure and geometry of the environment at which the reaction takes place plays an important role. It alone can dictate whether a reaction will take place at all. The geometric parameter is the fractal dimension. In fact environmental interaction can change geometrical features and conversely, geometrical feature modify the interaction; see Chapter on “Fractal Analysis” by Avnir et al. in [19], [100]. To model NISS using computing agents, therefore, the agents should be able to alter the pattern of their communication pathways, namely, the topology and geometry at will, resulting in the change of a fractal dimension. Examples of such systems abound in nature: lungs, flock of birds, antswarms, formation of bacterial colonies, [59], cellular signal propagation [66], [105] animal-human trails, [82], and Smart materials, [88]. The biological cells rearrange their internal components as they grow, divide and adapt to changing circumstances. For this purpose, they depend on a system of filaments called, cytoskeleton. The cytoskeleton is an interconnected network and pragmatically broken into three distinct cytoplasmic systems: microfilaments, microtubules and intermediate filaments. Cytoskeleton enables cell to swim, crawl and provides the machinery for the muscle cell contraction, and in the neuron to extend an axon and dendrites. Cytoskeletal networks are dynamic, adaptable, and are organized more like ant colonies and can respond rapidly by changing their structure and fractal dimension as required by external conditions for short periods or for a long period.
Interacting Agents in a Network of Nature-Inspired Smart Systems
197
However, we still need yet another model that can provide us a tool based on probabilities to compute the connectivity structure among the components in a network arising from cooperative and competitive interactions. This model is the Percolation model, [37], [100]. The percolation theory is concerned with the study of the diffusion/penetration of certain materials from an environment into the material of system placed in that environment through the boundary or surface of the system. It has been found experimentally that such a penetration is determined by a single parameter p. We call a particular value p = p(c) the “threshold” for percolation, if the pathways are infinite when p > p(c) and the pathways are nonexistent or have limited access within the material of the system when p < p(c). The value p(c) is called the critical point. Also we say that there is a percolation above p(c). The region above p(c) is called the supercritical phase and the region below p(c) is called the subcritical phase. Also when p = p(c) the infinite open cluster or pathway is called an incipient infinite cluster. Percolation theory is studied using an internal connected structure of the material of the system, either as a lattice or as a connected graph. Also it is studied as a “bond percolation” in which we study the percolation through the edges of the lattice or a graph; or as a “site percolation” in which we study the percolation through the lattice points or vertices of the graph or as a “mixed percolation” involving edges and vertices. For simplicity, consider a square lattice, where each site is occupied randomly with probability p or empty with probability (1-p). At low concentration p the occupied states are either isolated or forms small clusters. Two occupied sites belong to the same cluster if a path of nearest neighbour occupied sites connects them. When p is increased, the average size of clusters increases. At a critical concentration p(c) a large cluster appears which connects the opposite edges of the lattice. This cluster is called the infinite cluster since it diverges when the size of the lattice is increased to infinity. When p increases further the density of the cluster increases, since more and more sites become part of the infinite cluster, and the average size of the finite clusters decreases. The value of the percolation threshold p(c) depends explicitly on the type of lattice and also whether it is site or bond percolation. In site percolation p(c) = 0.593 for square lattice and 0.70 for hexagonal lattice. This means, if a square of unit area is filled in with agents whose range of influence is in a square lattice, then it is adequate that about 60% of the lattice is filled so that there will be a percolation path between the edges of the square The fractal dimension d(f ) of the percolation of the square lattice of dimension 2 is d (f ) = 91/48 = 1.9. In this simulation, we start with a square lattice of side length L and some number p, 0≤p≤1; we generate a random number in [0,1] for each lattice
198
V.K. Murthy and E.V. Krishnamurthy
cell and say a cell is empty if the random number is less than p. The patterns can be generated for various values of p. Denoting by M(L) the number of cells in the largest cluster, M(L) scales as: (i) ln (L) for p p(c) where d = 1.9 and power-law scaling holds at the critical threshold. Random fractals can be highly multiply connected and the topological structure can change dramatically, when a continuously varying parameter increases through a critical value resulting in a simply connected path, Thus self-organized unforeseen new paths can emerge between points of interest beyond a critical threshold, e.g., nest to the food when communication takes place among agents in an environment. In pattern formation theory based on diffusion, such percolation paths that arise above a critical threshold, are also called “Travelling fronts or waves” or “avalanches”, [46], [50]. Also percolation - like cooperative threshold phenomenon arises in cell biology; for example, the sharpness of response of cells increases (decreases) with an increase in the concentration (number) of effector (inhibitor) molecules binding to a target molecule or extra-cellular signalling, [1]. Thus the fractal and percolation models play important roles in understanding a Nature-Inspired Smart System. However, the dynamics of the resulting probabilistic system is in general, highly nonlinear implying that it is not possible to obtain analytical expressions and need to resort to Monte Carlo simulation based methods to compute the percolation threshold and other parameters.
7.5 Injecting Positive Entropy The properties of NISS mentioned in Section 1 and the requirement mentioned in Section 4 having a readily modifiable connectivity pattern among its components with a fractal structure, belong to those of both the computational and the nonlinear dynamical systems. The fractal communication structure is very sensitive to small parameter changes and can lead to an abrupt change in behaviour, e.g., bifurcation. Fractal dimension, metric entropy, and Lyapunov exponent serve as important invariants to quantify the behaviour of such a non-linear system, [29]. A system with negative Lyapunov exponents imply stability and a system with the positive Lyapunov exponents imply instability and the presence of positive feedback. Thus positive feedback (cooperativity) in a nonlinear system implies a positive metric
Interacting Agents in a Network of Nature-Inspired Smart Systems
199
entropy. This is analogous to positive thermodynamical entropy export to the environment in a living system leading to far-from equilibrium states, [78], and to self-replication of molecules. Equilibrium Systems have zero entropy and they do not export positive entropy and correspond to nonliving system. In fact, evolution stops if entropy is zero, [17]. Also, a chemical reaction cannot happen spontaneously unless the entropy turns positive. For example, the conversion of ADP (Adenosine DiPhosphate) to ATP (Adenosine Tri-Phosphate) is not spontaneous. So the conversion requires another reaction to provide energy. This is Glycolysisconversion of Glucose to the Lactate anion. This is a spontaneous reaction exporting positive entropy, [75]. The large positive entropy keeps the reaction far away from equilibrium. As far as biological systems are concerned, reactions which reach equilibrium results only in dead cells. Thus the introduction of positive entropy or randomness seems essential in any computational and dynamical system to model the far-from equilibrium systems. Mathematically speaking, such a positive entropic system turns out to be topologically transitive and sensitive to initial conditions, or chaotic. This means, that the system is no longer expressible as a sum of its component parts and the system functions as a whole leading to what is known as “Emergence”. In such a case, the algorithmic independence among the subsystems is lost, [22]. In general, the evolutionary rules of systems with zero and negative entropy are predictable (or Lyapunov exponent less than or equal to zero) and such rules are non-algorithmic, or not exactly predictable for positive entropy machines. Well-structured objects - such as: Context free grammars, regular grammars and serial-parallel graphs, regular graphs, lattice graphs that are generated using deterministic algorithms provide for easy description through functional rules, and hence have zero metric entropy. Such systems with non-positive metric entropy are “Turing or algorithmically expressible” with a finite set of evolutionary rules. Systems with a positive metric entropy represent “disordered” machines and their evolutionary rules are in general, “Turing non-expressible”. The metric entropy can distinguish the two major classes of machines: ordered (O) and disordered) (D) machines. 1. Ordered or Zero Metric Entropy Machines (O) These are completely structured, Deterministic, Exact behaviour (or Algorithmic) Machines. This class contains, the machines in Chomskian hierarchy: (i) Finite state machines (regular grammar), (ii) Push-down stack machine (context-free grammar), (iii) Linear bounded automata (context sensitive grammar),
200
V.K. Murthy and E.V. Krishnamurthy
(iv) Turing machines that halt, (v) Exactly integrable Hamiltonian flow machines. These machines are in principle, information loss-less and instruction obeying; their outputs contain all the required information, as dictated by the programs. 2. Positive Metric Entropy or Disordered Machines (D) Nonintegrable positive entropy machines exhibit various degrees of irregular dynamics: (i) Ergodicity: Here the set of points in phase space behave in such a way that the time-average along a trajectory equals the ensemble average over the phase space. The term “Ergodicity” means statistical homogeneity; here, the trajectory starting from any initial state can access all other states in the phase space. (ii) Mixing: The initial points in the phase space can spread out to cover it in time but at a rate weaker than the exponential (e.g., inverse power of time). (iii) Bernoullicity, K-flow or Chaos: The trajectories cover the phase space in such a way that the initially neighbouring points separate exponentially and the correlation between two initially neighbouring points decays with time exponentially. It is with this class of irregular motion we define classical chaos. These lie in the border and beyond the Turing computable region; that is they belong to partial recursive schemes leading to undecidability. (iv) Far-from-equilibrium systems: Systems exhibiting emergent behaviour - such as Chemical and Biological machines and living systems, [78], [30], [41], [61], [110]. Each of the above properties imply that all the preceding properties hold; that is, within a chaotic region the trajectories are ergodic on the attractor and wander around the desired periodic orbit. The properties of an NISS are governed by three important parameters: Metric Entropy, Lyapunov exponents, and Fractal dimension. There is a close relationship between positive Lyapunov exponents and fractal dimensions. If h(1),h(2) ,...,h(j) are Lyapunov exponents in ascending order that are greater than zero, and , h(j+1),..h(k) are less than zero in descending order, then we have j stretching and (k-j) contracting directions in the k dimensional trajectories, then the quantity, Lyapunov dimension, [67], [5]: d(L) = j +1/|h(j+1) dimension.
∑ h(i) . It is conjectured that d(L) = d(b) the box-counting i =1
Interacting Agents in a Network of Nature-Inspired Smart Systems
201
j Hence, to understand an NISS quantitatively, we need to know the spatial structure of attractors and the temporal aspects of the trajectories. The former provides information about phase transitions, while the latter tells us whether a trajectory governed by a positive Lyapunov exponent falls in a given attractor. Real systems including biological systems are nonstationary in which the parameters are changing with time. Thus quantitative understanding of a NISS is extremely difficult except through simulation. To simulate NISS, we need to combine zero and positive entropy machines; that is we introduce positive entropy through the chaotic (deterministic randomness) or stochastic (statistical randomness) means, in appropriate decision or control steps of a deterministic machine. The positive entropy endows NISS with several powerful features:
(i) It provides ergodicity of search orbits. This means every point in the set of accessible states is approached arbitrarily closely in its dynamical regime. This property ensures that searching is done through all possible states of the solution space since there is a finite probability that an individual can reach any point in problem space with one jump. (ii) It provides solution discovery capabilities (as in genetic programmingGP) due to embedded randomness. This property arises due to the fact that chaotic orbits are dense and has positive Lyapunov exponent and two initially close orbits can separate exponentially from each other with a possibility of falling into a desired attractor. (iii) It provides a common linking thread among several disciplines; e.g., Genetics (genetic-algorithms), Diffusion, Thermodynamics (simulatedannealing), Statistical Mechanics (Particle transport); Complex Systems (Active-walker, Self-organization and percolation models).
7.6 Disorderly Connections Arising Among Agents In the last section we discussed the role of randomness or chaoticity (for introducing positive entropy) in computational systems. In this section we will discus the role of disorder or randomness in communication network among interacting agents. These disorderly interconnection patterns play a key role for applications to various modeling and simulation aspects of NISS, [92]. Three important statistical properties of the networks, namely average degree, characteristic path length and cluster coefficient, to be defined below are used as measures to distinguish the disordered networks such as:
202
V.K. Murthy and E.V. Krishnamurthy
(i) Random networks (ii) Power-law scaling networks, and (iii) Small World Networks. From regular networks. For an excellent survey of complex networks, 71. Let us consider a finite graph G(V,E) where V is the set of n nodes and E the set of edges. Let us assume that the graph is represented as an adjacency matrix A with A(i,j) =1, if there is an edge from node i to node j; and A(i,j)=0, otherwise. We assume A(i,i) = 0, that is no self loops. The following local and global parameters are derived from adjacency matrix: (i) Average degree: K = 1/n
∑
n
k(i) , and k(i) =
i
∑ A(i, j) , or
k(i) is the
j =1
degree of node, 0≤K≤(n-1) (ii) The Characteristic path length L measures the global property, namely, the average path length of the network. Given L(i,j) the shortest distance between nodes i and j, L is defined by: n −1
n
∑ ∑ L(i, j) ; 1 ≤ L≤ (n-1)
L= 2/n(n-1)
i =1 j =i +1
This is referred to as “global connectivity” in the context of lattice percolation, if we need to only infer whether they are connected or not. Thus the notion of percolation in lattice grid is closely related to the small-world and scale-free networks. (iii) The cluster coefficient C is the average of C(i), where C(i) is defined by: n
C(i) = 2
n
∑ ∑ A(i, j)A(i, k)A(k, j)/[k(i)k(i) − 1] = j= 1 k = 1
Number of E(i) existing between k(i) neighbours of node i/Total number of possible edges [k(i)(k(i)-1]/2 . or, C=1/n
∑ C(i) Note that 0≤ C ≤1 i
The above three properties serve as guidelines to roughly classify the three classes of disordered graphs:
Interacting Agents in a Network of Nature-Inspired Smart Systems
203
(i) Random Network: In Random network the degree distribution is a binomial or Poisson distribution in the limit of a large graph. Most of the nodes have the average degree and few nodes have more than average and few nodes have less than the average degree. Also L and C are small in random graphs. (ii) Scale-free Network: In this network, many nodes have a few links and a few nodes have many links. The distribution of the degree of the nodes has an unusual fat-tailed form or a power-law scaling property: namely the P(k) the degree distribution of a network is given by: P(k) = k-g where 2 < g < 3. This power-law degree distribution or scale-invariant property arises from two kinds of operations on a random graph, 6. 1. Creating new nodes: Growth of the graph by adding new nodes into an initial group of nodes as time progresses and 2. Preferential attachment of Links: The new nodes created are linked to old nodes, with a probability based on certain dominant properties the old nodes possess, e.g., the nodes having a higher degree (or attractiveness), chemical or physical interaction strength. In each case, the neighbourhood is appropriately defined as a conceptual graph. As the network grows the ratio of well-connected nodes to the number of nodes in the rest of the network remains nearly a constant, [26] prove that the range 2 < g < 3 is crucial to have the following properties. a) Self-organization and b) Resilience against random damage. Also g is related to the fractal dimension. [89] have computed the value of g and the corresponding fractal dimension for several types of networks: www, Actor, E coli, Scale free-tree and show that the value of g lies in the range 2 < g < 3. (iii) Small-world graphs: A graph is called a small-world graph, by [102], if it exhibits the two properties given below when compared to a random graph of same number of nodes and average degree:
204
V.K. Murthy and E.V. Krishnamurthy
1. Higher clustering coefficient C closer to unity and 2. Smaller Correlation length L. L scales logarithmically with the number of nodes. This measures a global property. It results in a compact network- where the average length of the shortest directed path between two randomly chosen nodes is of the order of the logarithm of the size of the graph. This property ensures that communication and interaction between distant neighbours can take place over long ranges. This is called the small world effect and the short path is also called a “worm-hole”. Therefore, in agent based systems, where a very large number of agents are interconnected, the small-world network, can permit distant neighbours to interact with an efficient flow of information. Examples (i) Protein Networks In protein networks, the number of nodes are of the order of 2000, number of edges of the order 2000, and the degree distribution satisfies P(k) = k-g with g = 2.4 showing that they are scale-free, self-organizing and resilient against damage. Also the average path length of the network L = 6.8 is small and cluster coefficient is 0.67, [71]. Similar results have been reported by 2; namely, the ratio of cluster coefficient of protein networks to random networks is large and the average path length scales logarithmically with the number of nodes. (ii) Neuronal Networks The neuronal network develops in three phases, [12]: 1. In the first phase the different parts develop according to their own local programs. 2. In the second phase axons and dendrites grow along specific routes setting up a provisional, but orderly network of connections between different parts of the system. 3. In the final phase, the connections are adjusted and refined thro interactions among far-flung components in a way that depends upon the electrical signals that pass between them. The central challenge of neural development is to explain how the axons and dendrites grow out find their right partners, and synapse with them selectively to create a functional network. This growth is very sensitive to diffusible chemotactic factors (as in ant swarms). The different pathways grow out as in the movement of cars in a rush-hour traffic in highway junctions. At the same time the component failures are tolerated. These indicate that
Interacting Agents in a Network of Nature-Inspired Smart Systems
205
the scale–free and small world networks play a role in the design of nervous system and Hebbian networks; see [98].
7.7 Nature-Inspired Smart Computations We now describe a multiset of agents based self-organizing heuristic that uses inferences, beliefs and computation. We assume that the number of agents is very large to exhibit the statistical features. The agents use randomization in the application of the rules and interconnectivity among them that can alter the important neighbourhood properties; this results in different kinds of disordered networks with fractal dimensions. The multiset of agents paradigm to realise particle swarms has many advantages. (i) The fundamental principle in swarm intelligence is cooperation and knowledge sharing. The multiset of agents approach can realise both exploration and exploitation by grouping the particles in different zones of the search space to set up cooperation and competition among members of same group and different groups. Using different grouping prevents possible quasi-ergodic behaviour that can arise resulting in the entrapment of the orbit in isolated regions, since the grouping amounts to using several Markov chains, with the initial states reasonably apart, in the search space. (ii) Different types of interaction topologies such as the wheel, the ring, the star and other lattice structures, [49] can be assigned within and among different groups and their influence can be studied. (iii) If we need to optimize several objectives the multiset of agents swarming can be useful. (iv) Since there are different groups, evolutionary paradigm approach can be tried, by annihilating unfit populations and creating new populations. (v) In the agent model, shared landscape can be simulated through a blackboard and self-avoiding walks can be simulated using a table that stores the locations visited earlier. (vi) Also MAP can handle Parallel ant colony system simulation suggested y, [23], [11]. If many different equally likely independent modes m are to be searched for, it is more efficient to choose a multiset of agents with m sets, each with k agents so that mk = N where N is the total number of agents; i.e., the agents are partitioned into distinct groups each with their own speciality. In order that a multiset of agents exhibit the four properties of NISS mentioned earlier, we require that the agents are autonomous (not centrally
206
V.K. Murthy and E.V. Krishnamurthy
controlled), and can either enable (link) or inhibit (de-link) other agents on their own, based on the information available from their environment to reach a specified goal (proactive). This requires that the agents have adequate memory, intelligence, and pre-knowledge of the network of other nodes in the network. We can use two different approaches inspired by Nature to enable (connect) or inhibit (disconnect) agents to form interactive networks, exhibiting the properties of small world graphs or scale-free property or their combined properties. 1. Use of markings similar to a chemical gradient or diffusion mechanism or a communication field (Agents having simple intelligence, e.g., ants, physical particles): This provides a common spatial resource, where each agent can leave a mark that can be perceived by other agents. In essence, the agents use the space to construct a geometrical or a topological pathway that is preferentially traversed by many agents, resulting in a power-law scaling or small world beyond a critical threshold. From a practical viewpoint, in the agent model, the shared landscape can be simulated through a blackboard and self-avoiding walks can be simulated using a table that stores the locations visited earlier. 2. Use of a positive feed-back or nonlinear response to the information available from knowledge sources, other agents may possess by connecting or disconnecting with other agents at random: This would require that each agent knows what other agents know, and how much they know measured in a taxonomic scale (Agents with more complex intelligence) so that each agent can have a score about its neighbours to link, de-link and form clusters. This would result in nonlinear iterative schemes among the agents. Here, individual agents are points in space, and change over time is represented as movement of points, representing particles with different properties and the system dynamics is formulated using the rules: (1) Stepping (or local coupling) rule: The state of each individual agent is updated or revised in many dimensions, in parallel, so that the new state reflects each agent’s previous best success. (2) Landscaping (or global coupling) rule: Each agent assumes a new best value of its state that depends on its past best value and a suitable function of the best values of its interacting neighbours, with a suitably defined neighbourhood topology and geometry.
Interacting Agents in a Network of Nature-Inspired Smart Systems
207
All agents in the universe or selected chunks are updated using rules (1) and (2). The above two rules permit us to model Markovian random walks which is independent of the past history of the walk and non-Markovian random walks, dependent upon past history - such as self-avoiding, self-repelling, communicating, and active random-walker models. This can result in various kinds of attractors having fractal dimensions presenting a swarm-like, flock-like, bacterial colony-like appearances depending upon the Jacobian of the mapping, [44], [45], [107], [8]. 7.7.1 Multiset of Agents Based Ant Colony Heuristic The Ant Heuristics, [25], [23], [11], are based on the model of real ants finding optimal solutions to the shortest path between their nests and the food sources. Each ant leaves a trail of pheromone, thereby creating a new landscape so that other ants are attracted towards the food source by the scent. This problem is analogous to modifying a random graph that grows with time with preferential attachment to those strong pheromone nodes leading to the food source from the nest. The optimal path turns out to be the path with a maximum density of the scent allowing for evaporation of the scent with time and degradation of the scent with distance. The communication among the ants take place through a shared landscape, that establishes a link with the other agent nodes with the same belief and forming clusters. To start with, the agents initialize their beliefs, by randomly linking for information. Then with time they update their beliefs through preferential linking to nodes with maximal pheromone intensity and forming local (groups) clusters. Then they modify the landscape further, by contacting other clusters to obtain collective intelligence, and reach an equilibrium state resulting in an optimal path from the nest to the food source. The resulting swarm (ant-network) can exhibit features of both the small world graphs and scale-free graphs and can change from one class to another. The formalized agent-based heuristic for a shortest path is given below: Step 1: Generate a multiset of agents each agent representing an ant. Let there be G sets contained in the multiset, each set containing identical agents N(j) for j = 0,1,2,....,(G-1). Randomly select an initial node r for each agent. The initial pheromone level on every edge of the graph is set to a small positive quantity f(0) in the blackboard. Set the cycle counter to zero.
208
V.K. Murthy and E.V. Krishnamurthy
Step 2: Initialization of beliefs: Let J (i,j,r) is the set of cities that remain to be visited by the i th agent in the j th group starting from node r; let f (j,r,s) is the pheromone level between node r and node s, for the j th group. Let v(r,s) = 1/D(r,s) where D(r.s) is the distance between the nodes r and s; let x be a parameter which determines the relative degradation of pheromone level inversely with the distance. Stepping Rule: Starting from r, calculate the next visited node s, for the i th agent in the j th group as per the rule: (i) To begin with choose q, a random number in 0 < q< 1; let q(0) be a constant chosen in the interval between 0 and 1. (ii) If q< q(0), then s = Arg Max u ε J(i,j,r) [f(j,r,u)]. [v(r,u)]x, else P(i,j,r,s). Here P(i,j,r,s) is the transition probability from node r to node s for the i th agent in the j th group, given by: If s ε J (i,j,r), then f(j,r,s). (v(r,u)) x/ Σ{u ε J(k, r)} [f(j,r,u)]. [v(r,u)]x, else 0; Updating the beliefs from Intra-group knowledge: Step 3: Local Landscaping Rule: Update the pheromone level between nodes for each group using: f(j,r,s) = (1-y). f(j,r,s) + y ∆ f(r,s) where ∆ f(r,s) = f(0) = 1/ [nL(n,n)] where f(j,r,s) is the pheromone level between nodes r and s for the agents in the j th group and L(n,n) is the approximate distance of the route between all nodes. Here n is the number of nodes and 0