[ieee communication technologies, research, innovation, and vision for the future (rivf) - hanoi,...

6
Incremental and Situated Modeling for Multi-agent Based Simulations François Sempé UMI UMMISCO (IRD/IFI) Ha Noi, Viet Nam [email protected] Javier Gil-Quijano LIP6 - UPMC Paris, France [email protected] Abstract—This paper addresses the problem of modeling complex behaviors, especially social human behaviors, in multi-agent based simulations. Incremental approaches, - a first and simple model that is enhanced step by step – are a common way to deal with complexity. We argue that incremental modeling is a valuable methodology, but needs to be assisted both to quicken the modeling iterations and to enable a smooth and intuitive increase in complexity. Our proposal is based on a software environment that enables easy evaluation, comparison and manipulation of simulations, and situated modeling. Situated modeling is a procedure that allows the modeler to adjust the behavior of an agent in a specific context from a simulation. Those adjustments enrich little by little the agent decision mechanism with new situations. Our incremental modeling environment and preliminary results in situated modeling are presented in the context of the SMACH platform. This research project aims to study the use of electrical appliances by the inhabitants of an intelligent house. Keywords: Multi-agent based simulation; social behaviors modeling; incremental modeling methodology. I. INTRODUCTION Multi-agent based simulation (MABS) enables to represent individuals and their interactions in the modeled system. These simulations, which can take into account different types of agents as well as an environment explicitly defined, are powerful tools for analyzing and understanding a complex system from the interactions of individual components. One of the main issues related to MABS concerns the modeling process, which can be very difficult to achieve particularly when social human behaviors are involved. This paper proposes a way to assist the modeling process through both an incremental methodology and sets of situated model enhancements. The modeling process – as well as the exploitation of a model - in agent-based simulations is highly iterative and repetitive by nature. The different steps in a simulation project dealing with a complex model are often tricky and time- consuming. Simulation environments as GAMA [1] or Repast [2] offer features to ease the work of the modeler. They focus on facilitating the construction of the model by providing integrated development environments and high-level graphical interface tools. They also contain powerful tools of visualization and analysis of simulations results. However, those environments lack means to assist the modeler in the cyclic construction of the model and to manage the steps toward complexity. In this paper we propose to accompany the iterative process of model’s construction and adjustment with the help of 1) a modeling environment that include the manipulation of several models or parameters settings and their resultant simulations simultaneously 2) the possibility to modify a model in a specific context from a simulation or a set of simulations, 3) the possibility to “navigate” over the explored model’s space. We begin this paper with a presentation of the problems related to the building of a complex model and our answer to questions. Then, the 2 following sections describe the modeling environment we developed to assist the modeler and the situated modeling mechanism. A discussion and a conclusion end the paper. II. INCREMENTAL AND SITUATED MODELING A. Modeling complex behaviors The SMACH project we are working on aims to study the impact of automatic adaptation and coordination protocols for electrical home appliances in an intelligent ambient environment. It focuses on the everyday life of a family at home. To conduct this research we built a simulation platform where the behaviors of humans and appliances can be modeled. This project requires to model complex human behaviors such as personalized coordination (some members of a family take breakfast together and others at a different time), relation of dependence (children may need help to perform a task), decision based on believes not on a perfect knowledge of the world or social influence through communication. Moreover, it is not possible to define once for all a final model and then to explore it, like in many other projects. Indeed, one of our research questions is: what elements of the human behavior are needed in order to make the simulation realistic enough, especially in the case of participatory simulations where people interact (controlling agents for instance) with a running simulation? In other words, the evolution of the model is a part of the project itself. With regard to the complexity of the human’s behavior, we try to keep the writing of a model (also called a scenario) as simple as possible. The modeler should not spend hours to 978-1-4244-8075-3/10/$26.00 ©2010 IEEE

Upload: javier

Post on 09-Mar-2017

213 views

Category:

Documents


0 download

TRANSCRIPT

Incremental and Situated Modeling for Multi-agent Based Simulations

François Sempé UMI UMMISCO (IRD/IFI)

Ha Noi, Viet Nam [email protected]

Javier Gil-Quijano LIP6 - UPMC Paris, France

[email protected]

Abstract—This paper addresses the problem of modeling complex behaviors, especially social human behaviors, in multi-agent based simulations. Incremental approaches, - a first and simple model that is enhanced step by step – are a common way to deal with complexity. We argue that incremental modeling is a valuable methodology, but needs to be assisted both to quicken the modeling iterations and to enable a smooth and intuitive increase in complexity. Our proposal is based on a software environment that enables easy evaluation, comparison and manipulation of simulations, and situated modeling. Situated modeling is a procedure that allows the modeler to adjust the behavior of an agent in a specific context from a simulation. Those adjustments enrich little by little the agent decision mechanism with new situations. Our incremental modeling environment and preliminary results in situated modeling are presented in the context of the SMACH platform. This research project aims to study the use of electrical appliances by the inhabitants of an intelligent house.

Keywords: Multi-agent based simulation; social behaviors modeling; incremental modeling methodology.

I. INTRODUCTION

Multi-agent based simulation (MABS) enables to represent individuals and their interactions in the modeled system. These simulations, which can take into account different types of agents as well as an environment explicitly defined, are powerful tools for analyzing and understanding a complex system from the interactions of individual components. One of the main issues related to MABS concerns the modeling process, which can be very difficult to achieve particularly when social human behaviors are involved. This paper proposes a way to assist the modeling process through both an incremental methodology and sets of situated model enhancements.

The modeling process – as well as the exploitation of a model - in agent-based simulations is highly iterative and repetitive by nature. The different steps in a simulation project dealing with a complex model are often tricky and time-consuming. Simulation environments as GAMA [1] or Repast [2] offer features to ease the work of the modeler. They focus on facilitating the construction of the model by providing integrated development environments and high-level graphical interface tools. They also contain powerful tools of visualization and analysis of simulations results. However,

those environments lack means to assist the modeler in the cyclic construction of the model and to manage the steps toward complexity.

In this paper we propose to accompany the iterative process of model’s construction and adjustment with the help of 1) a modeling environment that include the manipulation of several models or parameters settings and their resultant simulations simultaneously 2) the possibility to modify a model in a specific context from a simulation or a set of simulations, 3) the possibility to “navigate” over the explored model’s space.

We begin this paper with a presentation of the problems related to the building of a complex model and our answer to questions. Then, the 2 following sections describe the modeling environment we developed to assist the modeler and the situated modeling mechanism. A discussion and a conclusion end the paper.

II. INCREMENTAL AND SITUATED MODELING

A. Modeling complex behaviors The SMACH project we are working on aims to study the

impact of automatic adaptation and coordination protocols for electrical home appliances in an intelligent ambient environment. It focuses on the everyday life of a family at home. To conduct this research we built a simulation platform where the behaviors of humans and appliances can be modeled.

This project requires to model complex human behaviors such as personalized coordination (some members of a family take breakfast together and others at a different time), relation of dependence (children may need help to perform a task), decision based on believes not on a perfect knowledge of the world or social influence through communication. Moreover, it is not possible to define once for all a final model and then to explore it, like in many other projects. Indeed, one of our research questions is: what elements of the human behavior are needed in order to make the simulation realistic enough, especially in the case of participatory simulations where people interact (controlling agents for instance) with a running simulation? In other words, the evolution of the model is a part of the project itself.

With regard to the complexity of the human’s behavior, we try to keep the writing of a model (also called a scenario) as simple as possible. The modeler should not spend hours to

978-1-4244-8075-3/10/$26.00 ©2010 IEEE

define all the relations between individual and more hours to debug a huge model. But it is not only a matter of saving time. A simulation has its own dynamic that needs to be understood by the modeler. A too complex model may not be manageable at all.

One way to manage a complex model consists in building incrementally the model. It is in fact the most obvious way to proceed and probably most models are intuitively built this way. A methodology to elaborate complex social system can be found in [3]. The methodology is based on careful definition of each step from a first model M0 to a final model Mf, where the model receives little by little new features like weather, communication between agents and a broader time or space scale. Our modeling process follows this methodology, with a base model and steps toward complexity. Although our model is less complex than the one presented in [3], we found that incremental methodology is not enough for the following reasons:

• An incremental process is time-consuming and will have to be repeated many times. Indeed, one can rarely validate once for all a given step and, when one has to modify the M0 model when working on the M3 model, a re-iteration of all the steps leading to M3 may be required. Moreover, a simulation research project does not mean a final single model but possibly hundreds of models, as in our case; the SMACH platform is used to build scenarios about the everyday life of a family and the situations as well as the habits of each family are numerous. Modeling one scenario (e.g. the morning before going to work as in our example below) should be straightforward.

• A complex behavior like a human’s one cannot be completely described, explained and generalized. As shown in [4], the knowledge of an expert will not be completely elicited through interviews. An important part of this knowledge relies on experience and dealing with real situation. Everyday life, like in our project, is possibly even more difficult to explain, as there is no formal teaching of it. How to put it into the model then?

• When dealing with a complex model, one of the main difficulties lies in the understanding of a simulation and how a modification of the model will impact it. As complexity increases, it becomes harder and harder to perform the next modeling step.

Our answer to those questions is twofold. First, we propose a software environment that enables a quick modeling iteration. The modeler has the ability to evaluate easily a new version of the model, to compare it to previous versions and come back to an older one if necessary. Second, the model can be enhanced intuitively directly on a view of a simulation and little by little, each small step being tested in a handful of seconds. This is what we call situated modeling.

B. The incremental process in SMACH Let us be more specific now and present the modeling

process in SMACH. Our incremental approach has 2 distinct stages:

1. First a base model, comparable to a M0 model, is built. Only very general relations between agents are described. The modeler defines the human agents (often parents and children), their actions (waking up, having breakfast...), the appliances agents (mainly heaters and lights) and the rooms. A human agent has preferences for each action it is able to perform. A simple decision mechanism based on action priority select the next action. A graph of dependence between actions allows the representation of physical constraints, like the need to get up before taking a shower or the impossibility to watch TV in the living room after having left home. Those constraints can also be used to eliminate improbable and uninteresting situations like going to work without having got dressed. In addition, tasks have attributes, for instance the collectiveness, which indicates if people should tend to perform a given task together.

2. The second stage aims to personalize the behaviors of the human agents in specifying the context of the action in relation with the state of other agents and the communication between agents. Once the base model (or scenario) is defined, the modeler launches simulations and begins to enrich the base model adjusting the human agent behavior directly « on a simulation ». The second step is a succession of adjustments and simulations, the complexity increases little by little. Simulations gives to the modeler the opportunity to “feel” in a situated way which actions are legitimate and which are not.

Situated modeling is similar to participatory simulations where the objective is to model an expert behavior like an air traffic controller [4] or some rescue strategies after a natural disaster [5]. Other researches focus on non-expert behavior, for instance the behavior of people during the evacuation of a building [6] or about sharing common resources [7]. The main objective is always to put someone in situation with a simulation and to observe his or her reactions, rather than just gather general information with the help of an interview. The last step is to build a model – or adjust a first model – from the recorded reactions. Situated modeling is an extension and simplification of this procedure. It is an extension because the modeler, and not only the experts, should be able to adjust a model in situation. It is a simplification because the modeler can make the necessary adjustments on a synthetic view of the simulation and does not need to observe the entire execution of the simulation, which is time-consuming and possibly confusing.

The main problem of situated modeling is to modify the model automatically from the recorded adjustments made by the expert or the modeler. Usually, and in our case, an adjustment is nothing more than the choice of a task in a list of possible tasks for a given agent at a precise time of a simulation. When the modeler changes the current task of an

agent, he has, more or less precisely, a motivation in mind. The motivation can be viewed as a subset of the context of the adjustment, that is the current state of the simulation. How to elicit this subset? This question will be discussed in the fourth section. Let us begin by describing the incremental modeling environment, which will support the situated modeling process.

III. A SOFTWARE ENVIRONMENT FOR ASSISTING THE INCREMENTAL MODELING

To accomplish the incremental modeling process, the modeler must be provided with tools for both visualization of simulations results and definition of situated adjustments. The objective of visualization tools is twofold: firstly visualization must depict a synthetic and “evident” representation of a simulation, and secondly that representation must be useful to easily compare different simulations. Our proposal of representation of a simulation is what we call the “activity diagram” that is presented in the A subsection. Moreover, being able to manipulate several model states and their simulations’ results is a cue aspect to guide the modeling process. Indeed as the modeling process is incremental, the modeler has to be able to compare the results of different adjustments on the model in order to evaluate the improvements. To find the more suitable simulation’s results, the modeler has to be able to discard some modifications, to get back in exploration and to explore and compare parallel sequences of modifications of the model. We propose a tree structure to guide the modeler in that complex exploration process. The construction and interaction with that structure is explained farther in the C subsection.

Finally, simulations results can be very variable depending on the level of non-determinism of agents’ behaviors. When the level of non-determinism is important, the modeler has to deal with several simulations of the same model. The difficulty and the time consumed naturally increase with the number of considered simulations. In order to simplify that process, we provide the modeler with a tool that allows him to interact with sets of similar simulations at once instead of doing it on a single simulation. To create those sets we propose a simulations’ clustering mechanism. The modeler interacts then with the more representative simulation of the cluster. This mechanism is presented in detail in the B subsection.

A. Synthetic and intelligible simulations’ results: Activity diagrams The results of a simulation usually comprise the

observation of the simulation execution, the simulation’s log and numerical measures. The 2 first types of results are very detailed but very time-consuming when being used; the last one is synthetic but gives very poor explanation on what happened during a simulation.

Activity diagrams are a trade-off as they represent on a single view the development in time of the simulation and the behavior of the agents. In figure 3 one example of that kind of diagram is shown. Every row expresses the activity of a single human. Time is shown on the horizontal axe. The colored rectangles represent the tasks and their duration. Textual information about the time and the name of the tasks can be

obtained by passing over a given task area. The activity diagram allows the evaluation of a simulation and their comparison in one glance. The behavior of one agent is presented in the context of the activity of the other agents, which is a good start to understand the social relations. If necessary, the modeler can access others tools provided by the platform in order to understand more precisely what happened during a simulation.

Furthermore, activity diagrams are a very good support for situated modeling as time, agents and tasks are shown together. In section IV, a more detailed presentation about the interactions that the modeler can perform on an activity diagram will be found.

B. Dealing with non-determinism : Simulations clustering Thanks to the clustering mechanism several levels of

visualization and interaction are available. In the simpler case, we propose at least two levels, the lower level is the single simulation level and clusters constitute the higher level. It should be noted that a hierarchy of clusters could be built. When working at the cluster level, the analysis and the modifications performed by the modeler have a global scope.

The big deal in any clustering mechanism is twofold, firstly it is necessary to define a measure of similarity (or difference) between single objects and secondly it is necessary to choose an algorithm of clustering. As one of our objectives is to highlight the social context (i.e. the relations between the activities of different humans) where a modification is proposed, the similarity between simulations must be based on a social context measure. The activity of a single human can be considered as a workflow that we want to cluster. Several works on workflow clustering exist (see [8] for a review). Those works usually proposes measures of correlation between different workflows to define their similarity. The main pitfall of the algorithms proposed in those works is that they are useful to treat entries composed each one by a single workflow. In our case a simulation is composed by several workflows (the activity of each human). To overcome this difficulty we propose a measure that allows both to take into account different activities and to take into account the social context. This measure is the co-ocurrence. We calculate a vector of co-occurrences (as detailed farther) for each simulation. Finally the similarity between simulations is simply calculated on the basis of the Euclidean distance between their co-occurrence vectors.

Co-occurrence calculation: The co-occurrence measures the number of unities of time that a human hi executes a task τkwhile a second human hj executes a second task τl.

Co-ocurrence(hi, τk , hj, τl) = Σt maxT co-ocurrence t(hi, τk , hj, τl)

where : co-ocurrence t(hi, τk , hj, τl) ∈ [0, 1], t is a given time (we consider discrete time) and maxT is the simulation’s duration.

The size of the vector of co-occurrence for a given simulation is Nh × (Nh - 1) × Nτ

2, where Nτ is the number of tasks and Nh is the number of humans. Each element in the vector contains a value of co-occurrence.

1: C = Simulations; 2: Copt = C ; 3: S = compute_similarity(C) 4: DVopt = Inf 5: wwhile |C| > k ddo //k is the min wanted number of clusters6: (u, v) = find_nearest_pair(C) 7: w = merge(u, v)8: update_cluster(C, u, v, w) 9: update_similarity(S, w) 10: DV =compute_Davies_Bouldin(C) 11: iif DV < DVopt 12: tthen 13: DVopt = DV 14: Copt = C 15: eend if16: eend while17: rreturn Copt

Algorithm 1. Simulations clustering

With regard to the choice of the clustering algorithm, two main families exist: the partitioning and the hierarchical algorithms [9]. The former are faster, the latter are more accurate. We choose an agglomerative algorithm from the family of hierarchical algorithms. To choose the right number of clusters (the level at which the hierarchical clustering will be stopped) we use the Davies-Bouldin criterion [10] that give good notations (the smaller the notation is the best it is) for partitions where clusters are well differentiated between them (the distance between cluster’s centers is maximized) while objects inside clusters are very similar (the distance between objects in a cluster is minimized). See the algorithm 1 for more details.

Let us present now an example of a clustering over 100 simulations by using the algorithm 1. The activity diagram shown in figure 3 corresponds to one simulation of the model considered in that example. In that model 5 humans are considered, two adults (Dad and Mom) an adolescent (Maxime)and two little girls (Juliette and Marion). The model represents a morning scenario before going to work and to school. A set of 10 tasks is considered (to lie in, to wake up, to take a shower, etc). The little girls need help to take a shower and to get dressed, it is desired that the family eats breakfast together, and it is mandatory to get dressed before leaving home. When performing the clustering on 100 simulations 9 clusters where found. In every cluster particular behaviors are highlighted.

Figure 1 depicts the time spent by Maxime and Marion to perform different groups of tasks. The values depicted correspond to the two biggest clusters. We consider four groups of tasks, the hobbies which includes to watch TV and to read, the self-cleaning tasks, which include to take a shower and to get dressed, the home-cleaning group, which includes to clean-up the bed-rooms and to make-up the bed, and the single task to lie in.

Figure 1: Example behaviors for different clusters.

Figure 2: The incremental modeling environment in the SMACH application

In figure 1, the following behaviors highlight: for the first cluster, Maxime and Marion have a “hedonic behavior”, i.e. they spend most of their time in hobbies and lying in. For the second cluster, they exhibit a more “responsible behavior”.

Interaction with a cluster: Once the clusters have been determined, the modeler must be able to interact with them. The interaction with a cluster is performed on the activity diagram of its more representative simulation, i.e. the simulation whose distance to each of the others simulations in the cluster is minimal.

C. Navigating through the models’ space: Simulations tree The last tool that we provide is intended to allow the

modeler to navigate through the different stages of the model. Every modification of the model creates an exploration branch. Every branch contains a set of simulations (and its activity diagrams as well) generated from the model at a given state in modeling process. The modeler can explore in parallel several branches; he can get back, delete any branch and interact with every branch and the activity diagrams rooted to a branch.

D. The big picture Figure 2 is a screenshot of the incremental modeling

environment proposed in the SMACH platform. On the right hand, the activity diagrams area contains the simulations recently done or the ones selected with the simulation tree. Clusters are shown in this area too. The simulation tree can be found on the bottom-left of the window and allows, for instance, the selections of the simulations to be clustered. In the middle area, the modeler can control the execution of a simulation (single, grouped, or participatory simulations) and visualize the adjustments (the model state) related to the selected simulation (red borders).

IV. SITUATED MODELING THROUGH THE ENRICHMENT OF THE CONTEXTS

A. Context based decision We present in this section our first results in situated

modeling, which aims at enriching the decision mechanism of the human agents. As shown before, human agents choose the tasks with the higher priority. Priorities are influenced by the state of the simulation at a given time, which is what we call the context. A context includes the tasks state of the human agents (done tasks, current task, future tasks), the location of

the agents, the current time, the comfort state of the rooms (light, temperature) and the electricity price that may change during a simulation. We already explained that our base model is built with only few elements of the context, which is the reason of its simplicity. During the second modeling stage, the decision mechanism should be enriched with more elements of the context in order to take into account the state of the other human agents. In the SMACH project, time and current actions of the inhabitants appear to be the most significant elements and have been chosen for the experiments presented here.

The activity diagrams offer the perfect support to receive the behavior adjustments of the modeler as it is synthetic and contains explicitly the context. Figure 3 shows how an adjustment is set. After having analyzed the simulation, the modeler right-click on the behavior to be corrected, at the precise time he wants the agent to act differently. The time of the adjustment define the context. The right click opens a contextual popup menu and the user can choose between "Don’t do" the current task or "Do" any other tasks. Several adjustments may be set on a simulation. Then a new simulation is launched and the modeler has the opportunity to compare the result with the previous simulation.

In the following experiments (executed on the morning scenario described in the previous section), the context of an adjustment contains 6 elements: the current task of each inhabitant and the time of the adjustment. An adjustment is made of one context, one task and the adjustment type (Do or Don’t do). How is it taken into account in the following simulations? Each time step, for every adjustment, a context match is computed between the simulation context and the adjustments context. A match value varies from 0 (no element matches) to 1 (the entire context matches). Then, the priority of the adjusted task receives a bonus (a penalty for “Don’t do” type) in direct proportion with the matched value. In other words, the more the contexts are similar, the more the action tends to be triggered because of the adjustment.

B. First Experiment: Lazy but hungry One of the inhabitants, Maxime, has a high preference for

liying in bed before waking up. In consequence, he tends to get up late (in average 32 minutes after the beginning of the simulation) and he usually has breakfast alone or with only one other member of the family (58% of the simulations). Let us suppose that the modeler wants to specify the behavior of Maxime in the following way: when he is in bed and hears that people are eating breakfast, he is compelled to wake up and to join the rest of the family.

Figure 3: An adjustment is set on the activity diagram of a simulation through a contextual pop up menu.

Dad alone Mom alone Together

No adjustment 31% 49% 20%

Adjustment on Mom 0% 70% 30%

Double adjustment 26% 13% 61%

Table 1: Realization of the task To clean up the kitchen by Mom and Dad.

First, the modeler has to look for the best context where to put an adjustment. Indeed, simulations in SMACH are rather non-deterministic and 2 runs with exactly the same settings will exhibit local variances. It seems appropriate in our case to choose a context where Maxime is still in bed when the others are all having breakfast together. The figure 3 shows such a context. If the adjustment is set a bit sooner, when Juliette and Marion are waking up, then the adjustment will be less effective.

We launched 30 simulations with the adjustment explained above. The most obvious result is that Maxime wake up much earlier because of the adjustment (in average 20 minutes after the beginning of the simulation). More precisely the priority of the task To wake up overtakes the priority of the task To stay in bed as soon as 3 elements of the context (over 6) match, for instance when Dad and Mom are having breakfast at a time close from the time of the adjustment. A more qualitative result in the behavior of Maxime is his new trend to have breakfast with other inhabitants (in 90% of the simulation).

Let us note that if the modeler only wanted to make Maxime wakeup earlier, it would have been a mater of balancing the preference of Maxime for the 2 tasks. The adjustment work in a different manner: for instance, if the family has breakfast later for one reason or another, then Maxime would stay in bed longer like in the base model.

C. Second experiment: One-to-one weak synchronization

The second experiment aims to synchronize 2 inhabitants. Let us recall that the model does not allow one-to-one coordination, but only global weak synchronization. Like in the previous example, the task To eat breakfast is declared collective and then agents tends to perform it together.

Mom and Dad share the action To clean up the kitchen after the breakfast. Without adjustment they rarely do it together (20% of the simulations) and the modeler wants those 2 inhabitants to perform this task together. In order to achieve this goal, we place 2 adjustments, the first one on Mom for her to clean up the kitchen in the context where Dad is already doing it, and second, reciprocally, on Dad when Mom is doing it.

The results are presented on table 1. With no adjustment, Mom cleans up alone the kitchen more often. Here there is no preference of the action involved (Mom and Dad have the same preference level for this task), it is just the dynamic of the simulation that lead Mom to choose this task more often. With a first adjustment on Mom, we note that Dad just stops to clean up the kitchen alone. More exactly, when Dad starts the action alone, Mom always joins him, because of the adjustment. But they joint performance does not increase a lot. It is when we

add the second adjustment on Dad that the joint performance exhibits a high rate (60%).

V. DISCUSSION

With those 2 examples, we demonstrate the ability to use adjustments in order to influence the behaviors in a given direction. The model is enriched with new abilities: the decision of a task can now take into account the state of the other agents. Let us stress here how complex it would be to include such conditions directly in the base model. The modeler would have to describe explicitly, for each agent and each task, the context to take into account and to deal with a complex model.

The last example of the use of adjustments teaches us that the effects of the adjustments are not trivial but understandable for someone who knows well how the model works. For instance, we did not expect that a reciprocal adjustment would be so effective. It is clear that the use of the adjustments requires a certain practice when a precise behavior is aimed for.

In its present state, adjustments are useful mainly because we kept a small context. A small context makes the right matches more likely to happen and the unwanted matches mainly invisible. Taking into account a larger context that includes done tasks for instance claims for the identification of the most significant subset of the context. In future works, we will experiment 3 ways to reduce the context.

The first solution requires the participation of the modeler. When setting an adjustment, he specifies his motivation like “Do wake up because of Marion”. In this case, the context will only contains data related to Marion. The same procedure can be found in [11].

The second solution is based on a learning rules algorithm and implicit examples. The adjustment stands for one explicit example but many examples are needed for a learning algorithm. Implicit examples of a suitable context can be built every time the adjusted action is triggered – and not adjusted. When the modeler watch several simulations and set an adjustment on one of them, the system can use tens or hundreds of implicit examples from the non-adjusted simulations and then deduce some rules, which constitute the reduced context we are looking for.

The third solution takes advantage of the clustering. Firstly clusters can be used as filters: if a simulation is classified into a given cluster, only the modifications declared for the cluster could be taken into account. Secondly clusters can be used as context generalizers: the context of a modification for a given cluster can be calculated from the intersection of the simulations contained in the cluster. The pitfall of using clusters in those cases, is that the behavior of agents evolves according the enhancements of the model and clusters can become obsolete after some modifications of the model.

VI. CONCLUSION

In this paper, we stressed the difficulties to build complex model in multi-agent based simulations and argue that an

incremental approach to this problem, which is commonly used, is not enough to deal with complexity. The incremental process needs to be computer assisted in order to save time, to guide the modeler and to make steps toward a more complex model. In the SMACH project we are working on, complex social behavior between human agents are daily modeled. Our answer to this challenge is based on a software environment and situated modeling. The software environment, on the one hand, allows the modeler to evaluate, compare and manipulate both models and their resultant simulations. Situated modeling, on the other hand, enables smooth and intuitive enhancement of the model. Some preliminary experiments show how the modeler can enrich the conditions that trigger a task and evaluate the result in few seconds. Further works will aim to take into account a larger context for situated modeling.

REFERENCES

[1] E. Amouroux, T-Q. Chu, A. Boucher and A. Drogoul, “GAMA : an environment for implementing and running spatially explicit multi-agent simulations”, 11th Pacific Rim International Conference on Multi-Agents (PRIMA), (Lecture Notes in Artificial Intelligence), Hanoi (Vietnam), 2008

[2] M.J. North, E. Tatara, N.T. Collier, and J. Ozik, “Visual Agent-based Model Development with Repast Simphony,” Proceedings of the Agent 2007 Conference on Complex Interaction and Social Emergence, Argonne National Laboratory, Argonne, IL USA (November 2007)

[3] Claudio Cioffi-Revilla, “A Methodology for Complex Social Simulations ,” Journal of Artificial Societies and Social Simulation 13(1)7, 2009.

[4] F. Sempé, M. Nguyen-Duc, A. Boucher and A. Drogoul, “An Artificial Maieutic Approach for Eliciting Expert’s Knowledge in Multi-Agent Simulation,” Revised and Invited Papers from the International workshop Multi-Agent-Based Simulation VI (MABS), J.S. Sichman & L. Antunes editors, Lectures Notes in Artificial Intelligence, volume 3891, pp. 75-87, Springer, 2006..

[5] T.-Q. Chu, A. Boucher, A. Drogoul, D.-A. Vo, H.-P. Nguyen and J.-D. Zucker, “Interactive Learning of Expert Criteria for Rescue Simulations,” Inteligent Agents and Multi-Agent Systems [Proc. of the 11th Pacific Rim International Conference on Multi-Agents (PRIMA), November 2008, Hanoi (Vietnam)], The Duy Bui, Tuong Vinh Ho & Quang Thuy Ha (Eds.), Lecture Notes in Computer Science, volume 5357, pp 127-138, Springer, 2008

[6] Y. Murakami, Y. Sugimoto and T. Ishida, “Modeling Human Behavior for Virtual Training Systems,” The Twentieth National Conference on Artificial Intelligence (AAAI-05), 2005.

[7] S. Boissau, F. Sempé, A. Boucher, A. Drogoul & F. Bousquet, “Friends and Buffaloes: One game, two modelling processes” Social Simulation: Technologies, Advances, and New Discoveries, Edmonds, Hernandez & Troitzsch editors, chapter 8, IGI Global, 2007.

[8] J-Y Young and J. Bae, “Workflow Clustering Method Based on Process Similarity,” Computational Science and Its Applications - ICCSA 2006. Lecture Notes in Computer Science, vol 3981/2006, pp 379-389, 2006.

[9] T. Hastie, R. Tibshirani & J. Friedman, The Elements of Statistical Learning (2nd ed.). New York: Springer, 2009.

[10] D.L. Davies & D.W. Bouldin, “A cluster separation measure,” IEEE Transcations on Pattern Analysis and Machine Intel ligence, 1(2):224–227, 1979.

[11] M. Nguyen-Duc, V. Duong & A. Drogoul, “Agent-based modeling and experimentation for Real-time Collaborative Decision-Making in Air Traffic Management,” in Proceedings of the 24th Congress of the Int. Council of the Aeronautical Sciences (ICAS’04), Yokohama, 200