Rouen Experiment - November 2015
- In order to validate our architecture, we carried out an experiment with six modelers with different backgrounds: 3 computer scientists, and 3 geographers, all of whom knew GAMA (at least the basic concepts).
Two of them have a low level of programming (2 geographers) and four a good level (1 geographer and 3 computer scientists).
All of them have at least a low (2) or medium (3) level in GAMA (they know at least the basic concepts), the last one being an expert.
Only the 3 computer scientists know the BDI paradigm.
This experiment consisted in a short lesson (45 minutes) about the simpleBDI architecture, followed by an exercise which required to use this architecture (2 hours). At the end of the exercise, each participant answered a short survey to assess the architecture (with both open questions and closed scaled assessments). All these documents (introduction course, exercise, models developed by the different modelers, and their answers to the questionnaire) as well as a possible solution for the exercise are available here
The presentation of the simpleBDI architecture used a simple gold miner model to present the underlying concepts. Then the exercise theme was the evacuation of the city of Rouen (France). A technological hazard is simulated in one of the buildings of the city center. Drivers can perceive the hazard at a distance of 400 meters. Those who know that there is a hazard try to reach one of the evacuation sites (shelters). A driver who sees (in a radius of 10 meters) another driver trying to evacuate has a small chance to understand that a hazard is happening.
The participants were given a first basic model of that situation, containing four species of agents: road, hazard, evacuation site and driver. The behavior of the driver agents is defined by a single reflex executed at each simulation step: the agent moves towards a random target (any point on the road network), and if it reaches its destination, it chooses a new random target. A weighted graph is used for the movement of drivers: they first compute the shortest path between their location and their target, then use this path to move. The weights of the edges of the graph (roads) are updated every 10 simulation steps to take into account the number of drivers on each road. The agent speed on each road is a function of the number of drivers on this road and its maximum capacity. If a driver already has a computed path, it will not recompute it even if the weights of that path change. At the initialization of the model, the roads (154), evacuation sites (7) and the hazard (1) agents are created and initialized using shapefiles; then 500 driver agents are created and randomly placed on the roads. In this first basic model, drivers do not perceive the hazard and do not try to reach evacuation sites; they just keep moving randomly.
The exercise was composed of two steps of increasing difficulty
Step 1: modification of the behaviors of the driver agents, in order to:
- make them aware of the hazard: via its direct perception (with a probability of 0.2 if they are in a radius of 400m) or indirectly when they see other driver agents trying to reach an evacuation site (with a probability of 0.01 in a radius of 10m);
- make them try to reach the closest shelter (euclidean distance) when they know that there is a hazard.
Step 2: modification of the behaviors of the driver agents and of the evacuation site, so that:
- if a driver agent trying to reach a shelter thinks that its road is blocked (speed coefficient lower than 0.5), then it should test a new path (re-computation of the path according to the current weights of the graph);
- drivers take into account the maximum capacity of the evacuation sites (50 drivers each). To know that an evacuation site is full, drivers have to be less than 20 meters away from it.