Performance of Autonomy-based Systems: Tuning Emergent Cooperation Thierry Dagaeff, Fabrice Chantemargue, Mich`ele Courant University of Fribourg, Computer Science Department, PAI group Chemin du mus´ee 3, P´erolles, CH-1700 Fribourg, Switzerland E-mail:
[email protected]
Abstract This paper presents our work, which relates to the general problem of adaptability for artificial entities. More particularly, our work tackles the problem of performance control in systems made up of adaptable entities. Control is discussed in the case of classical systems and revised through new definitions in the framework we are concerned with. In this context, reliability and efficiency (performances) are related to adaptability. We propose to focus more attention on the human-machine interaction in the design process, and to integrate techno-genesis of the software tools in the overall estimation of performances and in the approach of emergence. A model based on autonomy and focusing on the capabilities of interactions of an entity (with its environment as well as with other entities) is proposed. We report quantitative measurements (yielded by intensive experiments) that enable to understand the mechanisms that make a pool of operationally autonomous entities achieve a task of object regrouping. According to our theoretical apprehension of control and performance, these mechanisms are analyzed through statistical properties of the system, thus moving the focus from crude efficiency in terms of speed toward appropriate statistical properties reflecting non-deterministic but satisfactory behaviors. As a result, this application allows us to set-up experiments that exhibit the emergence of properties at a collective level and illustrate that cooperation at a collective level is not necessary incompatible with conflict situations at individual level. It also shows the powerness of an appropriate architecture of the software entities and their relationships aimed at increasing scalability, flexibility and robustness of the applications. Keywords: autonomy, emergence, cooperation, antagonism, performance, speed-up, multi-agent systems, distributed artificial intelligence, collective robotics.
Foreword This paper may be seen as a status report of the first period of the second part of the AXE project1 . Thus, the experimental multi-agent system presented in section 5, together with the results of section 6.1 have already been introduced under different forms, either as papers presented in conferences and/or workshops or published in international reviews ([9], [16], [33], [12], [7], [31]) or as internal notes ([15], [8], [10], [32], [11]) where several aspects have been commented. Results of section 6.2 are new. We expose our general framework, theory and personal point of view on new AI (section 3), adaptability and performance (section 4) for the first time as well.
1 AXE Project: Theory and application of parallel systems composed of autonomous and coordinated entities, grants 21-43558.95 (part I, 1st period), 21-47262.96 (part II, 1st period) and 20-05026.97 (part I, 2nd period), Swiss National Foundation for Scientific Research
1
Contents 1 Introduction
3
2 The new artificial intelligence trend 2.1 Knowledge-based AI versus behavior-based AI . . . 2.2 Ingredients of new AI . . . . . . . . . . . . . . . . . 2.2.1 Evolution algorithms . . . . . . . . . . . . . 2.2.2 Emergence . . . . . . . . . . . . . . . . . . 2.2.3 The dynamical system perspective . . . . . . 2.2.4 Situated autonomous agents . . . . . . . . . 2.2.5 Multi-agent systems and the collective trend .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
3 4 4 4 4 5 5 6
3 Our stance 3.1 Designing constraints . . . . . . . . . . . . . . . . . . . . . 3.2 Autonomy and unpredictability . . . . . . . . . . . . . . . . 3.2.1 On the right use of the dynamical system perspective 3.2.2 Insubordination . . . . . . . . . . . . . . . . . . . . 3.3 Techno-genesis . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 From autonomous entities to technical tools . . . . . 3.3.2 Relevance of techno-genetic mechanisms . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
6 6 7 7 8 8 8 9
4 Adaptability versus performance 4.1 New-AI expected benefits . . . . . . . . . . . . . . . 4.2 Grounding benefits on the autonomy-based approach 4.3 Autonomy-based control of performance . . . . . . . 4.3.1 Efficiency and reliability . . . . . . . . . . . 4.3.2 Revisiting control . . . . . . . . . . . . . . . 4.3.3 Performance in new AI . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
10 10 10 11 11 12 12
5 An experimental system 5.1 A class of MAS: situated autonomous agents . . . . . . 5.2 A typical application: gathering agents . . . . . . . . . . 5.2.1 Inspiration from robotics . . . . . . . . . . . . . 5.2.2 Two control algorithms . . . . . . . . . . . . . . 5.2.3 Emergent coordination and emergent antagonism
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
14 14 14 14 14 15
6 Tuning emergent cooperation 6.1 Emergent cooperation . . . . . . . . . . 6.1.1 Speed-up and cooperation . . . 6.1.2 On the run . . . . . . . . . . . 6.2 Control . . . . . . . . . . . . . . . . . 6.2.1 Controlling scalability . . . . . 6.2.2 Controlling statistical properties
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
16 16 17 18 20 20 21
. . . . . .
. . . . . .
. . . . . .
. . . . . .
7 Conclusion
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
24
2
1 Introduction The work presented in this paper relates to the AXE project. The general research subject of the whole AXE project is the construction of the theoretical foundations and of a methodology for designing evolutive parallel or distributed systems composed of autonomous entities. Its practical aim is the conception and the realization of adaptive distributed software platforms and programs, at both application and operating system levels. The general trend of the adopted methodology is characterized as bottom-up: we are searching for principles of entities’ (components of a system) design. This design (architecture of the entities and their communication or coordination medium) is expected to lead to a satisfactory system functioning when the entities are put to work together. For purpose of generality, we will use the term entity to designate any component of a system (which could be welcomed on the platforms we are developing), such as a program, an object (in the sense of object-oriented programming), an agent (in the sense of multi-agent system theory), a robot, or a process running on a distributed architecture. In addition, an entity could be a human being. Our software entities should be able, when working together, to solve complex problems (i.e. problems for which no trivial algorithmic solution exist and problems undergoing dynamic changes in their structure) and deal with unpredictable environment dynamics. Moreover, these entities should be distributed, either because the problem structure is distributed, either because we take up a collective solution approach, or in order to take advantage of distributed hardware architectures. At this step, notice that our aim is to build adaptive multi-entity systems rather than to construct adaptive, intelligent entities per-se. Adaptability of the constituent entities themselves will be only examined as a possible means to obtain system adaptability. This collective trend offers much more flexibility in the definition of what entities’ autonomy could be made of since it has not necessary the role of ensuring the entity’s own adaptability. In particular, a crude operational autonomy (see section 2) may be sufficient to obtain scalability and robustness and even self-organized phenomena at system level. Nevertheless, in search of adaptability, AXE developed in the direction of the implementation of autonomy concepts. Following the new artificial intelligence trend, autonomy is thought as a guarantee for adaptability (of the entities and/or the system), scalability and robustness. But entities’ activities have also to be coordinated in order to ensure consistency, reliability and efficiency of the whole system, i.e. a “good” system performance. A central question then is how coordination methods can preserve entities’ autonomy. In our context, this question becomes more precisely: what kind of coordination methods (controlling performance) have to be implemented at the constitutive entities’ level in order to preserve adaptability of the system as a whole ? To sum up, the AXE project is naturally divided into two parts with strong inter-dependencies. On the one hand we are looking for concepts ensuring adaptability and flexibility of our systems and on the other hand we are looking for control methods ensuring good system performance in terms of efficiency and reliability. This paper will present some considerations about the latter problem. Next section will present the stance which methodologically guided our whole work. Since it is very close to the one of what is called the new artificial intelligence or behavior-based artificial intelligence, it reviews what are the main ideas in this field. Section 4 tries to relate adaptability, flexibility and robustness, with efficiency and reliability in order to develop a performance measure and control theory consistent with the adopted stance. Section 5 introduces a particular multi-agent system aimed at illustrating our approach of adaptability and its own problematics. One key concept of this approach is emergent cooperation, as a self-organized phenomenon in systems constituted of operationally autonomous entities. Scalability is shown to be the result of appropriate architectures and control algorithms of the agents. We then sets the problem of efficiency and reliability in this peculiar context. Using this system, section 6 gives hints on how to measure and control performance in such kind of systems, by applying the ideas of previous sections. On this basis, we will conclude by proposing future works aimed at integrating performance measure and control in the system at the entities’ level.
2 The new artificial intelligence trend The resurgence of the Artificial Life [35], which originated in Von Neumann’s work on cellular automata, induces deep changes in cognitive modeling. The general trend is to replace the notion of knowledge and of cognition, previously treated in symbolic terms, by the emergent phenomena resulting from the combination of a large number of simple behaviors. Knowledge and cognition are therefore described on a sub-symbolic level in terms of numerical relations, often inspired by biological or social phenomena (e.g. neuromimetic networks, genetic or evolutionary algorithms). The behaviors of the entities may be made complex as could be, for instance by introducing learning capabilities or genetic evolution. But this complexity is not a necessary condition at the level of the entity design
3
in the collective trend even if we try to conform to the new Artificial Intelligence (AI) trend.
2.1 Knowledge-based AI versus behavior-based AI On the one hand, classical AI (or also knowledge-based AI or top-down AI in the literature), defines intelligence as the capacity to form and manipulate internal representational models of the world. Considering cognition (in the sense of information processing) as symbolic computation leads to the use of rule-based systems applying transformations over symbols having a signification within the problem’s computer representation. Therefore, classical AI emphasizes the realization of systems that possesses a certain amount of knowledge about some problem domain (expert systems) that allows them to reason within this domain. These systems are very efficient in their domain of expertise and provide a good framework for high level reasoning. But they suffer from lacking ability to relate internal representations to the external world [4] and to extend them [22], [50]. Moreover (and consequently) they tend to utterly fail when facing problems even slightly outside their domain of expertise [27] or when slight changes occur in the problem structure. Most common drawbacks inherent to classical AI are known as the frame problem (problem of maintaining a model of the real world [41]) and the symbol grounding problem (problem of relating the elements of the representation to the sensory information [24]). Behavior-based AI (or also new AI or bottom-up AI in the literature) on the other hand considers intelligence as a biological feature: intelligence should be considered an entity’s capacity to interact with its environment [38]. Therefore, the emphasis is led on embodiment of the entities [49]. Moreover, in analogy to living systems, behavior-based AI also studies intelligence as result of adaptation at the group level [17] as well as species level [29]. Entities adapt their behaviors to use basic competencies in an environment through learning or evolution. From the problem solving point of view, this leads to robust, fault tolerant algorithms. The downside of these approaches being that they do not achieve optimal solutions even when such solutions exist, their internal working is generally difficult to understand, and then reliability, consistency and efficiency are hard to prove. Moreover they have so far failed to be used in solving complex ”real” problems.
2.2 Ingredients of new AI In what follows, we review the main concepts used in new AI. These concepts lead to design methods that support adaptability and emergence of functionalities, and bring a solution to the frame problem and insights into the symbol grounding problem. They concern either the individual level of the composing entities or the global description at the system level. 2.2.1 Evolution algorithms Machine learning also evolves from purely symbolic approaches to connexionist, genetic or hybrid approaches. On the one hand, learning algorithms are proposed for helping single individuals to evolve. Learning paradigms (supervised, reinforcement, self-organized learning) and algorithms (error- correction, hebbian competitive, ...) [26] are strongly inspired by neuro-physiology and behavioral psychology. They offer a range of learning capabilities which apply from purely symbolic computing entities to embodied situated ones. On the other hand, genetic algorithms are in charge of making evolve whole populations of individuals with the help of natural selection [23]. Criteria of fitness are adopted to make individuals fit expected properties. Such methods may converge to satisfactory solutions (expected fitness) faster than by simple combinatory trials. All these methods are advantageously used when no algorithmic solution of a problem can be devised. 2.2.2 Emergence Methodologies of behavior-based AI take a more materialistic approach than classical AI in believing we can ”grow” minds from elementary interacting functionalities. In approaches focusing on collective behaviors, collaborative phenomena are expected to result from the numerous elementary entities’ influences and their interactions. These positions require us to distinguish the global (or macroscopic) level from the local (or microscopic) one, corresponding to the constituents of the system. This distinction between levels allows us to try to capitalize on the possible emergence of the desired dynamics of the whole system. Emergence theory offers indeed a bridge between the necessity of complex and adaptive behaviors at a macro-level and the mechanisms of multiple competencies and situation-based learning at a micro-level, which could be very basic compared to the overall system complexity.
4
The distinction of levels is characterized by different levels of semantics. The global level corresponds to a description of the system as a whole in terms of its apparent functionalities regardless of its constituents. It necessitates to make reference to an observer’s semantics (which can be for instance the user or the designer): a system behavior can be considered emergent if it can only be specified using descriptive categories which are not necessary to describe the behavior of its components. The semantic jump is well illustrated by the fact that one often speaks about the system functionality rather than behavior. Moreover, one often speaks about adaptation by self-organization, which means precisely emergent organization. The adaptation of the system is realized by a re-organization of its components. But these components do not need to adapt themselves to their environment, neither even to survive. Thus, the term environment itself refers to two different levels: the environment of the entities is composed of other components and of some “physical” medium (inscribing objects and laws) in which they are embedded and which constitute, with the entities, the system. The system environment is external to the system and is not perceived as such by the entities. It is itself described at a higher semantic level. A definition of emergence must relate to this distinction of levels and introduce the role of the observer. In a multi-entity system, a feature is emergent if: 1. it is not explicitly implemented into the entities, and 2. it refers to a description of the system as a whole made by an external observer in its own semantics. We will not further discuss this definition here. Note however that, to be operative, it requires the development of the notion of observer and hence is a kind of epistemological stance. Numerous works deal with the formalization of emergence. Although the relevance of this concept is still discussed [43], it often appears in literature as a cornerstone of behavior-based AI [21]. In an engineering approach, the difficulty is to formally relates the high-level specification (the expected global system behavior) to the actual implementation of the entities [20]. It is also difficult to clearly define terms such as “complex” or the very notion of semantic levels, or externality of the observer which are yet key concepts of the approach. 2.2.3 The dynamical system perspective The dynamical system perspective is often invoked in order to ground emergence theory by giving a formalism or, at least, strong hints on how complex behaviors comparable to those produced by reasoning emerge from the interaction of simple behaviors of atomic entities or local dynamical laws. It tries to relate dynamics of elements belonging to the micro-level (agents or neurons for instance) with self-organization and adaptation properties of the whole system by using standard methods of physics in the field of chaotic systems or statistical physics. Studies suggest that emergent computation in dynamical systems is located within the spectrum of dynamical behaviors at a phase transition at the edge of chaos [34]. Moreover, S.A. Kauffman [29] has studied the effect of natural selection on dynamical systems like cellular automata and concludes in the same way: natural selection contributes efficiently to species evolution when the parameters defining the system are in the vicinity of a chaotic transition. 2.2.4 Situated autonomous agents The emergence argument is also found in the software autonomous agents field, where emphasis is put on the interactions between entities and the environment. Autonomous agents are considered to be embodied entities, designed to fulfill internal goals by their own actions in continuous long-term interaction with the environment in which they are situated. The key concept of autonomy refers to the independence of the functioning of the agent with respect to the surrounding system (environment, other entities, user, external context). Two types of autonomy are commonly pointed out [51]. In [40], operational autonomy is defined as the agent’s capacity to operate without human intervention and without being remotely controlled. In [47], behavioral autonomy supposes that the basis of self-steering originates in the agent’s own capacity to form (learn or decide) and adapt its principles of behavior on its own (from its experience). There are two broad classes of methods for designing autonomous agents. In the case of operational autonomy, the engineering approach, or constructivist approach [39], is typically based on a functional decomposition of the control task. The most commonly known approach of this type is the subsumption architecture [5]. Although the concept of situated intelligence used in the above definition of autonomous agents belongs to behavior-based AI, this method of designing operationally autonomous agents may seem to be very close to top-down approaches of classical AI. The purpose is actually to re-compose complex behaviors starting from more elementary ones once their relevance has been recognized. The concept of emergence presented above sketches another way to
5
conciliate the engineering approaches with behavior-based AI. In the case of behavioral autonomy, one tries to obtain adaptive embodied entities by endowing them with explicit learning and/or evolutive capabilities. Thus, the agent can adapt its behavior (self-learning through artificial neural networks [28]) on the basis of its sensations or inherit it from earlier generations of agents (evolutionary learning). The semantics used to describe the system’s functionality should not be in a one-to-one correspondence (translation) with the one used to implement the agent. Otherwise, the agent’s behavior would be under the control of some kind of central supervisor whose law is instantiated by this semantics, and its autonomy would be compromised. The semantic jump mentioned in section 2.2.2 as a characteristics of emergence becomes a necessity in an approach based on autonomy. Thus, autonomy and emergence are in close relationship. 2.2.5 Multi-agent systems and the collective trend In addition to the emphasis on the interactions between an autonomous agent and its environment, the multi-agent system theory focuses on interactions between agents themselves [19]. Adopting the emergence point of view, operational autonomy of agents may, as well as behavioral autonomy, lead to adaptability through numerous and complex effects of interactions. One could say that even if agents are only operationally autonomous, the system constituted by the pool of these agents may become behaviorally autonomous. This idea is also supported by a study of collective intelligence, whose main inspiration is ethology [3]. A main quality of these systems resides in their intrinsically parallel character which should facilitate concurrent and distributed implementation. Moreover they have a good expression power partly due to a shift from control-based algorithms towards adaptive dynamics expressed in terms of laws. Multi-agent system theory should provide new programming concepts in the field of behavior-based AI. The multi-agent systems gave rise to the construction of numerous architectures using very diverse knowledge representation formalisms. Formally, they are formed of two trends. On the one hand, the reactive trend, where systems are composed of numerous agents animated with very simple behaviors: they react to stimuli coming from their environment in a quite wired way. On the other hand, the cognitive trend, derived from expert systems, where systems are composed of few agents endowed with relatively complex behaviors which may use high level knowledge representations and symbolic computation. One more time, the two opposite tendencies organized around the classical AI and behavior-based AI concepts are found. Although it crystallizes a fundamental challenge, the realization of the continuum between reactive and cognitive agent models is still open. This would realize the biological anchoring of cognition, i.e. the emergence of categories forming the basic learning and evolution mechanism.
3 Our stance Concerned with constructing efficient adaptive distributed systems, our previous work [16] lead us to adopt the position defended hereafter. This position shares many common points with the trends of behavior-based AI in the field of multi-agent systems. But, this is more an opening toward new AI than a total adhesion to its stance. In particular, we keep in mind that, according to our definition of what an entity is, our platforms could also host classical AI applications or take human-machine interaction into account. This interaction comes to light in section 3.3. It is not only mentioned in its relation to user-machine interface design but also for its participation to the design and use of the machine in each stage of its history.
3.1 Designing constraints We will explore the following designing constraints, by defining what we will call an autonomy-based approach. 1. An entity must be operationally autonomous: it operates without intervention of a central supervisor. 2. An autonomous entity must be embodied: it has the capability to fulfill internal goals through continuous long-term interactions with its environment. 3. Adaptation may be supported by three kinds of mechanisms: a) self-organization of collective behaviors (inspired by dynamical system theory, ethology and sociology), b) learning at the individual level (inspired by connexionism, physiology and psychology), c) and/or evolution at the population level (inspired by Darwinism and genetics).
6
Note that mechanism (a) is implicitly implemented whereas mechanisms (b) and (c), endowing the entities themselves with behavioral autonomy, are explicit. Self-organization is supported by suitable architectures of the entities and structures of their communication medium, both being ingredients of their operational autonomy. The systems we are developing conform to the first and second constraints at least. At first glance, these two options may seem to be not very constraining. Actually, they force the designing methodologies which ensue from them to focus on the design of the entities themselves and thus give rise to bottom-up software engineering. We analyze these consequences more deeply in what follows.
3.2 Autonomy and unpredictability 3.2.1 On the right use of the dynamical system perspective From our point of view, the dynamical system perspective provides:
Typical examples, out of AI scope, where the assertions such as “the whole is more that the sum of the parts” are well illustrated. In this respect, it has a pedagogical value [13]. A formalism for describing and understanding certain systems. Actually, the only situations where the dynamical system theory can be formally applied are given by experimental systems precisely thought for this purpose. These systems are developed in a dynamical system perspective, which necessitates to clearly define a state space and a dynamical flow together with the possibility of a clear description of the global emergent features we are looking for, while staying in the frame given by the dynamical system (state space + flow). But dynamical system tools fail to describe systems of agents which are thought out of this scope. Moreover they do not provide appropriate tools for describing precisely the observed objects which are typically interpreted as emergent features 2 . An investigation formalism for the study of certain aspects and stages in the design of adaptive systems. They are used for example in the field of learning algorithms in neural networks [26]. A vocabulary for a metaphorical description of systems made of autonomous entities. Using this vocabulary, G. Kiss [30] proposed the comparisons listed in table 1 (for what we could call cognitive agents). Dynamical system Information content of a state Change of state in the state-space Global high-dimensional attractors of the state-space Local low-dimensional attractor in a basin of attraction Trajectory converging to a local attractor Satisfaction of the constraint system constituted by the attractors
Agent system Knowledge of the agent Actions of an agent Likes and dislikes of an agent Goal of an agent Want of an agent Pleasure of an agent
Table 1: Correspondences proposed by Kiss [30]. The correspondences given in table 1 are only metaphorical since the understanding of the mechanisms that intervene in dynamical systems, or the additional tools used to formalize them, bring nothing to the understanding of agents’ systems. By their pedagogical virtue, dynamical systems well illustrate the non-determinism which is inherent to our complex systems. “Complex” may be understood in a structural sense as referring to the intricate structure of the numerous relations between agents. Or as referring to the juxtaposition of levels of semantics. By including its dynamical aspect (flow) into the structural description of the system (state space topology), one can precisely use the term “complex” to designate non-deterministic behaviors, that is behaviors subject to instability, chaos, etc... and necessitating high-level semantics for their description. The term “non-determinism” refers precisely to a difference of levels in the description of dynamics, since the typical and striking examples of dynamical systems exhibiting chaotic behaviors are given by systems whose dynamical laws are deterministic. In such systems, non-determinism is perceived at the level of the global properties of the system, when one observes no more the dynamics of constituting entities (or isolated trajectories) but one tries to relate the two levels by responding to questions about qualitative properties of sets of states (sensibility to initial conditions, invariant sets, structural stability, basin of attraction and their dimension, etc...). Quantification of these qualitative global features may 2 For
instance, dynamical system tools fail to catch the “glider object” in Conway’s game of life [1].
7
be realized only with the help of a theory of measure, that is through statistical properties. Notice that nondeterminism implies that different behaviors of the entities may lead to the same global behavior. Reciprocally, depending of (slight) changes in the environment or problem structure, “same” behaviors may result in distinct system functioning (regime). We will retain the following contribution of the dynamical system perspective to our purpose. The nondeterministic nature of our systems and their complexity in terms of dynamics necessitate to characterize global behaviors by means of measurement of statistical properties and degree of unpredictability. This reflects formally (or quantitatively) the semantic jump which is put forward in section 2.2.2 on emergence, and which relates emergence and autonomy as stated in section 2.2.4. Thus, we argue that even if the concept of emergence is not well defined and not yet operational, autonomy-based approaches lead necessarily to capitalize on it. If we do not, this would mean that there exists a deterministic link between the micro-level and the macro-level, allowing semantic translations of the description of what happens at a level into what happens in the other one. Then, the bottom-up construction of a system would be in a one-to-one correspondence with a top-down approach. 3.2.2 Insubordination We think that this relationship between autonomy and unpredictability, stated here first in terms of the nondeterminism inherent to non-linear dynamical systems and second in terms of a semantic level difference grounded on emergence theory, materializes our philosophical or ideal understanding of the autonomy concept [14]. Autonomy and insubordination are in a strong correspondence, or reciprocal presupposition. Autonomy of any entity (something, someone, a group, a country) is its power to say “no”, its freedom to surprise us. That is, autonomy is the power to escape to the predictive and forcing semantics of someone else. This grounds even the otherness. We should not forget that autonomy is a trans-ductive relation. The tentative to control autonomous entities in this context may seem rather contradictory and thus doomed to failure. Unless we drastically re-envisage the relationship we have with our productions and their possible autonomy. Next paragraphs give some hints for doing this which will be used in section 4.3 on control and performances.
3.3 Techno-genesis 3.3.1 From autonomous entities to technical tools There are strong assumptions behind the use of explicit evolution mechanisms. It is often said that learning mechanisms, inspired by physiology and behavioral psychology, are responsible for the onto-genesis of the entity. First, this presupposes that the entity has an identity, which distinguishes it from a background; to reinforce this belief requires us to respect at least the new-AI principles of embodiment and situatedness. But, the identity of the entity is somehow itself determined and constructed by its adaptive and learning capabilities. In other terms, identity could be in fact produced by learning abilities. Second, the term onto-genesis implies that one recognizes a “being”, some ontological features of the entity. This refers to a whole philosophical framework, a set of philosophical positions and beliefs, which are in charge of asserting that the software entity is, in one sense, a “ontos”. Once again, the question is to know whether this quality is intrinsic to the entity or whether the entity is endowed with it precisely through adaptation mechanisms. In the same way, it is said that evolution mechanisms, inspired by biology, are responsible for the philo-genesis of some population of entities. This supposes that one is able to recognize in the population of selected entities the status of species. But the granting of this status, as the one of ontos, necessitates the intervention of an observer, generally the designer itself. This designer intervenes explicitly in the definition of a fitness. The question is to which extent the attributions to the entity of its ontological character or its species affiliation do not simply reflect (or even are a surrogate of) the designer’s goals. An emergent dimension and the whole debate around the concept of emergence is found again, inevitably, at the core of the use of explicit adaptation mechanisms. In order to avoid such debate, we think that we would better have to concentrate on the technological character of these dimensions (onto- and philo-genesis), that is to re-situate them into the engineering process, into a technological history of the entity. This history is the one of the interaction with the human designer. Thus, we would draw the attention on another dimension of evolution, too often neglected, or at least presented as belonging to a framework perfectly distinct from the one of explicitly implemented mechanisms. It is a matter of what we could name the techno-genesis of our entities. The (software) entity, imagined, planned, constructed, modified, evolved, parameterized by the human engineer, inherits of several pasts. If one ceases, for a while, to consider the entity as autonomous, or alive, or intelligent (i.e. if one goes out of the sometimes congestioning
8
framework of new-AI and its conformism), the entity appears just as a product of our technology. As such, it inscribes the technical history, all the forms (in a theory of the evolution of technological forms per-se [45]) necessary to the apparition of this peculiar new form which is instantiated by the considered entity. It inscribes also the use which is actually made of this entity, and the “proper world” (Umwelt [48]) that it reflects. In this respect, the autonomous entity is autonomous only in regards of its future as a technical tool, where the entity tool and its user co-happen [46]. To sum up, the techno-genesis dimension presents the entity as a human technological tool, which is constituted as such. This leads to focus on co-happening worlds, and then co-adaptation mechanisms that we will call techno-genetic mechanisms: human-human co-evolution (where tools provide a coordination medium for human actions), human-machine co-evolution, and machine-machine co-evolution (in the sense of the co-evolution of two human products, i.e. mediatized by human actions, and not in the sense of the co-evolution of autonomous entities endowed with their own evolutionary mechanisms). Here, “machine” means any artificial entity or system composed of artificial entities considered as technological tools. 3.3.2 Relevance of techno-genetic mechanisms We face now the necessity of constructing a techno-genesis theory. Such a theory, that we only sketch (at this stage, it appears more as a wish than as a theory), should rely on the theory/history of technology presented in [36], [45] and [25], which could advantageously be applied to the development of software entities. Its advantage is to allow us to understand artificial entities’ architecture as reflecting, or being an inscription of co-happening worlds, since from this point of view the evolution of our entities appears naturally contained in the evolution of computer sciences and computer scientists themselves. At this level, the fact of evolution is certainly well established. Thus, the envisaged theory enlightens the development of software tools with anthropological considerations. As a consequence among others, techno-genetic mechanisms include onto- and philo-genetic ones. To this respect, a techno-genesis framework instantiates a kind of meta-level unifying our problematics. Referring to techno-genetic mechanisms makes the discussion about the observer’s role non-vain: it is no more an abstract philosophical stake but the concrete consequence on engineering which is brought into light. Another consequence is that trial-and-error procedures in engineering appear as included in the adaptation mechanisms of the entity and the engineer, who co-adapts (the feedback to the designer is too often forgotten). Then, it can constitute a valid methodology. For instance, from this point of view it appears perfectly natural to envisage some opportunistic approaches in engineering. An opportunistic approach consists in exploiting some system behavior which was accidentally encountered while developing a certain system toward some expected functionality. After tuning or re-engineering, this new behavior results in a system functionality which is quite different from the attempted one. Two new systems have then been constructed. Perhaps, it is even possible to establish a methodology of “opportunistic engineering”. An example is given in [18], where a navigation system is developed using learning algorithms allowing a robot to go in the direction of light sources; it incidentally happens that using the system, the robot avoids obstacles. This suggests to the authors a new approach to obstacle avoidance. In this example, onto-genetic approach is critically re-centered on its techno-genetic aspect. A second example may be found in [42]. Ray’s idea is to let the evolution find the forms of living organisms and processes that naturally exploit the possibilities inherent in the computer artificial medium. This can give a means of harnessing the evolutionary process for the production of complex software: once complex forms “live” in this medium, we would have a chance of domesticating some of them. In this last example, it is the philo-genetic mechanisms which are reinserted in an encapsulating techno-genetic intercourse. A techno-genesis theory would give the opportunity to better understand such surprising developments, since they are precisely a matter of human-machine interaction, and of the human tentative to control its tools. A theory of implicit adaptation mechanisms, or self-organization, can be extended to designer-entity interactions (i.e. engineering), or user-entity interactions in such a way that engineering processes become an element of these mechanisms. In section 2.2.2 on emergence, we mentioned the semantic difference in the description of the entities’ environment and the system’s one. The system’s environment typically includes features related to the interactions between different systems or between the system and the user. It is the medium where techno-genetic mechanisms take place. The emergence theory which, as we mentioned, must put the accent on the observer’s (designer or user) role would be coherently extended by a techno-genesis theory. It is certainly impossible to relate high-level specifications of a system functionality to the actual implementation of the entities only by means of formal transformations, acting on formal representation of an isolated entities’ world. Thus, we need such a theoretical framework, providing a background which reinserts the designer’s practice with the machine at the core of the problem. 9
All this suggests to develop architectures of entities and systems in such a way that this co-evolution will be radically facilitated. This accent on architecture permitting co-evolution, also facilitates co-adaptation of different entities and then flexibility of applications. In a Darwinian perspective on the evolution of technological forms, the forms of software entities are naturally close, and these entities are almost compatible and comprehensible the ones for the others. Our point is just to help this compatibility by an appropriate engineering conscious of this dimension.
4 Adaptability versus performance We have seen that where classical AI fails to relate symbolic representations to sensory information, new AI uses a grounding hypothesis to build systems from sensory information but still fails to produce systems capable of reasoning. One generally invokes classical AI for its efficiency and reliability but reproaches its lack of adaptability, evolvability, flexibility and robustness. Whereas, conversely, new AI approaches are believed to give rise to adaptive, evolvable, flexible and robust applications but are generally criticized for their lack of efficiency and reliability, or proof methods for those aspects. In what follows, adaptability, flexibility, scalability and robustness will be called shortly new-AI benefits. Efficiency and reliability will be compactly mentioned as the system performance. In the following, we give definitions of the new-AI benefits on the one hand and system performance on the other hand. On this basis, our purpose is to make clearer the previous assumptions: we show how the autonomybased concepts contribute to these benefits. Moreover, we want to understand why the autonomy-based approach is suspected to reduce system performance, and in what way this unpleasant consequence may be bypassed, softened or at least tolerated.
4.1 New-AI expected benefits The properties of the system that we expect as a consequence of the autonomy-based approach are defined hereafter. 1. Adaptability is a system’s ability to withstand external perturbations coming from its surrounding. An entity is said adaptive if, immersed into some static or dynamic environment, it is able to adjust its behavior or its structure so that it survives. Or if it is able to modify them in order to survive to changes of this environment. The bio-inspired term ”survive” means, in an engineering approach, that the system continues to work in an appropriate manner, i.e. by satisfying some user-defined fitness requirements. 2. Flexibility is a system’s ability to resist to a modification of its structure or its context. A system is said flexible if, among others, one can add new types of components (e.g. entities having new functionalities), modify existing entities (e.g. their internal control algorithms) or change laws constraining their behaviors (e.g. communication protocols or the coordination medium). 3. Scalability is a system’s ability to resist to a modification of the number of its components. A system is said scalable if it still works correctly, or even better, when components are added to it. 4. Robustness is a system’s ability to resist to destructive perturbations of its structure. A system is said robust if it still works in a satisfactory way when some of its components undergo failures or breakdowns. The flexibility concept, by taking into account the possibility of external interventions, makes reference to the system context, or environment, and then necessitates to make a (semantic) difference between the entity level and the system one (see sections 2.2.2 on emergence and 3.3 on techno-genesis). It is related to the interaction with a human user or designer and to software system re-engineering: ”resistance to modifications” means that no, or very few, re-engineering is necessary in response to a class of modifications. Thus, flexibility should be related to the evolution of the software entities in a large sense, that is to their techno-genesis. Scalability can be viewed as a peculiar aspect of flexibility. And robustness can be viewed as a peculiar aspect of scalability, apart from the fact that perturbations like failures may have internal origins.
4.2 Grounding benefits on the autonomy-based approach What is the relationship between the options we adopted in section 3.1 and these positive supposed properties ? How the firsts lead to the seconds ? There is actually no general proof of such properties in autonomy-based
10
systems and each designer should bring proof or at least hints for its particular system. We give here the main arguments enabling to understand this relationship. They are mainly based on common sense. 1. Adaptability is seen as a direct consequence of explicit or implicit adaptation mechanisms. 2. Flexibility can be seen as a consequence of adaptability. The introduction, by an external entity, of novelty in the system, perturbation of its defining parameters, addition of features, modification of coordination media, or slight changes in its overall organization are interpreted as environmental perturbations to which the entities adapt themselves with the help of implemented adaptation mechanisms or through self-organization processes. In a complementary way, flexibility of a system can be improved by an appropriate architecture of its components, in particular the kind of sensors, effectors and communication protocols used: perturbations can be born if these tools are general enough. Flexibility may also rest on locality, that is on operational autonomy of the entities. 3. Scalability requirement is less demanding than flexibility. It can be seen as a consequence of a restricted aspect of adaptability, namely the adaptability of collaborative capacities and is justified in the same way than flexibility. In a complementary way, it can be helped by implicit coordination mechanisms and simply by similarity of component interfaces in collective behavior-based approaches. 4. Robustness can be ensured by adaptation mechanisms such as self-(re)organization. In a complementary way, it can be simply ensured by redundancy of components in a scalable system. The general argument is given by an analogy with natural neural networks which can support the loss of several neurons before exhibiting measurable deficiencies. Flexibility, and then scalability and robustness, depend on the peculiar history of the system development and of the evolution of its components. Adaptability of the system, as far as it is a consequence of self-organization (implicit) mechanisms, depends itself on these aspects. Thus all these new-AI benefits would be better understood if we take into account their techno-genetic dimension. They could be enhanced by using appropriate methodologies resulting from this dimension taken into account, as mentioned in section 3.3. That is why the arguments given here above are divided in two classes: the ones which directly refer to the autonomy-based approach (implicit and explicit adaptation mechanisms, adaptability of autonomous situated entities) and the ones referring to appropriate engineering (architecture, redundancy, etc...). The previous work of AXE project demonstrated scalability and flexibility in the case of simple operationally autonomous agents. In the envisaged system, the only adaptation mechanism was self-organization, which was put into evidence by a study of implicit cooperation capabilities; thus, scalability was mainly due to the architecture argument together with locality, appropriate interface similarity and absence of explicit protocols. That is why these concepts are adopted in our projects of languages and platforms. Section 6.1 will sum up the results we obtained.
4.3 Autonomy-based control of performance In counterpart of the benefits described above, autonomy-based approaches are often suspected of compromising efficiency and reliability. We show here that this fear is rooted in a practice of engineering standing uncomfortably at the crossroad of classical and new AI. If we make this practice coherent with the autonomy-based approach and its consequences (unpredictability, techno-genesis-dimension), system performances can be defined in such a way that trust can be rehabilitated. Actually, trusting autonomous entities, that is entities able of insubordination, is one of the most difficult and sensitive point in human relationships. 4.3.1 Efficiency and reliability Efficiency is the system’s ability to provide expected services. It could be measured as the ratio of the services produced by the system over the total cost of the system, which encompasses building and maintenance cost: efficiency
value of services building cost maintenance cost
+
Because it refers above all to criteria translating the demand of the user and also to the particular genesis of the system abilities, it is not possible to devise a satisfactory general efficiency criterion. Reliability is related to human non-intervention. A measure of reliability should include all kinds of defects requiring human control in order to evaluate the relevance of results, correct them, repair or adjust a defective 11
component, etc. Its measuring depends on what is tolerated as correct or relevant. In this sense, reliability is based on the notion of reproducibility of results which implies a tolerance to error. Reliability should be taken into account for the evaluation of the maintenance cost mentioned above, so that efficiency depends on reliability. 4.3.2 Revisiting control Are autonomy-based systems non-reliable, and thus non-efficient, particularly if we adopt approaches grounded on emergence and implicit coordination permitting antagonism (see section 6) ? This fear is rooted in the apparent lack of controllability and proof methods for autonomy-based systems. For us, the notion of control includes two distinct aspects (as in the French meaning of this word). 1. First, control of performance consists in driving the system behavior. This driving may be rather forcing or may consist, in a way coherent with adaptation mechanisms, in a trial-and-error procedure. Corrections can be brought by the designer or by the adaptation mechanisms themselves. Driving enhances efficiency: control may be applied in order to make the system run faster for instance. 2. Second, control of performance consists in checking the system behavior regarding certain expectations. It is directly related to reliability: it consists in evaluating the relevance of results (whole system behavior) when we let the system run. Checking and driving are independent one from the other. They can constitute two stages in engineering. In a first stage, we need checking in order to evaluate defects, without intervening; in a second stage, driving consists in adjusting parameters or revising system architecture in order to avoid the detected defects. But checking takes place at any time and is not only a stage in trial-and-error procedures. If one is not sure of the system reliability, or one tolerates errors in some range, one has to keep the system under this kind of monitoring in order to reject bad or unsatisfactory results without necessarily re-engineering the system. If driving is performed by some adaptive mechanism in the system itself, checking is not necessarily relaxed. To concentrate on the techno-genesis of software tools (see section 3.3) means that we take into account reengineering (flexibility) as well as control, in the sense of a human-machine interaction intervening in a constitutive stage. In this context, control (checking and driving) is necessarily the reflect of human intervention, even if control tools are embodied into the entities through explicit adaptation mechanisms. Control may be defined as the tentative to take advantage of the evolution of our tools. And, every adaptation mechanism are seen as control tools. Thus, adaptation and control are two aspects of the same thing. This consideration seems to rather complicate our purpose. But we argue one more time that this position has the advantage to unify the problematics. Control should not be a fight against the autonomy of our technical productions. The tentative to understand techno-genetic mechanisms, putting reciprocity into evidence, goes in the right direction trying to understand the opposition and to relax it. 4.3.3 Performance in new AI Performances of classical AI systems can be well established. Classical AI, with its symbolic computation trend, is rooted in formal languages and logics. Moreover, since classical AI is based on the notion of re-presentation (in the sense of an accurate spitting image or surrogate of a pre-given referent) its ideal background is the one of re-cognition. Actually, what is wrong and what is correct is defined a priori: the system is in charge of recognizing a pre-existing system independent world. This context provides us with precise and rigid criteria of correctness of results and a whole material for proof methods. The fault-tolerance notion can be itself delimited in a quantitative precise manner. In this framework, it is not surprising that the notion of reliability refers only to a quantitative measure of the reproducibility of results, that is to the exactness in re-production or re-cognition processes, precisely because in this ideal world exactness has a sense: it is defined as an accurate return of a pre-supposed reality or adequacy to reality. The reproducibility of results at the level of the global system can be directly related to the reproducibility of the behaviors of its components. Thus, checking is made superfluous by proving, and driving is the result of well established causal chains linking the behaviors of the components to the one of the system. Checking takes place only during the construction stage: efficiency and reliability are proved once and for all. Most of the time, the evaluation of the efficiency comes to measure the speed, the only factor on which depends the quality of services, whereas the maintenance cost is fixed (if one does not consider re-engineering), and the building cost depends on the difficulty in proving reproducibility. Speed-up is rigorously determined by the computing algorithms.
12
In new AI, this position has to be radically re-examined. In this paradigm, the world is no more system independent. As we have shown, in the autonomy-based approach capitalizing on self-organization and emergence, there is a semantic jump from the description of the behaviors of the entities to the one of the global system (see section 2.2.2 on emergence). Moreover, as we have seen in section 3.2 on our stance in what concerns the dynamical perspective, the kind of systems we envisage are characterized by their non-determinism. This implies that only qualitative properties of the relationship between the two levels may be examined (for instance, sensibility to initial conditions or structural stability qualify the reaction of the configuration of the whole system to environmental changes). Then we face a twofold impossibility: the semantic dis-continuum together with the non-deterministic nature of the mechanisms leading from one level to the other, makes impossible to relate the two levels in a one-to-one fashion. It is of no help to examine with a magnifying glass the behaviors of the components of the system. Having specified the expected functionality of the system, we can not find in an univocal way any requirement on the entities’ behaviors, at least on what they should individually do. Anyway, the concept of emergence implies that we are not interested in the behaviors of the entities per-se but in the resulting, composed behavior of the global system. Thus, it would definitively be contradictory in a bottomup approach, to concentrate on the reproducibility of the entities’ behaviors. In this approach, reproducibility of the results necessarily means reproducibility of the global behavior of the system (i.e. its functioning described at the semantic level of the external observer) and not, as in a classical approach, reproducibility of the behaviors of its elementary components. It evidently necessitates to have some criteria of degree of reproducibility since the global behavior has some degree of unpredictability due to its inherent non-determinism. As we have seen, such criteria, in a dynamical system perspective, are subsumed to a measure of statistical features. That is, to a statistical control (in both sense) of the system. In other words, in a new-AI approach there is no more a theory of error and exactness to ideally refer to. This seems to compromise performance of autonomy-based systems. Reliability is not granted; performance can not be specified ahead. But, in order to make sense, the autonomy-based approach in engineering, reflecting a shift in cognitive sciences, has to be accompanied with a radical shift in our engineering attitude. It makes no sense to adopt this stance while continuing to practice engineering in a “classical mind”. This shift is not realized simply by conforming to some new-AI methods (i.e. by implementing situated embodied entities and endowing them with some explicit adaptation mechanisms). We also have to re-examine our practice, i.e. our relationship with our tools, our demanding and tolerance. It could no more be said that performance is compromised by autonomybased approaches if the very notion of performance refer to an epistemological background distinct from the ideal world of re-cognition. Actually, the content of the concept of performance reflects precisely the attitude we adopt in engineering. The autonomy-based approach must be extended now from the construction stage to the whole lifetime of the software, which, in this approach, includes permanent control strategies. Truth has to be replaced by trust. In a way which is coherent with enaction theory and a techno-genesis approach, the observer (designer or user) has to “meet” the system (the system’s behavior, identity, originality, or whatever) and no more “recognize” it like in the classical attitude. For this, and according to previous paragraphs, we propose to define efficiency and reliability in terms of what is typically expected in an autonomy-based approach, that is in terms of new-AI benefits. In a bottom-up fashioned system, adaptability, flexibility, scalability and robustness are global features and moreover they should be common to all such systems. Thus, a measure of performance through a measure of new-AI benefits provide a common and comparative criterion for those systems. Anyway, system functionalities must be measured in terms of the global system semantics and can not refer to components. Adaptability, flexibility, scalability and robustness belong precisely to this semantics. Notice that, if we can consider them as emergent features, their measure must be related to statistical properties. To control them (i.e measuring them by checking and granting them by driving) necessitates a permanent interaction with the system and an adaptability of the user towards the system expression, in a techno-genetic vision. Performance and new-AI benefits are interdependent. To increase flexibility decreases the building cost of derived products (this process may be seen as a techno-genetic mechanism) and thus increases efficiency. To increase robustness diminishes defects and thus increases reliability (and efficiency as far as it depends on reliability). To increase adaptability increases stability and predictability of the global system behavior and thus increases reliability too. These remarks show that our approach makes sense: controlling adaptability, flexibility, scalability and robustness IS controlling performances.
13
5 An experimental system For the completeness of this document, we give the detailed description of an experimental multi-agent system (MAS) that we intensively used to get quantitative insights in the problem of measuring and controlling performance in a system made of autonomous entities. This system was described already in numerous of our previous papers: together with a first set of results on validity of the approach and on emergent cooperation ([9], [16], [7]), and on the problem of distributing such systems using coordination models ([12], [33]). Its definition, in particular agents’ architecture and locality prescriptions, is thought to take into account the autonomy-based options we have chosen in section 3 and their consequences.
5.1 A class of MAS: situated autonomous agents We start from a generic model of MAS composed of an Environment and a set of Agents. The Environment encompasses a list of Cells, each one encapsulating a list of on-cell available Objects at a given time (objects to be manipulated by agents) and a list of connections with other cells, namely a Neighborhood which implicitly sets the topology. This way of encoding the environment allows the user to cope with any type of topology, be it regular or not, since the set of neighbors can be specified separately for every cell.
Content and connections of occupied Cell
Actions Control
Manipulate objects, move
Effectors
Sensors
State Perception
algorithm
Figure 1: Architecture of an agent. The general architecture of an agent is displayed on figure 1. An agent possesses some sensors to perceive the world within which it moves (situatedness), and some effectors to act in this world (embodiment). The implementation of the different modules presented on figure 1, namely perception, state, actions and control algorithm depends on the application and is the user’s responsibility. In order to reflect embodiment and situatedness, perception must be local: the agent perceives only the features of one cell, or a small subset of cells, at a given time. This locality prevents the use of a semantics describing the global characteristics of the system in the implementation of the control algorithm, thus giving the possibility to emergence. Moreover, the agent has no topological description of the environment. The envisaged applications and algorithms are thought to work with any cell topology. The control algorithm module is particularly important because it defines the type of autonomy of the agent: it is precisely inside this module that the designer implement either an operational or a behavioral autonomy. For instance, a very basic autonomy would consist of randomly choosing the type of action to take, a more sophisticated one would consist of implementing some learning capabilities, e.g. by using an adaptive neural network.
5.2 A typical application: gathering agents 5.2.1 Inspiration from robotics Our class of MAS can support numerous applications. We illustrate with a simulation in the framework of mobile collective robotics. Many robotic applications rely indeed on the collaboration within a group of robots, where the functioning of the whole group depends on the skills of each individual, as well as on the interactions between individuals. Our application tackles a quite common problem in collective robotics which is still given a lot of concern: agents (an agent simulates the behavior of a real robot) seek for and displace objects distributed in their environment, and we would like them to stack all objects. 5.2.2 Two control algorithms In our simulation, the environment is composed of a discrete two dimensional L cell-sided grid, a set of N objects and n mobile agents. An object can be located on a cell or carried by an agent. Under the given constraints, we implemented several variants for agent modules (details can be found in [9] and [16]).
14
A simple control algorithm that can be used is as follows (an agent having this type of control algorithm is referred to as probabilistic agent): if an agent that does not carry an object comes to a cell containing NO objects, it will pick up one object with a probability given by =NO , where is a constant; if an agent that carries an object comes to a cell containing some objects, it will systematically drop its object. If the cell is empty, nothing , the probability to pick up an object on a non empty cell is always 1, so that this happens. Note that when approach implements a well-known behavior referred to as pushing behavior in the literature [2]. A slightly more efficient control algorithm is that of a memory agent. Assuming an agent has a special aptitude for memorizing allows us to append in its intrinsic state the parameter NOmax representing the greatest heap ever encountered on a cell by the agent during its walk, and regularly updated (note that the agent never knows the location of this greatest heap). If the agent does not carry any object and comes to a cell whose heap has a size P NOmax, it will take an object. It deposits it later on a cell whose heap is P NOmax. However, it is probable that the combined actions of other agents (interpretable as antagonistic) will destroy any heap greater than or equal to NOmax. In order to avoid that an agent infinitely goes on looking for a heap that does not exist anymore, it will systematically deposit the object it carries after Tmax iterations (an exhaustion limit) and reset its NOmax. In addition to Tmax, we append in the intrinsic state the time spent to seek for the right heap. The action module consists of the following possible actions an agent can take, namely pick up an object, drop an object and move to another cell. The state module encompasses the private information of every agent and depends on the control algorithm. In our case, it mostly consists of or Tmax, the information relative to whether the agent carries or not an object (note that an agent can not carry more than one object), plus some internal variables for purpose of implementation. We used two types of perceptive capabilities for the perception module of our agents: in the simplest case, the agent perceives only the number NO of objects on the cell on which it stands and the available connections with neighbor cells (in the rest of this paper, we will refer to it as basic perception). Therefore, a random directional displacement for the agents was used in order to ensure an exploration of all the cells of the environment within a reasonable amount of time. Subsequently, in order to avoid the drawback of random moves (loss of time wandering around on empty cells) and to be closer to mobile robotics applications, we enhanced the perceptive capabilities of our agents, by giving each one an artificial eye (pin-hole camera model). So that, an agent is able to perceive objects in the environment and can go for instance towards the one which is the closest to its optical axis, thus avoiding wandering around in an area without interest.
1
0
=0
5.2.3 Emergent coordination and emergent antagonism Our approach rests on a system integrating operationally autonomous agents, that is, each agent in the system acts freely on a cell (the agent decides which action to take according to its own control algorithm and local perception). Therefore, there is no master responsible for supervising the agents in the system, thus allowing it to be more flexible and fault tolerant. Agents have neither explicit coordination features for detecting and managing antagonistic situations (conflicts in their respective goals) nor communication tools for negotiation. In fact they communicate in an indirect way, that is, via their influences on the environment. Thus the experimental situation is that of agents exhibiting antagonistic relationships regarding certain criteria, in particular regarding one externally predefined goal they are expected to reach. Actually, one agent is said gathering if it is able to stack up all the objects onto a single heap on a cell, in a finite time, when acting alone in the environment, whatever the initial configuration. Experimenting environments where some gathering agents work concurrently is expected to yield a single stack containing all the objects. However this result does not appear as a goal embodied into the agents, but is generated by the recurrent interactions of the agents. It can be interpreted as a global goal, but let us underline that such an interpretation is generally the description made by an external observer spying on the execution of the experiment. To this regard, the system is self-organized. In [19] an interaction taxonomy for goal-oriented agents is put forward: interactions are classified according to the goals of the agents, their resources and their skills. This taxonomy leads to three categories of situations: indifference and cooperation situations encompass situations where goals are compatible (with the different combinations for resources and skills, namely sufficient and insufficient), whereas antagonistic situations group together all possible situations in which goals are incompatible (indiscriminately of the status or resources and skills). In [19], numerous methods for handling cooperation situations are discussed (see [6] as well). These methods, according to Mataric’s definition [37], imply information exchanges and actions performed by a couple of agents in order to help some others. We refer to them as explicit cooperation, that is, a set of interaction organization methods evolved for foreseen situations. However, what is remarkable is that antagonistic situations are never addressed: it seems as if they were considered out of scope. In fact, approaches to address the problem of antagonism 15
mostly consisted in replicating the techniques that were developed in the discipline of operating systems and in fitting them to distributed artificial intelligence. This taxonomy of interaction situations is mainly based on the description made by an external observer. To qualify situations according to this taxonomy requires a global view of the system. It makes it necessary to compare and interpret agent behaviors, and to attribute global goals to them, regardless of their effective implementation. The very notion of goal refers to macroscopic states which are to be reached. Thus, trying to take into account all possible antagonistic situations when designing agents necessitates to introduce a global description of the system at the level of the agent. In other words, explicit coordination tools would be contradictory with our emergence approach. That is why another approach of conflict management is needed. To be consistent with the epistemological stance of emergence, we give-up explicit and exhaustive description and resolution of conflicts. This implies that: 1. cooperation between agents is itself attempted as an emergent feature and 2. (emergent) antagonistic situations are bound to happen. We will then speak of emergent cooperation and emergent antagonism. The two fundamental points that explain how both features can be present in the same system are the following. First, as a consequence of the micro/macro-level distinction, we must keep in mind that observing cooperation at a macroscopic level does not necessarily imply that microscopic entities cooperate. In other words, the observed cooperation may be emergent, which, according to our definition of emergence, does not say anything about the underlying mechanisms at the agent level. Thus, at the same time, agent goals may be interpreted as antagonistic. Second, emergent cooperation and emergent antagonistic stages may follow each other as stability and instability stages do in Schwarz’s model [44]. In both cases, the modality of the coexistence of cooperation and antagonism can be of two kinds: either cooperation emerges thanks to antagonism, or it emerges despite antagonism. In the next section, we will present results obtained with our experimental system illustrating this last possibility. The richness of the problematics is that cooperation is classically seen as a control (forcing) tool (or ensured by such tools). Our tentative to relax such forcing structures by making cooperation an emergent feature, goes in the direction of our overall approach of control of performance. Actually, cooperation is linked to flexibility and scalability. Thus, to obtain an emergent cooperation means to ensure performance in terms of flexibility and scalability in a soft controlling way.
6 Tuning emergent cooperation The peculiar problem is to ensure reproducibility of results, or behaviors, in an autonomy-based system capitalizing on emergent cooperation and permitting emergent antagonism. We show here how it is possible to overcome this difficulty in the case of operationally autonomous entities, by shifting our expectations from a crude predictability toward statistically satisfactory distribution of results (or statistical reproducibility), in a way which is consistent with the expected benefits of emergence. Notice that we are not interested in the proposed system per-se (i.e. we do not take our algorithms as serious solutions to the “gathering problem”). We rather use it in order to get insights and help our intuition in an approach whose internal working, as mentioned in section 2, is generally difficult to understand. We think that, precisely because of this difficulty, we need to consider the problem in a very simplified version. So to speak, it is a model of a model. Actually, in spite of the simplicity of the system and control algorithms, we found and discussed a whole range of phenomena related to crucial problems set by the approach. The primeval valuable issue of this experimental system is to make us face the consequences of our options. Not only their measurable consequences, but the consequences on our engineer mind, on our relationship with the tools we develop. It allows us to test our tolerance and reveals in which measure our expectations are not consistent with the adopted approach. We can try to observe our reactions and our reserves when we are confronted to such systems. This could suggest paradigmatic shifts in our practice.
6.1 Emergent cooperation Our system is susceptible to provide two emergent features (see section 5.2.3). The first one is the achievement of a single stack when several agents run together. The second one is cooperation itself. Moreover, in our experiments, the combined actions of autonomous agents in their environment naturally induce antagonism. We demonstrate
16
that here antagonism is emergent, being a descriptive term given by an external observer: it refers to a global view of the system and is not explicitly implemented. 6.1.1 Speed-up and cooperation We focus first on the capability of the agents to regroup all the objects into a single stack on a cell (final configuration): this is our designer’s goal, expressed in a semantics which does not corresponds to the one used for the implementation of control algorithms. A relevant feature for each experiment is the total number Mn of displacements (iterations) necessary for n agents to reach this configuration. We will say that Mn is a measure of the efficiency of the system with respect to this expected functionality: it evaluates the value of the service regarding the speed. To compare the efficiency of different numbers of agents, we used the speed-up
M1 : Mn
gn =
(a) 70 60
g(n)
50 40 30 20 10 0 1
5
10
15 n
20
25
30
Figure 2: Speed-up of probabilistic agents with basic perception for one given initial configuration, and two different random walks. ( : ,L ,N )
=03 =6
= 50
The first results (figure 2) show that the goal is reached. But, in order to compare the experiments with different number of agents, we see that we need to measure the averaged value of the quantities Mn and gn obtained by varying initial configurations (position of objects and agents) and random walks (if any). This averaging is a first approach for assessing reliability. The smoothness of graphs and the number of experiments necessary to obtain this smoothness give a first indication of how much reliable the system is. Thus, averages (of Mn or speed-up) concerns both efficiency and reliability. This shows the relationship between these two aspects: in our approach, efficiency has a sense only in some statistically defined bounds. We can say that averaging and measuring the speed-up is a first approach of a measure of performance (efficiency + reliability) which goes into the desired direction, defined in section 4.3. We will then report the averaged speed-up
hM i 1 Gn = hMn i
where the first averaging hMn i is an averaged value of Mn over random walks, and the second averaging (of the ratio) is computed over initial configurations. This measure directly assesses the second emergent feature: an increasing speed-up (Gn?1 < Gn ) will outline a cooperation between the n agents, according to Ferber’s criterion [19]. In our case, we can qualify this cooperation as emergent, because the agents are by nature not even aware they cooperate. Notice that, by definition of scalability, this kind of cooperation implies directly that the system is scalable, at least until the value of n where the speed-up starts to decrease. Figure 3 displays the speed-up measured for agents with a basic perception and random moves. Averages are computed over experiments ( different object distributions and different paths). Probabilistic agents cooperate until the number of agents in the system is equal to . In other words, the system is scalable until the agents. There is even an over-linear speed-up for a number of agents ranging from to . critical value nc
10000 =9
100
9
17
100
3 5
(a)
(b)
12
3.5
10 speed-up
speed-up
8 6
2.5
1.5
4 2
0.5 1
5
10 15 20 number of agents
25
30
1
5
10 15 20 number of agents
25
30
= 03
Figure 3: Averaged speed-up for agents with basic perception. (a) Probabilistic agents, : . (b) Memory agent, Tmax = 100. (L ,N , averages over experiments, i.e. initial configuration times random walks)
=6
100
= 50
100 100
100
12
speed−up
10 8 6 4 2 0
0
2
4 6 8 number of agents
10
12
Figure 4: Averaged speed-up for probabilistic agents with visual perception. ( over initial configurations)
150
= 0:3, L = 40, N = 20, averages
=6
Memory agents cooperate until nc agents but without displaying an over-linear speed-up. Scalability is due to agents’ architecture and the simplicity of the control algorithms. Figure 4 displays the speed-up measured for agents with the pin-hole camera model. Averages are computed configurations. The shape of this speed-up chart is similar to the one reported for agents without vision, over apart from the fact that we do not any longer observe an over-linear speed-up (we will come back to this point in section 6.2). Therefore, the conclusion is the same as before, that is, cooperation emerges in the system through the recurrent actions of the agents.
150
6.1.2 On the run In our experiments, if we can bet on the final goal to be achieved (from the control algorithm of every agent), we can not really preempt the fashion in which the goal will be achieved, due to the non-determinism in the system: the collective behavior (at the system level) is implicitly driven by the individual behaviors (at the agent level). In order to give an insight into the run of an experiment, the charts in figure 5 relate the history of the environment. It displays the evolution of the size of the biggest stack (note that we report the size of the current biggest stack at each time; but the location of this stack may vary in time) and the evolution of the number of stacks in the world along the experiment. We may distinguish three stages. In the first stage (times 0 to 240), the number of stacks decreases quickly. During this stage, agents empty cells containing one or a few objects. One can say that agents collaborate for this task. In the second stage (times 240 to 620), there is some stagnation, particularly in the increasing of the biggest stack. During this stage, agents carry objects from stack to stack, without substantially increasing the biggest stack. In fact each agent tries to increase a different stack. An external observer may say that this is due to competition, or
18
10
Figure 5: (a) Evolution of the number of objects in the biggest stack with probabilistic agents with basic perception. (b) Evolution of the number of stacks in the environment. The “time” is the number of iterations. : ,n ,L ,N ) (
= 0 3 = 10 = 40
= 50
that agent goals are antagonistic. This is what we call emergent antagonism. In the last stage, as in the first stage, the biggest stack increases quickly and eventually contains all the objects. During this stage, agents collaborate again. In fact, the final stack is chosen randomly during the antagonistic stage: a hazardous imbalance between sizes of the stacks will then be accentuated. This shows that here the antagonistic stage is unstable. This scenario precisely illustrates our purpose. It can be summed up by following Schwarz’s model [44]. Cooperation between agents emerges and constitutes a stable stage until the moment where internal tensions are generated and antagonism emerges. At the end of the unstable alea stage, the system comes back to a cooperation stage. The cooperation in this last stage is very close in nature to the first stage. That is why we conclude that cooperation takes place despite antagonism. If we want to make the agents more efficient with respect to a measure of crude speed, we have no other choice than appending a lot of coordination tools implying high level cognitive skills (they should have a global view of the environment and a memory if we want them to detect the stagnation, and negotiation protocols in order to decide which heap to increase). Thus, if we want to keep very simple algorithms favouring flexibility and scalability, and if we want to preserve autonomy, we would better have to concentrate on new performance criteria rather than pure speed and speed-up. Moreover, we can take an opportunist position by using such stagnation levels as a new property of the system, for instance in order to obtain other patterns of objects than a single heap. If such harnessing was achieved, thus cooperation could emerge thanks to antagonism. As an illustration, figure 6 shows an experiment with memory agents. The stagnation stage presents oscillations (it is no more flat since memory agents deposit the objects they are carrying if they do not find any stack with more than NOmax objects after Tmax iterations, thus spreading objects randomly into the environment). In this very “bad” experiment where the stagnation stage is very long and drastically increases Mn , we could try to take advantage of these oscillations and stabilize them for instance. 50 40
size
30 20 10 0 0
2000
4000 6000 time
8000
15 memory agents with basic perception. = 50)
Figure 6: Evolution of the number of objects in the biggest stack with ,L ,N The “time” is the number of iterations. (Tmax = 100, n
= 15 = 6
19
10000
6.2 Control 6.2.1 Controlling scalability We draw the attention on the impoverishment of the speed-up properties when we increase the “complexity” of the control algorithm and associated perceptions of the agent. We observe not the absolute value of speed-up but the variation of the overall shape of the graph when changing the agent type. If we look at the averaged absolute performance > of the agents in figures 7 and 8, the crudest one, the probabilistic agent, display the worse results. The most sophisticated one, the memory agent, does really better. Nevertheless, we have seen that the improvement of performances when increasing the number of agents is more spectacular with probabilistic agents than memory ones (over-linear speed-up and higher nc ). Crudest agents seem to have better scaling properties and give a better chance to emergence. We noticed that agents with improved perceptive capabilities display also a lower Mn but a worse scaling ability. 5000 800
4000 3000 2000
600
400 1000 0
200 0
2
4
6
8 10 12 14 16 18 20 n
0
2
4
6
8 10 12 14 16 18 20 n
= 0 55 100 2000
Figure 7: Averaged performances > for (a) probabilistic agents with : and (b) memory agents with Tmax = 100. Notice: there are experiment with 20 memory agents (i.e. the number of objects) where they ,N , averages over experiments) never succeed in gathering all objects. (Basic perception, L
=6
= 20
11000 1400 9000 7000
1200
5000
1000 800
3000
600
1000
400 0
2
4
6
8
10 12 14 16 18
0
2
4
6
8
n
10 12 14 16 18 n
=03 =6
Figure 8: Averaged performances < Mn > for (a) probabilistic agents with : and (b) memory agents with Tmax = 100. Only one initial configuration is chosen: the one with 1 object per cell and all the agents in the same cell (thus avoiding averaging on initial configurations). (Basic perception, L ,N , 1 object per cell, random walks) averages over
5000
= 36
We try to give here some explanations for this. The simplest entities have more “universal” architecture and behaviors: they are less sensitive to environmental changes (topology, number of agents, number of objects). Memory agents have a more complicated architecture: the basic scheme is always the same (see figure 1), but their internal state and its up-dating are a little bit more sophisticated than for probabilistic agents. Agents with camera-like perception also comply to our basic agent architecture, but their sensors are much more complicated than the ones of agents with basic perception. Moreover, they perceive a wider range of the environment: they are then more sensitive to changes in the data of the experiment. Actually, they are susceptible to engage in “almost” 20
stable behavioral loops when roaming into the environment, going from one stack to a second one by following the same path, thus displaying some periodic dynamics. This phenomenon increases the duration of stagnation stages. In other words, the averaged efficiency of agents in function of their numbers, i.e. their scalability or flexibility, is sensitive to their architecture and techno-genesis. The more of our “a priori” knowledge we put into them, the more they engage in rigid behaviors and display poor scaling-up. We have not enough types of agents to really formalize this remark and conclude about it. But, as far as we observed our system through our experiments, that was always the case. We said we have not enough type of agents; all the same, we can explore various behaviors by changing their control parameters ( , Tmax). 5E3
12 10
4E3 3E3 2E3
8 6 4
1E3
2
0
0 2
4
6
8
10 12 14 16 18 20 n
2
4
6
8
10 12 14 16 18 20 n
Figure 9: (a) Averaged Mn and (b) averaged speed-up, for probabilistic agents with basic perception and (worse results), : , : (best results). (L ; N , experiments)
= 0 3 = 0 55
= 6 = 20 100 2000
= 0:0
Figure 9 shows that varying allows us to control (emergent) cooperation. The over-linear speed-up is explained by the fact that the fixed value of : , for instance, is not optimal if there is only one agent, but avoids congestion problems when the number of agents increase. Thus, : is a better value and permits to add to the system as many agents as there are objects. This shows that average properties related to adaptability (more precisely to scaling-up of emergent cooperation), may be tuned.
= 0 55
= 0 55
6.2.2 Controlling statistical properties These observations and the phenomena we presented in section 6.1 (need of averaging processes, over-linear speedup and variation of nc in function of the agent type, alternation of stagnation and progress in stages) lead us to try to capture deeper aspects of performance than those that we can access through the only measure of speed. In particular, we have to measure performance in terms of what is relevant in this approach, that is adaptability, flexibility and scalability according to section 4.3. Notice that the speed-up has no much sense in a non-deterministic approach. The most often, if one is interested in pure speed, one wishes speed at each run. Performance in this context is no more the crude number of iterations but is related to the overall quality of the graphs presented in section 6.1. We have shown in previous paragraphs (6.2.1) that this quality may be related to deep and complex features due to our approach. For convenience, we do not yet give-up the measure of speed and speed-up, but, using the same probing tools as described above, we try to analyze scalability through the statistical properties of the distribution of results and their variations when tuning control parameters. Figure 10 displays two typical histograms giving the number of experiments versus the number of iterations until completion. The dissymmetric shape of the histograms may suggest to us that the mean value, which does not match the maximum of the graph, is not the most adequate parameter to characterize the system. In particular one sees the existence of very bad configurations giving results few orders of magnitude from the mean value. Moreover, one sees that varying allows us to control also the shapes of these histograms, in particular the length of the tail, the position of the maximum, the distribution in the vicinity of Mn . Thus it seems relevant to characterize this dissymmetry. The standard deviation for instance may give relevant information about the reliability. Figures 11 and 12 show properties of the distribution (or histogram) of the number of iterations Mn . The value of the maximum obtained over a big number of experiments give an insight into the size and importance of the tail
=0
21
# experiments
18000
12000
6000
0 0
4000
8000
100 2000
12000
3
Figure 10: Histogram obtained over experiments with probabilistic agents with basic perception and : . The curve represent the envelop of the histogram for agents with . (L , N )
=03
=0
=6
= 20
of the distribution. The minimum obtained give an insight into the decreasing of the distribution close to Mn One sees an important difference between the case and the case : .
=0
= 0 55
15E4
3E3
10E4
2E3
5E4
1E3
0
= 0.
0 2
4
6
8
10
12
14
2
4
n
6
8
10
12
14
n
100 2000
Figure 11: Maximum, minimum and averaged value of Mn obtained over experiments, for probabilistic agents with basic perception and ( b) is an enlargement showing averaged and minimum Mn ). (L ;N )
=0
20
=6 =
These graphs show that statistical properties are much richer than the pure measure of speed(-up). Typical experiments when varying or n display different global behaviors. For instance, a “good” number of agents is not only a number minimizing the averaged number of needed iterations but also a number which reduces statistical dispersion (i.e. minimizes deviation) of results, that is increases reliability too. Moreover, if one changes the criterion of optimality, a good combination of and n could be the one which minimizes the minimum obtained over 100000 experiments, which is not the one minimizing the averaged Mn . Figure 13 shows the optimal values of , that is values which minimize > and the values which minimize the standard deviation ( ). Figure 14a shows the best (minimal) value of > that can be obtained for each n by selecting the optimal . This (really smooth) curve decreases, demonstrating that we can finely tune the cooperation. It contrasts with curves of figure 9a where is fixed: cooperation may be extended until agents, which is the number of objects in the environment. Notice that these optimal values depend on L and N . Moreover, this improvement is not obtained to the detriment of reliability, as figure 14b shows. By varying in order to minimize >, the standard deviation is maintained in bounds. Actually, the “relative error” (for to agents) is bad, it gets not worse decreases: if one thinks that a relative error greater than but is even improved when increasing n. Thus we get a system with absolute performances not very good (high > and high ) but which displays good properties regarding scalability. The probabilistic agents take advantage of collective working. Notice that the values of which minimize > are slightly different from the ones minimizing : thus it is not possible to optimize > and at the same time. This suggests
20
50%
22
1 5
3E3 3E4 2E3 2E4
1E3
1E4
0
0 2
4
6
8
10 12 14 16 18 20 n
2
4
6
8
10 12 14 16 18 20 n
100 2000
Figure 12: Maximum, minimum and averaged value of Mn obtained over experiments, for probabilistic agents with basic perception and : ( b) is an enlargement showing averaged and minimum Mn ). (L ) ;N
= 0 55
6 = 20
=
optimal alpha
1.0 0.8 0.6 0.4 0.2 0
2
4
6
8 10 12 14 16 18 20 n
Figure 13: Values of minimizing > (plain line) and values of minimizing the standard deviation of the Mn ’s values (dashed line) for probabilistic agents with basic perception. ( L ;N , experiments)
=6
= 20 100 2000
that there could be systems where a more dramatic difference could seriously compromise so as to simultaneously obtain efficiency and reliability. Now, let us examine the memory agents in the same way. Figure 15 shows the optimal values of Tmax, that is values which minimize < Mn > and the values which minimize the standard deviation. Figure 16a shows the best (minimal) value of > that can be obtained for each n by selecting the optimal Tmax. This smooth curve decreases, until n agents in the system. We can once again tune the cooperation. But memory agents do not allow to ameliorate > beyond some critical value of n (here n certainly depends on L and N ), even by tuning Tmax. There are unavoidable congestion problems due to representation conflicts (agents have different NOmax and these values are not always equal to the real size of the biggest stack into the environment). One finds again problems due to too (or not enough) high cognitive capabilities of the agents. This time, the improvement of > with the control parameter and n is obtained to the detriment of reliability, as figure 16b shows. By varying Tmax in order to minimize >, the “relative error” increases. Starting from a value ( ) which is much better than the the one obtained with probabilistic agents, it gets worse when increasing n. Thus we get a system with better absolute performances but which displays poor qualities regarding scaling-up. To select satisfactory values of Tmax and n necessitates other criteria. At this stage, efficiency and reliability may not be obtained together, making performances twofold. Although memory agents have, like probabilistic agents, only one degree of freedom, or control parameter, they are less satisfactory in what concerns emergence and the possibility of tuning it. In what concerns the aspects that this work is interested in, probabilistic agents, although less impressive in the absolute (i.e. slower) are more accurate.
=6
=6
10%
23
0.6 min. / min. sigma
minimal
4000
3000
2000
1000
0.55
0.5
0
0.45 0
2
4
6
8 10 12 14 16 18 20 n
0
2
4
6
8 10 12 14 16 18 20 n
Figure 14: (a) Minimal > for probabilistic agents with basic perception: for each number n of agents, the reported value of is the one which minimizes >. (b) Ratio of this minimal > over the ,N , experiments) minimal standard deviation of the Mn ’s values. (L
=6
= 20 100 2000
200
optimal Tmax
150
100
50
0 2
4
6
8
10 n
12
14
16
18
Figure 15: Values of Tmax minimizing < Mn > (plain line) and values of Tmax minimizing the standard deviation of the Mn ’s values (dashed line) for memory agents with basic perception. ( L ;N , 1 object per cell, random walks)
=6
5000
= 36
7 Conclusion A main criticism to multi-agent applications based on autonomy may remain their unreliability and unpredictability. First, we argued that antagonistic situations do not necessary need to be explicitly handled by the agents even in the more classical MAS (no misunderstanding: we do not claim MAS to rest absolutely on antagonism). But our very aim is to stress again on the widespread basic assumption of, or searched for, autonomy in MAS and its unavoidable consequences: in a certain sense, what is gained by giving independence (autonomy) to a machine has to be paid elsewhere. Autonomy can not be taken off the shelf without some of its inherent drawbacks or unexpected effects. We wish to show it is possible to place our trust in systems based on autonomy and even allowing antagonism. Perhaps, only the concept of ”trusting a machine” has to be slightly shifted from its classical meaning. The requirement of a reliability beyond reproach may often prevent us from finding more flexible solutions meeting as well successfully the constraints of a given problem. In complex and dynamic environments, systems are likely confronted to unforeseen and non foreseeable situations; an enhanced adaptability might make them more powerful. We want to leave our systems facing entities with opposite goals, without getting into troubles. This confrontation may even be a means of reaching better solutions (or at least new types of approaches) that would not have been possible to envisage by getting rid of antagonism. In order to turn autonomy to advantage, we believe one has to give away the efficiency and instead to assess the reliability (through statistical properties), the adaptability (dependency with the environment), the scalability (improvement of the speed-up with the number of agents, parallelization) and potentiality of new functionalities. We have shown it is possible in real applications to have emergent cooperation, without any explicit communication. Thus, the scalability of the system is straightforward, providing either an interesting speed-up or
24
0.9 min. / min. sigma
1400
minimal
1200 1000 800 600 400
0.7
0.5
0.3
0.1 2
4
6
8
10 n
12
14
16
18
2
4
6
8
10 n
12
14
16
18
Figure 16: (a) Minimal < Mn > for memory agents with basic perception: for each number n of agents, the reported value of Tmax is the one which minimizes < Mn >. (b) Ratio of this optimal < Mn > over the minimal ;N , 1 object per cell, random walks) standard deviation of the Mn ’s values. (L
= 6 = 36
5000
the emergence of new functionalities. We are currently porting this simulation onto a real system made up of autonomous mobile robots (Kheperas). Now, in a second period, the purpose of the AXE project is to provide instruments to (efficiently) coordinate evolutive systems. In parallel, it is mandatory to develop tools for measuring and controlling the efficiency and reliability of such instruments and of the platforms integrating them. That is precisely within this scope that this paper inscribed. The kind of analysis undertaken necessitated to probe the system by external means. This implies that there is still a separation between control and system: probing tools do not belong to system’s entities and probing time is not included in system’s running time. Actually, our analysis takes a huge time, in particular for computing the optimal values of control parameters regarding scaling-up and reliability. One sees that including control into the system definition will increase efficiency if the cost resulting of internal control introduction is lower than the cost due to external control. The second period of AXE is intended to build on the notion of internal control. We propose three ingredients for an internal control of reliability and efficiency. 1. Conformation of operational performance criteria. To be consistent with our options, efficiency and reliability measures must be expressed in terms of adaptability, flexibility, scalability and robustness measures. These properties do not refer to a particular user expectation related to a given system. Thus, they are the only properties on which one can build a general performance criterion. 2. Autonomy of entities. a) Behavioral autonomy of entities intrinsically belonging to the system must be introduced and tuned in order to limit unpredictability and stabilize the system’s global behavior. b) Operationally or behaviorally autonomous entities must be added to existing systems and platforms in order to probe and tune continuously their functioning. Explicit adaptation mechanisms will increase efficiency by limiting the cost due to external probing. They will also increase reliability by maintaining the system parameters in bounds defining its viability together with its adaptability. Particularly, appropriate mechanisms have to be found that stabilize the system at this ”edge of chaos” where emergent computation takes place (see section 2.2.3). 3. Distribution of entities. Adaptation mechanisms should be introduced at the level of distributed entities but not at the level of central supervisors. Autonomy of distributed entities avoids hierarchical control and then increases reliability in the sense that no supervisor risks to fail. This last argument relates to flexibility. For purpose of generality, behavioral autonomy is also introduced to extend conclusions of first period of AXE to more complex and more autonomous entities. Moreover, what we called ”conformation of performance criteria” is also a point in favor of behavioral autonomy. In first period of AXE, we demonstrated flexibility of operational autonomy-based systems by using arguments complementary to the one of adaptation (generality of architecture, locality,...). Actually, we have seen that flexibility (hence efficiency) can also directly be supported by introduction of explicit adaptation mechanisms. These mechanisms being related to behavioral autonomy, we need now to implement distributed behaviorally autonomous entities.
25
Finally, we stress on the fact that any taxonomy of interaction situations should make a distinction between the features actually implemented within the MAS (ab initio) and the features exhibited as the experiment runs along (update of low level rules and emergence). The latter should match several criteria in order to build up relevant characteristic features for the system: they have to be reproducible on average, or stable. We have shown it is not necessary the case. Setting up a list of such criteria as a function of purposes to reach, represents an unavoidable stage.
References [1] E.R. Berlekamp, J.H. Conway, and R. Guy. Winning Ways for Your Mathematical Plays. Academic Press, New York, 1982. [2] E. Bonabeau and J.L. Deneubourg. Robotique collective. In Intelligence collective. Hermes, Paris, 1994. in french. [3] E. Bonabeau and G. Theraulaz. Intelligence collective. Hermes, Paris, 1994. in french. [4] R.A. Brooks. Intelligence without Reason. In Proceedings of IJCAI-91, Sydney, Australia, 1991. [5] R.A. Brooks. Intelligence without Representation. Artificial Intelligence, Special Volume: Foundations of Artificial Intelligence, 47(1-3), 1991. [6] B. Chaib-Draa. Interaction between Agents in routine, familiar and unfamiliar situations. International Journal of Intelligent and Cooperative Information Systems, 5, 1996. [7] F. Chantemargue, M. Courant, T. Dagaeff, and A. Robert. Conflict: a pragmatic approach. In Proceedings of ECAI’98: Workshop on Conflicts among agents: avoid or use them?, Brighton, England, August 25 1998. [8] F. Chantemargue, T. Dagaeff, M. Schumacher, and B. Hirsbrunner. Coop´eration implicite et antagonisme. Technical Report 96-15, Computer Science Department, University of Fribourg, Fribourg, Switzerland, December 15 1996. [9] F. Chantemargue, T. Dagaeff, M. Schumacher, and B. Hirsbrunner. Coop´eration implicite et performance. In Proceedings of the Sixth symposium on Cognitive Sciences (ARC), Villeneuve d’Ascq, France, December 10-12 1996. [10] F. Chantemargue, T. Dagaeff, M. Schumacher, and B. Hirsbrunner. The Emergence of Cooperation in a MultiAgent System. Technical Report 96-16, Computer Science Department, University of Fribourg, Fribourg, Switzerland, December 22 1996. [11] F. Chantemargue, T. Dagaeff, M. Schumacher, and B. Hirsbrunner. Autonomous Agents and Cooperation: Application to Collective Robotics. Technical Report Internal Note 98-03, Computer Science Department, University of Fribourg, Fribourg, Switzerland, February 1998. [12] F. Chantemargue, O. Krone, M. Schumacher, T. Dagaeff, and B. Hirsbrunner. Autonomous Agents: from Concepts to Implementation. In Proceedings of the Fourteenth European Meeting on Cybernetics and Systems Research (EMCSR’98), volume 2, pages 731–736, Vienna, Austria, April 14-17 1998. [13] G. Clergue. Apprendre sur les bords du chaos, l`a o`u jaillit le sens. In Proceedings of the Sixth symposium on Cognitive Sciences (ARC), Villeneuve d’Ascq, France, December 10-12 1996. [14] T. Dagaeff. Rhizomatique. In Archipel, volume 14, Lausanne, Switzerland, October 1997. [15] T. Dagaeff and F. Chantemargue. Reflections on Distributing Agents. Technical Report 98-19, Computer Science Department, University of Fribourg, Fribourg, Switzerland, September 1998. [16] T. Dagaeff, F. Chantemargue, and B. Hirsbrunner. Emergence-based Cooperation in a Multi-Agent System. In Proceedings of the Second European Conference on Cognitive Science (ECCS’97), pages 91–96, Manchester, U.K., April 9-11 1997.
26
[17] K. Dautenhahn. Getting to know Each Other - Artificial Social Intelligence for Autonomous Robots. Special Issue of Robotics and Autonomous Systems. Moving the Frontiers between Robotics and Biology, 16, 1997. P. Gaussier editor. [18] E. Dedieu, O. Lebeltel, and P. Bessi`ere. Identity as Function or Structure: an Illustration on Robot Development. In Invariance, interaction, r´ef´erence: l’identit´e en question, Rochebrune, France, f´evrier 2–9 1997. Rencontres interdisciplinaires sur les syst`emes complexes naturels et artificiels. [19] J. Ferber. Les syst`emes multi-agents, vers une intelligence collective. InterEditions, Paris, 1995. in french. [20] J. Ferber, O. Labbani, J.P. Muller, and A. Bourjault. Formalizing Emergent Collective Behaviors: preliminary report. In DAIMAS’97, St Petersbourg, Russia, June 1997. [21] S. Forrest. Emergent Computation: Self-organizing, Collective and Cooperative Phenomena in Natural and Artificial Computing Networks. Physica D, 42, 1990. [22] S. Franklin. Artificial Minds. Bradford Books/MIT Press, Cambridge, MA, 1995. [23] D.E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Massachusetts, 1989. [24] S. Harnad. The Symbol Grounding Problem. Physica D, 42, 1990. [25] V. Havelange, C. Lenay, and J. Stewart. Les repr´esentations: m´emoire externe et objets techniques. In J.P. Muller, editor, Les mod`eles de la repr´esentation: quelles alternatives ? Hermes, Paris, 1998. [26] S. Haykin. Neural Networks: A Comprehensive Foundation. Macmillan College Publishing Company, Inc., New York, 1994. [27] J.H. Holland. Escaping brittleness: the possibilities of general purpose learning algorithms applied to parallel rule-based systems. In Michalski, Carbonell, and Mitchell, editors, Machine learning, and artificial intelligence approach, volume II of Morgan Kaufmann. Los Altos, CA, 1986. [28] L.P. Kaelbling, M.L. Littman, and A.W. Moore. Reinforcement Learning: A survey. Artificial Intelligence Research, 4, May 1996. [29] S.A. Kauffman. The origins of Order: Self-organization and Selection in Evolution. Oxford University Press, New-York, 1993. [30] G. Kiss. Autonomous Agents, AI and Chaos Theory. In From Animals to Animats. Proceedings of the Simulation of Adaptive Behaviour Conference. MIT Press, 1991. [31] O. Krone, F. Chantemargue, T. Dagaeff, and M. Schumacher. Coordinating Autonomous Entities with STL. The Applied Computing Review, Special issue on Coordination Models Languages and Applications, 1998. To appear. [32] O. Krone, F. Chantemargue, T. Dagaeff, M. Schumacher, and B. Hirsbrunner. Coordinating Autonomous Agents. Technical Report 97-20, Computer Science Department, University of Fribourg, Fribourg, Switzerland, November 1997. [33] O. Krone, F. Chantemargue, T. Dagaeff, M. Schumacher, and B. Hirsbrunner. Coordinating Autonomous Entities. In Proceedings of the ACM Symposium on Applied Computing (SAC’98). Special Track on Coordination, Languages and Applications, pages 149–158, Atlanta, Georgia, USA, February 27 - March 1 1998. [34] C. Langton. Computation at the Edge of Chaos: Phase Transitions and Emergent Computation. Physica D, 42, 1990. [35] C. Langton. Artificial Life: an Overview. MIT Press, Cambridge, Massachusetts, 1995. [36] A. Leroi-Gourhan. Le geste et la parole. Albin Michel, Paris, 1989.
27
[37] M.J. Mataric. Minimizing complexity in controlling a mobile robot population. In Proceedings of 1992 International Conference on Robotics and Automation, Los Alamitos, 1992. IEEE Computer Society Press. [38] H. Maturana and F.J. Varela. The Tree of Knowledge: The biological roots of human understanding. New Science Library, Boston, MA, 1987. [39] J.P. Muller and M.O. Rodriguez. A Constructivist Approach to Autonomous Systems. In Growing Mind Symposium, Piaget Centenary, Geneva, Switzerland, September 1996. [40] R. Pfeifer. Building Fungus Eaters: Design Principles of Autonomous Agents. In Maes, Mataric, Meyer, Pollack, and Wilson, editors, Proceedings of the Fourth International Conference on Simulation of Adaptive Behavior, volume 4 From Animals to Animats, Cambridge, MA, 1996. MIT Press/Bradford Books. [41] Z.W. Pylyshyn. The robot’s dilemma, the Frame Problem in Artificial Intelligence. Ablex, Norwood, NJ, 1988. [42] T.S. Ray. An Evolutionary Approach to Synthetic Biology: Zen and the Art of Creating Life. In C.G. Langton, editor, Artificial Life, an Overview. MIT Press, 1995. [43] M.E. Scaglione. Les Mod`eles de la Vie Artificielle et les Concepts d’Emergence: de la m´etaphore a` la r´ealisation. In Quelles relations entretenons-nous avec nos mod`eles?, Rochebrune, France, F´evrier 1–7 1998. Rencontres interdisciplinaires sur les syst`emes complexes naturels et artificiels. [44] E. Schwarz. A meta model to interpret emergence evolution and functioning of viable natural systems. In Proceedings of Cybernetics and Systems’94, World Scientific’94, volume II, pages 1575–1586. R. Trappl, 1994. [45] G. Simondon. Du mode d’existence des objets techniques. Aubier, Paris, 1989. [46] G. Simondon. L’individuation psychique et collective. Aubier, Paris, 1989. [47] L. Steels. When are robots intelligent autonomous agents? Robotics and Autonomous systems, 1995. [48] V. Von Uexkull. Mondes animaux et monde humain. Gonthier, Paris, 1966. [49] F.J. Varela, E. Thompson, and E. Rosch. L’inscription corporelle de l’esprit. Seuil, Paris, France, 1993. [50] T. Ziemke. Adaptive Behavior in Autonomous Agents. Autonomous Agents, Adaptive Behaviors and Distributed Simulations’ journal, 1997. [51] T. Ziemke. Embodiment and Context. In Proceedings of the European Conference on Cognitive Science (ECCS’97), pages 203–206, Manchester, U.K., April 9-11 1997.
28