Arnaud Grignard

Patrick Taillandier

Benoit Gaudou

An Duc

Nghi Vo

Alexis Huynh Quang

Drogoul

Duc An Vo

Nghi Quang Huynh

Alexis Drogoul

GAMA 1.6: Advancing the art of complex agent-based modeling and simulation

Keywords: Agent-based modeling, simulation, GIS, multi-level, ODE, platform, visualization, complex systems species buildings {

niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

The last years have seen an important increase in the use of agent-based modeling (ABM) in various scientific and application domains. Some of these applications, that rely on large sets of data, are more and more demanding in terms of representation, simulation and interpretation of complex models. While the classical KISS [START_REF] Edmonds | From kiss to kids-an anti-simplistic modelling approach[END_REF][3] approach appeared to be well suited in the early years of ABM, this recent trend, which for instance includes developments in serious games, participatory approaches or integrated models, requires the ability to design and manage more descriptive and detailed models.

The KISS-based approach has given birth to a plethora of small-size, mostly theoretical, toy models that, although they are well suited for training purposes, have had the paradoxical effect of establishing ABM as a mainstream approach to complex systems modeling while, at the same time, eliminating the reasons why people had wanted to adopt it in the first place. Building complex, incremental, data-driven modular models in NetLogo [START_REF] Tisue | Netlogo: A simple environment for modeling complexity[END_REF], for instance, is a difficult task. And it becomes even more difficult when different data sources, at different levels of representation, are to be used. Interpreting these models is also very tedious, given the lack of flexibility offered by the existing platforms in the visualization and parametrization of the models.

While some offers have tried to overcome these limitations (e.g. Repast [START_REF] North | Complex adaptive systems modeling with repast simphony[END_REF], Mason [START_REF] Luke | Mason: A multiagent simulation environment[END_REF]), they have failed until now to propose a credible alternative in terms of modeling platforms. Repast, for instance, is more a well designed toolbox than a platform as it requires modelers to be highly proficient in Java programming and Eclipse development, which is rarely the case in the scientific domains targeted by ABM. Similarly, these proposals also fall short in terms of simulation platform, as designing virtual experiments that combine easy parametrization and highlevel interactive visualization is as complicated as building the model itself and requires the use of several external tools.

The GAMA 6 modeling and simulation platform [START_REF] Drogoul | Gama: multi-level and complex environment for agent-based models and simulations[END_REF] [26], developed since 2007 as an open-source project, aims at overcoming these lacks by providing modelers -which are not, most of the time, computer scientists -with tools to develop and experiment highly complex models through a well-thought integration of agent-based programming, geographical data management, flexible visualization tools and multi-level representation.

GAMA provides a complete modeling language (GAma Modeling Language) and an integrated development environment that allows modelers to build models as quickly and easily as in NetLogo while going beyond what Repast or Mason offer in terms of simulated experiments. It is currently applied in several projects in environmental decision-support systems, urban design, water management, biological invasions, climate change adaptation or disaster mitigation. This paper aims at presenting the new features developed in the latest version of GAMA. We will focus in particular on the following features: the evolution of the GAML language for specifying models using multiple paradigms (especially combinations of mathematical and computer approaches), the seamless integration of geographical data and other spatial data, the tools offered to support high-level visualization of simulations and the multi-level description of models.

GAMA Meta-Model

The concepts and the operational semantic of GAML are completely described in a meta-model (see Figure 1) from which every model written in the language derives. This meta-model supports the development of multi-level agent-based models by considering three main sets of abstract classes that represent, respectively, the entities, the space and the time of a model.

-The representation of Entities are described by two main classes:

• Agent represents an individual entity of a simulation, which is conceptually similar to an object in an object-oriented language. It represents a simulated entity in the simulation.

• Population represents a group of agents sharing the same structure and behavior in a simulation. The population is responsible for managing the agents it is composed of. -The representation of the space of a model is tightly coupled with the previous set and supported by two main classes:

• Geometry is, as its name implies, a geometrical shape (supported by the JTS library 7 ) that represents the embodiment of an agent in its environment. It is strictly linked with one and only one agent. • Topology is meant to represent this environment. It provides a referential where geometries are located, an optional organization imposed to these geometries and a set of operations to support perception and movements of agents. A topology is linked with one population. -The representation of time uses, similarly, a class linked with Agent and an another one linked with Population (Scheduler and Scheduling Information).

These three layers of representation (entities, space and time) are tied together by the last class of the meta-model: Species. A species, like a class in OOP, defines the attributes, geometries and behaviors common to all the agents of a population, but it also specifies the topology and scheduling of this population. More importantly, the containment relationships between species allow to describe hierarchical levels of agency in a very natural way, by considering nested species of a species S as prototypes for micro-agents of agents instance of S. This translates concretely into the possibility for these agents to be hosts of a set of populations, each of them being described by a micro-species of S.

GAMA entirely relies on this meta-model to create models. The first level of agency (the model itself) describes the global topology of the model, its basic scheduling, its parameters and global behaviors, and is the host of the populations of agents described by the species written by the modeler. Recursively, each agent can become the host of nested populations, as long as its species contains the (micro) species that describe them. All of these populations can be provided, through the definition of their species, with their own spatio-temporal scale, which are not necessarily constrained by the containment hierarchy (i.e. the topology of a population of micro-agents can for instance define boundaries larger than the one described in the population of its host). This definition of species also supports the description of shared contexts between macro and micro agents as a way to express the dynamic relationships and data transfer between levels. Additionally, the morphogenesis operation, not presented in the diagram of the Figure 1, allows agents to change species during the simulation, their current species and their target species are linked by a materialization relationship,

GAMA features

The GAML modeling language

In order to ease the work of modelers, GAMA provides a complete IDE (Integrated Development Environment) supporting the definition of models. In particular, the IDE, based on Eclipse and XText, provides modern features such as auto-compilation, auto-completion, quick fixes, text coloring, etc. Modelers define their models using the GAML language. The interest of providing a DSL (Domain Specific Language) to modelers is to ease the definition of models. Indeed, the GAML language is very simple to use, even by modelers that have low programming skills.

GAML is an agent-oriented language. Modelers define species of agents, i.e. archetype of agents, their characteristics, behaviors and aspects. It is a typed language, variables (static or dynamic) has to be typed. The behaviors of agents are defined through actions and reflexes. An action is a block of instructions executed when the action is called. A reflex is a block of instructions executed at each simulation step or when its optional attached condition is true. An aspect represents how an agent can be displayed. It is possible to define as many aspects as necessary. The richness of GAML comes from the numerous optimized operators concerning geometries, containers, statistics and graphs. Figure 2 shows an example of a simple epidemiological SI model definition. In this model, a species of agents called people is defined. This species has the moving skill which provides some built-in variables (speed, direction, etc.) as well as some primitives(wander, goto, etc.). We redefine the variable speed in order to set its value to a random value between 5 and 10. The people species has another variable called is infected that is a boolean initialized with true with a probability of 0.01. It has two reflexes: move and infect. The move reflex that is activated at each simulation cycle consists in a random movement: the agent uses the wander primitive of the moving skill to move to a random direction with a speed given by the value of the variable speed. The infect reflex is only activated when the agent is infected. It consists in trying to infect each people agent that is at distance lower or equals to 10m with a probability of 0.01. The people species has one aspect that will allow to display the people agents as a circle of radius 5m. The color will depend on the is infected variable: if the agent is infected, its color will be red, green otherwise. At the initialization of the model, the world environment is initialized as a 500mx500m square and 1000 agents people are created (with a random location). The output of the main experiment is a display called map where all the created agents can be visualized.

Geographic information system integration

Geographic information system integration (GIS) is the digital representation of landscapes captured by cameras, digitizers or scanners. This technology can be used for scientific investigation, resource management and development planning. With properties such as location, attributes and spatial relationship GIS vocabulary is really closed to the one used in agent-based modeling.

Many recent models rely on GIS data, allowing them to gain in realism. If most of modern simulation platforms allow to read/write GIS data, not so many allow to agentify vector geometries. Indeed, if Netlogo [START_REF] Tisue | Netlogo: A simple environment for modeling complexity[END_REF] or Cormas [START_REF] Page | Cormas: A multiagent simulation toolkit to model natural and social dynamics at multiple scales[END_REF] provide some basic primitives to load and manipulate GIS data, they do not allow to create agents with a complex geometry from GIS data even with their GIS plugins. Another limitation of most of modern platforms is that they do not allow to define several environments with different topologies. Typically, for some complex models, its is necessary to define different environments such as a continuous one, to integrate vector data or several raster data with different resolutions and eventually several graph environments representing different level of interaction within the model.

GAMA allows to define as many environments as necessary. It synchronizes all of them by using a continuous reference environment. It provides as well a geometry to each agent. This geometry, which is based on vector representation, can be simple (point, polyline or polygon) or complex (composed of several subgeometries). It can be defined by the modeler (by using a list of points or predefined graphical primitives) or directly loaded from a shapefile, a raster file or a mesh file. Indeed, GAMA allows to use geographic vector data to create agents, each object of the geographical data will be automatically used to instantiate an agent, GAMA taking care of managing the spatial projection of the data and, if necessary, of reading the values of the attributes.

In Figure 3, we present an extension of the model presented in Figure 2 in which roads and buildings agents are created from shapefile. Each object of the shapefile then becomes an agent: a roads agent for the road shapefile and a buildings agent for the building shapefile. At initialization, the people agents are located on one of the building agent randomly chosen.

GAMA provides as well many advanced spatial operators (spatial queries, union, difference, intersection....) that are directly usable through the GAML language. GAMA provides as well some high-level spatial operators : triangulation of a polygons, building of a graph from a set of points, polylines or polygons, skeletonization. At last, many movement operators and primitives are provided allowing to transparently move an agent on a grid, a graph or a continuous environment.

In Figure 4, we show an extension of the model of the Figure 3 in which a graph is created from the roads agents: each roads agent will become an edge of the graph. The people agents use this graph to move from building to building (a new target building is randomly chosen each time the people agent reaches the building).

Visualization tools

With the advancement in computer graphics and the availability of large scale data, ABM community has a big role to play in a better understanding of complex systems by using high-level representation [START_REF] Crooks | Agent-Based Models of Geographical Systems[END_REF]. For instance, in large-scale agent-based simulation systems where virtual agents are situated in a virtual city [START_REF] Araujo | Divas 4.0: a framework for the development of situated multi-agent based simulation systems[END_REF]. Techniques available for visualization of model execution enhance the capacity to interpret, understand and explore a model, in particular to extract abstract data or discover imperceptible dynamics. Visualization is, in many cases, the only way to understand and study model that can not be expressed thanks to equations.

In already existing popular platforms, languages and tools for visualization do exist [START_REF] Railsback | Agent-based Simulation Platforms: Review and Development Recommendations[END_REF] but most of them lack techniques for building, observing and interacting with models. Those platforms stay focused on the agent representation and do not propose any abstraction and multi-level representation or only by using ad-hoc solutions, loose coupling or post-simulation treatment that are not yet standardized. However, if some standardization categorization of ABM emerges and give guidelines for a better agent-based model representation [START_REF] Daniel Kornhauser | Design Guidelines for Agent Based Model Visualization[END_REF], only few platforms propose built-in visualization tools that run online and serve as feedback or indicator during the simulation (e.g using graph analysis or data clustering to build groups of agents [START_REF] Lamarche-Perrin | How to Build the Best Macroscopic Description of your Multi-agent System[END_REF]). Actually, the 3D integration in agentbased model can be only achieve in two ways. The first one consists in a loose coupling between an agent-based platform with a 3D visualization toolkit. The second one is to build an agent-based models in 3D animation and rendering packages [START_REF] Crooks | Agent-Based Models of Geographical Systems[END_REF] where the model is developed within a specific environment like game engine to import and handle 3D data and agent behavior is defined by using other programming languages.

In GAMA, 3D is fully integrated to agent based modeling paradigm with a dedicated language that handle high-level representation [START_REF] Grignard | Online analysis and visualization of agent based models[END_REF]. The 3D visualization library in GAMA 1.6 uses OpenGL via the Java Binding for the OpenGL (JOGL) API library. GAMA offers a generic framework to separate the visual representation of the model from the underlying model, allowing different visual representations at different levels of abstraction, and insures that the visualization of a simulation and the interaction on a simulation are independent processes that do not alter the reference model itself [START_REF] Grignard | A model-view/controller approach to support visualization and online data analysis of agent-based simulation[END_REF]. In this approach a view is seen as a model on which one can represent, abstract and interact without changing the definition of the observed model. GAML language enables to define specific rich aspect by using operation such as repetition, modularity and recursion above the definition of graphical primitives. Agents are therefore associated with particular aspect and layers to determine its display location and representation. Agent can be displayed simultaneously in a variety of topologies (continuous, network, grid). GAMA allows the user to easily create a variety of custom shapes, import and export scalable vector graphics-based geometry, images, GIS and 3D assets files. Geometrical operations can also be perform on the agent geometry to combined them by the the use of spatial operators (union, intersection, difference, scaling, rotation, etc.).

As mentioned in Section 3.2, GAMA allows a seamless integration of GIS data. Even with 2D GIS files, the handling of the third dimension is straightforward in GAMA where any depth can be assigned to a given shape. Thus, in Figure 5, we show a 3D rendering where a depth is added to the agent buidlings and where people agents are rendered as sphere instead of circle.

GAMA offers to modelers many tools to manipulate simulation displays. In particular, for each display, it provides a camera (Arcball and FreeFly) that can be used to reach any location of the model and therefore offers a more immersive experience. It also supports object selection, zooming, and panning. The new implementation of displays based on opengl has proven to be many times faster than the original Java2D approach when rendering large-scale simulations.

species people skills:[moving]{ ... aspect sphere{ draw sphere(5) color:is_infected ? rgb("red") : rgb("green"); } } species buildings { float height <-10.0+ rnd [START_REF] Edmonds | From kiss to kids-an anti-simplistic modelling approach[END_REF]; aspect geom { draw shape color: rgb("gray") depth: height; } } experiment main_experiment type:gui{ output { display map type: opengl ambient_light: 150{ species roads aspect:geom; species buildings aspect:geom; species people aspect:sphere; } } } 3D aspect for people agents 3D aspect for buildings agents Display OpenGl (3D) Fig. 5. Linking agents to places with geographic data. In GIS rendering, a depth is easily added to a shape file for a more realistic and accurate representation.

Multi-Level modeling

Multi-level agent-based modeling (ML-ABM) requires representing agents at different levels of representation in the same model with respect to time, space and behavior. Several reasons may justify the development of a multi-level agentbased. One reason may come from models that need to take into account entities at different spatial or organizational scales. For instance, models in biology may need to explicitly represent entities that belong to a hierarchy of containers, like molecules, cells and tissues. Another reason may be found in models in which the interactions between entities at one level make observables (usually called emergent structures [START_REF] De Wolf | Emergence versus self-organisation: Different concepts but promising when combined[END_REF]) appear, i.e. structures or patterns that are recognized as such by the modeler at another level of abstraction. In such a case, the modeler has the possibility to take into account and represent within agents, at the same time, the emergent structures and the agents that compose them. This problem of multi-level representation and articulation between agents at different levels is considered as one of the hardest issues to be tackled in the domain of complex systems modeling [START_REF] Treuil | Modélisation et simulation à base d'agents: exemples commentés, outils informatiques et questions théoriques[END_REF].

Recently, researchers of the community have begun to propose solutions to facilitate the development of multi-level agent-based models but existing approaches are still domain specific [START_REF] Servat | When agents emerge from agents: Introducing multi-scale viewpoints in multi-agent simulations[END_REF] [START_REF] Gil-Quijano | From biological to urban cells: lessons from three multilevel agent-based models[END_REF] or only conceptual proposals without concrete implementation on established ABM platforms [START_REF] Morvan | Multi-level agent-based modeling-bibliography[END_REF]. While current agent-based platforms (Repast [START_REF] North | Complex adaptive systems modeling with repast simphony[END_REF], NetLogo [START_REF] Tisue | Netlogo: A simple environment for modeling complexity[END_REF]) still lack of appropriate abstractions, which explicitly support ML-ABM.

Thanks to the appropriate abstractions integrated in the meta-model, GAMA explicitly supports the development of multi-level agent-based model as shown in Figure 6. The following model illustrates how to write a multi-level agent-based model in GAML. Supposing that when people enter a building, the modeler would like to specify that the propagation of infection is controlled by the building basing on the number of infected people in the building. A possible solution is to specify that the people are modeled at two different levels of representation. The first representation level is when people are moving in the road network (represented by people species). The second representation level is when people are in the buildings. In this case, we define the people in building species (a sub-species of people species and a micro-species of building species). In this model, we unschedule all the agents of people in building species. When a people agent moves into a building, we use the morphogenesis operation (capture GAML statement), to change its species to people in building species. In this example, a building agent controls the infection propagation of its micro-agents using a simple mathematical formula. In real application, we can integrate a SIR model to the building agent in order to control the infection process. A person stays in a building for a certain amount of time. After that the building agent decides to release this person and the person continues to move in the road network. The modeler again uses the morphogenesis operation (release GAML statement), to change the representation level of people from people in building to people.

Since the beginning of its development in 2007, GAMA has been deeply enriched. In particular, the new 1.6 version provides many powerful features to manage GIS data, advanced visualization and multi-level models. Many others features that were not presented in this paper are also available: database management (SQL), connexion to R, a 3D-physics engine plug-in. This increase of functionalities has allowed to gain an ever growing number of new users. Nowadays, GAMA is used for many ambitious research projects dealing with a wide variety of domains.

The first one is MAELIA project, which consists in the development of a decision-support tool for natural resource management [27] [11]. This project aims at studying the social, economic and ecological impact of water management in the Adour-Garonne Basin (France) by the integration a huge amount of geographical data and models (from ecological models to human decision-making models). The second one is the MIRO project [START_REF] Banos | Improving individual accessibility to the city: an agentbased modelling approach[END_REF] which addresses the issue of sustainable cities. Therefore, improving urban accessibility merely results in increasing the traffic and its negative externalities, while reducing the accessibility of people to the city. Given real data the simulator is used to realize scenarios determined by geographers for quantifying service accessibility and identifying cities management strategies. This model makes use of high resolution GIS data and large number of individuals. Another project concerns the simulation of evacuation organization in case of a tsunami in Nha Trang (Vietnam). This model combines detailed GIS data of the city and the coupling of agent and equation-based modeling in order to upscale the number of inhabitants that can be simulated [START_REF] Nguyen | A hybrid macro-micro pedestrians evacuation model to speed up simulation in road networks[END_REF].

In term of performance, experimental results show that the platform can easily handle several thousands of agents in real time rendering and reasonably deal with million of agents for non real time simulation.

GAMA is an ever-evolving platform and many enhancements are already planned for the future versions: a complete refactoring of the batch parameter space exploration, a plug-in to allow users to develop models through a graphical interface to modify the model in a more intuitive way than with the code, the possibility to call R scripts, the distribution of operators on a GPU, the possibility to share simulation where a model could be played at runtime on or in a replay mode at different spatio-temporal scale on different devices using webGL to display simulation on a web browser. We did not mention it in this paper but we are also developing a 3D physics engine plug-in to obtain more realistic behavior in physical systems and primitives to access and interact with database management systems, in particular to store and retrieve spatial data.

Fig. 1 .

 1 Fig. 1. GAMA meta-model

Fig. 2 .

 2 Fig. 2. Simple model definition in GAML and its display output.

Fig. 3 .

 3 Fig. 3. Agentification of roads and buildings from shapefiles.

  do goto target:target on: road_network; if (location = target) { target <-any_location_in(one_of(buildings)); } } ... } Definition of a graph and building from the roads agents Movement of the agents toward a given target along the graph

Fig. 4 .

 4 Fig. 4. Movement on a graph.

float height <-10.0+ rnd [START_REF] Edmonds | From kiss to kids-an anti-simplistic modelling approach[END_REF]; int nb_I -> {members count (people_in_building(each).is_infected)}; aspect geom { draw shape color: empty(members) ? rgb("gray") :

(nb_I/length(members) > 0.5 ? rgb("red") : rgb("green")) depth: height; } species people_in_building parent: people schedules Following the idea that we do not always need to represent every phenomenon at the individual level of details(as in the multi-level approach presented above) and the idea taken from meta-population trend in ecology [START_REF] Hanski | Metapopulation Ecology[END_REF], we have introduced in GAMA the possibility to describe the dynamics of agents variables using an ODE system and to integrate this system at each simulation step. A paradigmatic example of applications that would benefit from this new feature can take inspiration from Colizza et al. [START_REF] Colizza | Epidemic modeling in metapopulation systems with heterogeneous coupling pattern: Theory and simulations[END_REF] or Meloni et al. [START_REF] Apolloni | Age-specific contacts and travel patterns in the spatial spread of 2009 h1n1 influenza pandemic[END_REF] work. Let consider the network of main cities in the world connected by air flights. If a disease appears in a city it will quickly spread all around the world via these flights communication. In addition, in each city, the disease will also spread in the city population. In this case, we should consider thousands of millions of people. The observation level cannot be the individual one but rather the city one. These two constraints induce the need but also the relevance of using an aggregate model at the city level where each city is represented by three variables representing the number of people in each compartment of the SIR model.

GAML enables to write equations linking agents attributes. Based on the Apache Commons Mathematics Library, we give the opportunity to the modeler to choose its integration method (between Runge Kutta 4 and Dormand-Prince 8 [START_REF] Colizza | Epidemic modeling in metapopulation systems with heterogeneous coupling pattern: Theory and simulations[END_REF][START_REF] Axelrod | The complexity of cooperation: Agent-based models of competition and collaboration[END_REF]). The modeler can choose the integration step and the number of integration steps he wants to do in one simulation step. In Figure 7, we consider an epidemiological model at the level of a city. In this case, people are moving on a road network and buildings aggregate people. The dynamic in each building is managed using an SI equation system linking the number of Susceptible and Infected inhabitants located in the building.

This new way to describe the dynamics of agents will bring several major benefits. Modelers can dynamically switch during the simulation between agentbased approach and equation-based approach. In addition, we argue that the integration of equation-based model into agent-based platform will have pedagogical benefits not only for the GAMA platform but for all the modeling community. This will limit the entering cost for mathematicians into this new modeling approach, and will for sure induce a very interesting cross-fertilization between these two modeling approaches.


L Gaubert

P Redou

F Harrouet

J Tisseau

A First Mathematical Model of Brood Sorting by Ants: Functional Self-Organization Without Swarm-Intelligence

Brood sorting, observed in leptothorax unifasciatus ant colonies, is a major example of social insects ability to solve problems at the collective level. Two processes characterize this phenomenon: a process of aggregation of all brood items in a single cluster, coupled with a process of segregation of items in concentric annuli, each containing items of different type, and ordered such a way that the smallest items are at the center, the largest at the periphery, and prepupae dispersed in-between.

In spite of its influence on algorithmics and robotics methods, no formal explanation of the brood sorting phenomenon was ever given. We present a first mathematical model devoted to brood sorting. Our hypothesis about ants behaviour are consciously minimal: we assume that random rules their acts, not only when they walk but also when they choose a brood item that they pick up, or beside which they deposit the one they carry. The first part of our work deals with the process of aggregation in a single cluster. The main subject of our study is the time evolution of a mathematical function linked to the notion of cluster. We prove that, whatever the number of ants acting, this function tends to decrease until it reaches a threshold that we compute: this threshold matches with the formation of the single cluster. The second part of our work deals with segregation in concentric annuli. Coupling the concept of virtual size of a brood item to the previous conclusions leads to a realistic explanation of the concentric structure observed in ant colonies.

Finally, we prove the existence of a feed-back effect, so that our results suggest that brood sorting is a case of self-organization that does not involve swarm intelligence.

Introduction

Social insects are well known for their ability to build spatial complex structures: cite, for instance, nest building [START_REF] Jeanne | The adaptativeness of social wasp nest architecture[END_REF][START_REF] Grassé | Termitologia, Tome II : Fondation des Sociétés[END_REF] brood sorting [START_REF] Franks | Brood sorting by ants: Distributing the workload over the work-surface[END_REF] or population self-sorting (Sendova- Franks and Franks, 2004;[START_REF] Backen | From local actions to global tasks stigmergy and collective robotics[END_REF][START_REF] Sendova-Franks | Random walk models of worker sorting in ant colonies[END_REF]. These constructions are widely considered as resulting from collective work: indeed, it seems unlikely that each individual has a precise idea of the structure under construction. This ability to solve problems at the collective level is named collective -or swarmintelligence [START_REF] Camazine | Self-Organization in Biological Systems[END_REF]; the concept of stigmergy is also used when an individual reacts to modifications of its environment due to the action of an other individual [START_REF] Grassé | La reconstruction du nid et les coordinations inter-individuelles chez bellicositermes natalensis et cubitermes sp. la thorie de la stigmergie : essai d'interpr-tation du comportement des termites constructeurs[END_REF][START_REF] Bonabeau | Swarm Intelligence, From Natural to Artificial Systems[END_REF]. Brood sorting, observed in ant colonies, e.g. lasius niger [START_REF] Depickére | Dynamics of aggregation in lasius niger (formicidae): influence of polyethism[END_REF], leptothorax [START_REF] Franks | Brood sorting by ants: Distributing the workload over the work-surface[END_REF], Pheidole pallidula or Messor sancta as reported by [START_REF] Deneubourg | The dynamic of collective sorting robot-like ants and ant-like robots[END_REF], is one of the main examples of collective intelligence. Such ant colonies organize their brood in a single cluster. In leptothorax unifasciatus ant colonies, the brood cluster is made up of concentric annuli, each containing items of a different type, with the youngest items (eggs and micro-larvae) gathered at the center, and successively larger larvae arranged in increasingly wider spaced bands moving out from the center of the cluster [START_REF] Franks | Brood sorting by ants: Distributing the workload over the work-surface[END_REF]. It is noteworthy that this annular structure ensures that the most evolved brood items are fed first [START_REF] Franks | Brood sorting by ants: Distributing the workload over the work-surface[END_REF].

Brood sorting, as well as other social insect buildings, stresses the complexity of relationship between individual and collective behaviors. For this reason mainly, it has influenced the development of research domains, such as ants algorithms (e.g. [START_REF] Lumer | Diversity and adaptation in populations of clustering ants[END_REF][START_REF] Kuntz | A stochastic heuristic for visualizing graph clusters in a bi-dimensional space prior to partitioning[END_REF] or collective minimalist robotics (e.g. [START_REF] Melhuish | Advances in artificial life[END_REF].

Several models have been proposed in order to explain the brood sorting phenomenon: [START_REF] Deneubourg | The dynamic of collective sorting robot-like ants and ant-like robots[END_REF] presented a first cellular automata model devoted to cemetery formation in ant colonies, also available for the process of aggregation in a single cluster in the case of brood sorting. In this algorithmic model, ants move randomly and are assumed to recognize items of different types and to estimate their density in the immediate neighborhood. An item is more probable to be picked up (resp. put down) if the number of immediate neighbors of the same kind is small (resp. large). [START_REF] Martin | Formation of an ant cemetery: swarm intelligence or statistical accident?[END_REF] revisited this cellular automata model and showed, by means of simulations, that the task of aggregation was accomplished, only a bit slower, without the need to bias the pick up and deposition probabilities and with only one agent.

As regards the phenomenon of segregation in concentric annuli observed in leptothorax ant colonies, two physical models where used for an explanation: firstly the differential adhesion model [START_REF] Steinberg | Reconstruction of tissues by dissociated cells[END_REF], involving concentric spheres so as to explain the sorting out of adhering cells of the same type during morphogenesis; secondly, the muesli effect [START_REF] Barker | The physics of muesli[END_REF]) is a model for self-sorting by size which occurs under the influence of shaking and gravity.

More recently, Franks and Sendova-Franks (1992) studied brood sorting in leptothorax ant colonies, and tested the hypothesis that the sorting is made up of two phases: the clustering of all brood items together constitutes a first phase, followed by a second phase in which a mechanism of differential diffusion leads to the formation of concentric annuli where items of different type take their relative positions. The method was experimental and statistical.

However, to our knowledge, no formal expla-nation was ever given, neither for aggregation in a single cluster, nor for segregation in concentric annuli. This article presents a first mathematical model devoted to brood sorting.

In the first part, we deal with the phenomenon of aggregation. Our hypothesis are quite minimal: ants are only assumed to recognize brood items (say larvae), but ignore each other, and have no notion of density. Walking randomly, they pick up a larva which is not carried by another ant (such a larva is said free), and deposit this larva beside an other free larva, precisely randomly in a disk which center is the free larva. We build an algorithmic model for simulations, and we establish mathematical results giving properties of a stochastic process which is the average of squared distances between larvae. By means of probability theory, we prove that this process decreases -in average-, until it reaches a threshold that we compute: this threshold matches with the formation of the single cluster. Once this cluster has been formed, the process oscillates around the threshold, with a standard deviation that we also compute. Therefore, one can consider that the brood aggregation is a natural minimization of the average of squared distances between larvae. An important fact is that this result is also available in the case where a single ant is involved.

-In the second part, we use results of the first part to deal with brood geometry and give an explanation of concentric annular sorting in the case of different types of larvae. We combine numerical methods of minimization of the average of squared distances between larvae and mathematical proofs, and introduce the notion of virtual size of a brood item, which takes into account the care it needs. Therefore, we get a realistic explanation of the geometric structure observed in leptothorax ant colonies.

Our results tend to prove that in the case of brood sorting, the concept of collective -or swarmintelligence is out of use. We claim that it is rather a case of self-organization, or functional emergence, in the sense that annular sorting is a natural and involuntary construction which appears as the most profitable.

Aggregation

This section is devoted to the mechanism underlying the phenomenon of aggregation of items in a single cluster, observed both in cemetery formation and brood sorting. We first present our mathematical model, before exposing the results it involves. Here, brood items are assumed to be undifferentiated and we name them larvae.

2.1. Model definition 2.1.1. A preliminary enlightening result [START_REF] Martin | Formation of an ant cemetery: swarm intelligence or statistical accident?[END_REF] have proposed, as the main reason for single cluster formation, the fact that once a cluster has vanished, it can't reappear. Even if this phenomenon is of major importance in aggregation dynamics, it is true in a single abstract and ideal case, i.e. when larvae are material points and when a larva is deposited exactly upon another. In this case, the concept of cluster is well defined and we easily prove that only one cluster will remain: indeed, assume the brood is made up of N larvae, distributed in m initial clusters, with m ≤ N . Let X n = (X n 1 , . . . , X n m ) be the random vector containing the number of larvae in each cluster at time n (i-th cluster contains X n i larvae). X n is a Markov chain, the state space is [0, N ] m and for the sake of concision, we suppose that the transition matrix is independent of n. The transition probabilities are assigned to events of type "one larva is displaced from cluster i to cluster j". Since an empty cluster cannot receive any larva, there are exactly m absorbing states (N, 0, . . . , 0), . . . , (0, . . . , 0, N ), each state corresponding to a configuration with only one cluster. Given that the state space is finite, the Markov chain must eventually enter one of those absorbing states (and remain in this state). Thus, almost surely, a single and persistent cluster is formed. However, as soon as larvae are not material points, and since a given larva is deposited beside an other (but not exactly at the same place), clusters may be broken and the model proposed by [START_REF] Martin | Formation of an ant cemetery: swarm intelligence or statistical accident?[END_REF] is not relevant anymore. The mathematical model of the brood-sorting algorithm we have built is inspired by a classical computer model developed in our laboratory. It is a Markov chain for which states are positions of larvae which constitute the brood (therefore the state space is neither finite, nor discrete). It's a discrete-time stochastic process, since positions are updated only when one larva is picked-up or released by one ant.

General framework

Let us describe the state space of our process. To each larva we assign the vector of its position in the plane, so that we consider a larva as "temporarily vanished" when carried by an ant. This state is indicated by the symbol ⋆. Therefore, if N is the number of larvae, the list of all positions can be written:

V = (V 1 , . . . , V N ) ∈ E = R 2 N
where R 2 stands for R 2 ∪{⋆}. For V ∈ E we define the number of larvae on the ground, i.e. which are not carried by an ant:

C(V ) = card{i, V i = ⋆}

Dynamics of brood sorting

Now we define the functions that represent the possible transitions of the process. The action of picking the k-th larva, when applied to vector V , gives R k (V ) = W with

W i = V i for i = k and W k = ⋆
The action of putting down the k-th larva beside the l-th one is defined as follows. Our computer model assumes that even if larvae are immaterial, ants release them beside ananother larva. In order to take this fact into account, we consider a random vector ε, with uniform distribution in the disk D(0, δ), δ > 0 (note that all this work could be done with any other radial distribution). Each time a larva is released beside another one, the vector ε stands for such a random vector, independent from all other variables. Applied to a vector V , this transformation gives ε D kl (V ) = W with:

W i = V i for i = k and W k = V l + ε So that W k -W l = ε.
We must point out that actions R k and ε D kl are not exactly defined on E, since R k can only be applied to a list V for which V k = ⋆, and ε D kl needs V k = ⋆ and V l = ⋆ to be applied to V . Nevertheless, this fact is not problematical and makes notations more convenient. Now we define the stochastic process. Time steps will be denoted by n at exponent.

We state that at time n, all the actions that are allowed (depending on the state at time n) have even chances to happen (this is an approximation of what actually happens, but it is relevant for the brood surface is finite). Successive actions, denoted by M 1 , M 2 , . . . , M n , . . . are applied from the initial state of the process V 0 :

V n = M n-1 (V n-1 ) = M n-1 • . . . • M 1 • M 0 (V 0 )

The process

Finally, we define the function on E that will express the dispersion among the brood: this function gives the average of squared distances between free larvae, that is,

S(V ) = i,j =⋆ V i -V j 2 2 C(V )(C(V ) -1)
We first have the following result (we recall that the expression "almost surely" means "with probability 1"):

Proposition 2.1 Almost surely, the process S(V n ) reaches a value lower than s 2 -1 N .

This result suffices to prove the phenomenon of aggregation, since this low value for S(V n ) forces the larvae to be in a "single cluster" configuration. Moreover, we want to know if those cluster configurations are statistical accidents, or if they are stable. In order to answer this question, we will study, in the following section, the conditional expectation of the process. This way, we will show that, in some statistical sense, "small clusters" can't be broken.

Conditional Behavior

We now compute the conditional expectation of our process. The number of ants is denoted by F . The assumption made about the choice of a larva to be picked up or deposited allows us to define C(V n ) as a Markov chain: put

λ k = P(C(V n+1 ) = k + 1|C(V n ) = k) = 1 -P(C(V n+1 ) = k -1|C(V n ) = k)
Thus, for the sake of concision, we write

a(k) = 2λ k k(k + 1) and b(k) = δ 2 λ k k + 1
the main result exhibits the conditional dynamics of our process:

Proposition 2.2 E S V n+1 V n = (1 -a(C(V n ))) S(V n ) + b(C(V n )) (1)
Observing proposition 2.2, we see that the number of ants acting in the brood has a narrow influence on the behavior of S(V n ). Thus, we first study the single ant case, and then we generalize to the several ants process.

Single ant process

If we assume that at time 0, all larvae lie on the ground, when a single ant acts on the brood, since operations of picking a larva and putting it down both happen cyclically, we notice that C(V 2n ) = N and C(V 2n+1 ) = N -1. Therefore, considering processes S V 2n and S V 2n+1 leads to useful simplifications. Proposition (2.2) becomes:

Proposition 2.3 If F = 1 process S(V n ) satis- fies (for i = 0, 1): E S V 2(n+1)+i V 2n+i = 1 - 2 N (N -1) S(V 2n+i ) + δ 2 N (2) Writing θ = N -1 2 δ 2 , equation (2)
gives some intuitions that we will develop in proposition 2.5: at even times, our process behaves like a submartingale when S(V 2n ) ≤ θ, otherwise it behaves like a super-martingale (the same is true for odd times). We conclude that the process is, in a sense, attracted by the value θ, which we call pulsation threshold. First, the limit of the expectation of the process, when time step n tends to infinity, can be computed for even and odd times and gives the same result:

Proposition 2.4 lim n→+∞ E [S(V n )] = θ
Therefore, the brood is expected to concentrate until it reaches the pulsation threshold and then to oscillate around this threshold. The limit value θ is small enough to avoid dispersion of the brood, so that this result confirms the fact that once a single cluster configuration has been reached, the probability to escape from this configuration is weak. In order to make this result more precise and to confirm the expected behavior of S(V n ), we give a result similar to some used to prove up-crossing inequalities: Proposition 2.5 Let τ 1 ≤ τ 2 ≤ m two bounded stopping times (adapted to the natural filtration associated to the process V n ), then:

S(V τ2 ) ≥ b a ⇒ E [ S(V τ2 )| V τ1 ] ≤ S(V τ1 )
and

S(V τ2 ) ≤ b a ⇒ E [ S(V τ2 )| V τ1 ] ≥ S(V τ1 ) Area b a ,
+∞ is what we call a "decreasing area" for the process, while 0, b a which is an "increasing area". Therefore, proposition 2.5 confirms intuition: both decreasing an increasing area are expected to be unstable for S(V n ) and to push the process near the value θ. Nevertheless, this does not mean that the process has a limit. First, as the process can be supposed to be bounded (this doesn't change significantly the previous results), we assume that S(V n ) is uniformly integrable, and then deduce that the first time (and then the following ones) the process goes through the threshold θ isn't bounded. Moreover, here are two results that deal with asymptotic behavior of S(V n ). First, we show that the process will eventually oscillate around θ: Proposition 2.6 Denote by Var(S(V n )) the process variance at time n. We have: The formula defining ν N is too big to be exposed here, but the crucial point is that ν N > 0. In order to see that this variance isn't negligible, we give an approximation of ν for large values of N :

lim n→+∞ Var(S(V n )) = ν N > 0
ν N ≈ N 3
3 s 4 So, the process cannot converge to θ, moreover, using Markov chain theory we can prove the stronger result: Proposition 2.7 S(V n ) cannot converge in L 1 to any random variable.

Finally, summarizing our results, we can conclude that the process, even if attracted by the value θ, will oscillate forever near it, as if some kind of elasticity was operating (see fig. 1). In the next section, we show how, under supplementary hypothesis, we extend those results to the general case.

Several ants process

As in the single case, and since Markov chain C(V n ) is 2-periodic, we concentrate on the two sub-processes S(V 2n ) and S(V 2n+1 ). In order to extend proposition 2.4 to the multiple ants process, we need to assume that C(V n ) and S(V n ) are independent random variables. Relevance of this hypothesis comes from the fact that we consider the mean of squared distances, which seems Figure 2. Simulation with 8 ants and 25 larvae to be, as n grows, independent from the number of larvae on the ground. Under this assumption we get the following result: Proposition 2.8 There exists two real numbers θ e and θ o such that:

lim n→+∞ E S V 2n = θ e lim n→+∞ E S V 2n+1 = θ o
Let X be a random variable with binomial distribution B F, 1 2 , and Y = X + N -F , then for large values of N :

θ e ≈ N θ o ≈ N E [a (X + N -F )] E [b (X + N -F )]
Remark 1 Even if the values θ e and θ o are easily computed, the approximation of those thresholds arises naturally and suffices to highlight similarities with the single ant case.

Again, the threshold can be observed on simulations (see figure 2). The result about the variance of the processus is analogous to the one obtained in the single ant case, but the formula is too heavy, so we won't write it. Nevertheless, it is important to notice that the mean square root has the same order of magnitude that the mean: as the number of ant is constant, the mean square root behaves like √ 7

6 N δ 2 when N grows. Regarding conditional dynamics, we can easily bind the process with a process with F = 1, but the best way to think of the variability of several ants case is to notice that, according to the value of C(V n ), the process behaves like a single ant process, so it will jump between different single ant processes with respectively N -F, N -F + 1, . . . and N larvae. This is why we can guess on simulations a bigger variance (this is confirmed by the formula we obtained.)

Conclusions on aggregation

We have proved that the process S(V n ) is not really affected by the number of ants working in the brood. Furthermore, considering equation (2.2) leads us to the conclusions that the dynamics of the brood, and the speed (in terms of logical time) of cluster formation are similar (however, in terms of real time, obviously many ants sort the brood much faster than a single worker; in fact, this is the only relevant collective effect). Then, it becomes clear that the nature of the phenomenon of aggregation remains unchanged as the number of ants varies. We can go further in the analysis of our results and extract an important feature: we have highlighted the fact that, in the phenomenon of aggregation, collective action of ants is similar to a stochastic algorithm minimizing the sum of distances between larvae. In the next section, we use this fact in order to deduce results with regard to the phenomenon of segregation. 2003), [START_REF] Franks | Brood sorting by ants: Distributing the workload over the work-surface[END_REF] and others, studied the following question: why is the brood arranged in concentric annuli, with eggs at the center and larger larvae at the periphery? [START_REF] Wilson | Algorithms for building annular structures with minimalist robots inspired by brood sorting in ant colonies[END_REF] propose two hypothesis: the first one was made by analogy with the manner in which muesli settles in transit. The phenomenon of smaller clusters falling to the bottom, leaving the larger ones on top has been studied by [START_REF] Barker | The physics of muesli[END_REF]. This analogy was made con-sidering that instead of gravity, larvae move as if they were attracted by a centripetal force that could cause the same effect on segregation. Under this hypothesis, annular sorting is a consequence of differences between sizes of larvae. Unfortunately, after simulations, [START_REF] Wilson | Algorithms for building annular structures with minimalist robots inspired by brood sorting in ant colonies[END_REF] concluded that using objects of different sizes doesn't lead to efficient sorting in the brood. Another hypothesis is that ants deliberately introduce spacing between brood items. The extent of spacing is influenced by the size of the brood item, detected by the amount of waste gas the brood item produces. A spacing mechanism has been explored using real robots [START_REF] Melhuish | Collective sorting and segregation in robots with minimal sensing[END_REF] and produced one central circle with a concentric ring around the outside. However, [START_REF] Melhuish | Collective sorting and segregation in robots with minimal sensing[END_REF] tested this mechanism with only two types of objects of the same size. All these hypothesis couldn't lead to satisfying experiments and simulations; therefore, works have been achieved in order to improve annular sorting, acting on criteria which make ants decide whether they set down the larva they carry or not. This was justified by the fact that mature larvae need more care than young ones and being placed at the periphery, ants approach them more easily. Implicitly, this explanation involves the notion of collective aim and assumes that ants are able to recognize annular configurations which is not obvious. In section 2 we proved that there is no need, in our model, to invoke collective intelligence. In this section, we adapt the two hypothesis put forth by [START_REF] Wilson | Algorithms for building annular structures with minimalist robots inspired by brood sorting in ant colonies[END_REF] in the light of our results: we combine them in order to explain annular sorting as a consequence of local activity. In this section, we first precise the hypothesis of attraction that ensures our minimization principle; subsequently, we present mathematical results explaining the natural emergence of annular configurations.

Segregation

Mutual attraction

In section 2, we concluded that -according to our model-the collective action of ants imitates a stochastic algorithm that minimizes the function S. Under this hypothesis, we can go further in the insight of brood's dynamics. Rather than a centripetal force, as proposed by [START_REF] Wilson | Algorithms for building annular structures with minimalist robots inspired by brood sorting in ant colonies[END_REF], our results confirm formally that this dynamics results from mutual attractions between larvae [START_REF] Bonabeau | Swarm Intelligence, From Natural to Artificial Systems[END_REF]. However, in all models, this dynamics is distorted by stochastic behaviors, so that it isn't easily observed. Dropping the stochastic part of the model, we only have to study the abstract case in which ants collectively reach a minimal state for S. The question is thereby: which configurations minimize S? Let's formalize this problem: larvae are assimilated to disks in the plane, that is

• V = (V 1 , . . . , V N ) are the coordinates of their centers
• (r 1 , . . . , r N ) the list of their radius.

We impose the natural constraints:

D(V i , r i ) ∩ D(V j , r j ) = ∅ ∀i, j (3)
where D(V i , r i ) denotes the disk with center V i and radius r i . Now we want to bind annular configurations of V to the ones that minimize S(V ).

Annular configurations minimize S

Numerical simulations clearly illustrate the fact that minimal configurations for S(V ) match annular ones. Figures 3 and4 give two examples of numerical optimizations we obtained.

In order to understand this phenomenon, we propose a simple explanation supported by mathematical results. The idea is that, if one increases the size of a larva, say V 1 , it will move away larvae stuck on both sides of V 1 , so that if V 1 is at the periphery of the cluster, its growth won't move away many larvae, and won't increase S(V ) to a significant degree. In order to deal rigorously with this idea, we first define the transformation that captures the increase of a radius. Precisely, as a first approximation, we consider that increasing radius r k by λ > 0 leads to push forward, in straight line, all other larvae. The function involved can be defined as: Obviously, this function does not preserve minimalism for S, nevertheless, we want to study the effect of infinitesimal increase to detect where big larvae are expected to be in a minimal configuration. The function H is then sufficient to find this kind of information. We define the penalization function:

H λ,k (V ) = V 1 + λ V1-V k V1-V k , . . . , V k , . . . , V N + λ VN -V k VN -V k
Definition 3.1 The penalization function of S by the disk D k is:

P S,k (V ) = d dλ S(H λ,k (V ))| λ=0
In a minimal configuration, disks with high penalization values on S, according to their positions, are expected to be the smallest among other disks, and conversely. Writing α k i the angle between vector V i -V k and the absissa axe, we prove that: Proposition 3.1 Penalization P S,k by D k satisfies:

P S,k (V ) = 4 i =k V i -V k N -1 2 -j =k cos α k i -α k j
V i ∈ S(V k , α) ∀i = 1..N
Disk with low FoV are not surrounded by other disks, they must have a peripheral position (see examples on Fig. 5 and6). Finally, the following result makes a clear link between FoV and penalization Corollary 3.1 The penalization of D k on S satisfy: This partial study allows us to forecast that minimal configurations for S(V ) give the brood an annular shape.

P S,k (V ) ≤ 4 N - 1 2 -cos(α k k ) i V i -V k
We stress the point that these conclusions are specific to the function S. If we assume, for instance, that the collective action (and the individual one, as we proved in section 2) of ants tends to minimize the surface occupied by larvae, we do not observe concentric circles, but a dispersion of small items among large ones. Thus, under the hypothesis that the action of ants minimizes the mutual distances between larvae, we conclude that concentric annular sorting naturally arises. In order to connect these minimal configurations to the ones observed in nature, we are to use realistic larvae sizes and consider what actually happens in ant's nest. For the latter reason, we now introduce the notion of virtual size of an item.

Spacing and virtual size

Sendova- Franks et al. (2004) pointed out that larvae, in a real brood, are far from each other, Figure 6. Example of an unspecified configuration: FoV value of peripheral larva is expected to be low. what allows ants to move everywhere in the brood. Moreover, the free space surrounding a larva generally increases with its size [START_REF] Franks | Brood sorting by ants: Distributing the workload over the work-surface[END_REF]. Following these observations, we define the virtual size of an item as its physical size added to the free space allocated to it by ants. Observations of Sendova-Franks et al. (2004) ensure that disparities between virtual sizes of items are, compared to their physical sizes, greatly stressed. As a consequence, geometric configurations that minimize S can get through stochastic effects of the dynamical system. Thus, brood sorting is much closer to ideal annular configuration. Furthermore, we are now able to explain the exceptional case of pupae: when pupae and prepupae are present in the brood, they are located between the peripheral large larvae and more central larvae with medium size. Yet, pupae and prepupae are much bigger than larvae that surround them. Following our analysis, this fact implies that virtual sizes of pupae and prepupae are similar to virtual sizes of surrounding larvae. Consequently, we should observe that less free space is allocated to pupae and prepupae. Indeed, this fact has been observed: [START_REF] Franks | Brood sorting by ants: Distributing the workload over the work-surface[END_REF] showed that there is a positive correlation between individual space and metabolic rate and that pupae and prepupae do not require feeding but only grooming. Our principle is therefore sufficient to explain the major causes of annular configuration, considering virtual sizes of objects rather than their physical sizes.

Conclusion and discussion

We have showed, in a mathematical way, that brood sorting can be explained without the help of swarm intelligence. We have also proved that it is achieved with drastically minimal hypothesis about ants' activity. Moreover, deducing a minimization principle, we believe that we have highlighted two of the major causes of the concentric annuli formation in leptothorax unifasciatus ant colonies, that is: almost minimization of the average of squared-distances between free larvae, coupled with great differences between virtual sizes of brood items. Even if we dropped the fascinating hypothesis of swarm intelligence, and only for this phenomenon of brood sorting, we can refer to the not less attractive concept of functional selforganization. A common self-organization deals with emergence of structures at a global level from interactions among lower-level components (? [START_REF] Nicolis | Self-Organization in Non-Equilibrium Systems[END_REF]. This concept is essential to handle more and more complex systems in biology. Beyond this subjective notion of self-organization, that is strongly related to the observer himself, the notion of functional selforganization which requires that the observed pattern is useful to individuals. For example, in the case of brood sorting, if we only observe concentric circles, it is really premature to invoke functional self-organization. We must consider those configurations as interesting ones, since we can recognize them as particular, but this is a subjective point of view: probably any other configuration, even not particular to our eyes, should be considered with equal attention. However, in the light of experiments of Francks and Sendova-Francks, we see that annular sorting is a functional phenomenon: on one hand, we have proved that annular sorting is achieved as soon as ants provide more space to larvae that need more care, what involves only local criterions (there is no need to consider density of larvae or more global notions). On the other hand, peripheral larvae are, by a feed-back effect, more accessible to ants, so that the self-organization phenomenon has a direct influence on the care they receive from ants. The conjunction of these two phenomemons leads us to stand that annular sorting is a case of functional self-organization.

Figure 1 .

 1 Figure 1. Simulation with 1 ant and 25 larvae

  [START_REF] Hartmann | Evolving agent swarms for clustering and sorting[END_REF], O'Toolenw et al. (

Figure 3 .

 3 Figure 3. Numerical minimization of S: case of 1 small larva, 4 intermediate and 7 large larvae

Figure 4 .

 4 Figure 4. Numerical minimization of S: case of 7 small larvae, 7 intermediate and 7 large

Figure 5 .

 5 Figure 5. Example of an unspecified configuration: central larva has a high FoV value.