A Multi-Agent System for the simulation of urban dynamics Julien Perret1 , Florence Curie1 , Julien Gaffuri1 , and Anne Ruas1 COGIT lab, IGN, 73, avenue de Paris, 94165 Saint-Mand´e Cedex, France
Abstract. Simulating the evolution of cities suggests the ability to understand and model the laws governing urban dynamics. The approach presented in this paper uses a multi-agent system to model the selforganising properties of urban systems. The proposed multi-agent system is a hierarchy of topographic agents (e.g. buildings, roads, rivers or urban blocks) that are built, modified, merged, split, restructured and destroyed over time. Each agent’s behaviour is controlled by a set of constraints and associated actions. In the proposed system, only topographic objects are taken into account, assuming a certain independence between society and the urban form (morphology) as well as a delay between the action of the society on the urban form and the feedback of the latter to the former. Keywords: complex systems, urban systems, urban dynamics, urban simulation, multi-agent systems.
Introduction Urban systems as complex sytems
Urban systems are extremely complex systems composed of a very large number of parts at several geographic, social and economic levels . All actors participating in the elaboration of urban development policies are dealing with this complexity every day. Constraints on urban development stemming from sustainable development reinforce the need for a better understanding of urban systems and for better tools to anticipate their future evolution. The development of complexity theory [2, 3] has provided a rich theoretical framework for a wide range of traditional as well as interdisciplinary scientific fields. Such fields include computer simulation applied to social sciences  and urban systems , biology , but also artificial organic system growth , behavioural animation  and many more. 1.2
The GeOpenSim project
The GeOpenSim project aims at developing original models to analyse urban evolutions from historical databases and to simulate urban dynamics based on the observed evolutions and hypotheses . Historical databases are built using
recent topographic databases as well as historical aerial photographs and maps. These spatio-temporal databases are analysed in order to identify evolution rules at an aggregate level (e.g. cities and urban blocks) as well as statistics on specific items such as buildings. Each simulation is parametrised with such evolution rules, either directly produced by automatic analysis or specified by experts.
The simulation of urban dynamics using a Multi-Agent System From cellular automata to vector agents
The simulation of urban dynamics has been widely studied in the last decades. In particular, cellular automata have been extensively used in urban simulation and allowed the simulation of various and complex phenomena such as urban growth and segregation [10–14]. Nevertheless, as pointed out by several authors, cellular automata assume a certain homogeneity of space and neighbourhood and several models were proposed in order to integrate the influence of the urban network and spatial constraints on the accessibility of the cells of the automata . Finally, the introduction of graph-based cellular automata [16–18] allows to better take into account the neighbourhoods of geographical objects and the irregularity of the urban structure. The contribution of our approach to these relies in the use of hierarchical structures allowing for emergent behaviours at the micro level (building, roads, etc.) as well as regulating behaviours at several meso levels (building block, districts, etc.). 2.2
A hierarchical Multi-Agent System
The multi-agent system proposed in this paper is greatly inspired by previous work on automated map generalisation [19–21]. These automated map generalisation models use a hierarchical multi-agent system which transforms cartographic objects in order to produce a legible map. In such systems, agents have to balance legibility constraints with preservation constraints that preserve the global accuracy of the map. Legibility constraints are fixed depending on perception criteria, the scale of the resulting map as well as cartographic knowledge. The constraints involved in urban simulation are thus very different. Indeed, in the context on urban dynamics, legibility constraints do not apply and preservation constraints, when they are used have a different goal and bear a different meaning. In fact, in our multi-agent system, preservation constraints are used to preserve a certain organisation in a meso object. For instance, when densifying an urban block, such constraints can be used to ensure that the densified urban block is structurally similar to the initial one. On the contrary, preservation constraints can be lifted when the objective type of the urban block differs from its initial type, which is the case for urban renewal. Building from an existing and well-tried model, the multi-agent system has been adapted and enhanced with several features including evolution rules and populating functions.
Evolution rules and strategies
In order to set appropriate goals to agents, evolution rules are defined, either by analysis of spatio-temporal data or by expert knowledge. These rules are the equivalent of transition rule in cellular automata, taking into account the neighbourhood of each agent as well as the type of the agent and the dates at which the evolution takes place. Indeed, evolution rules are defined for a specific period of time which allows for the use of different evolutions both in speed (growth is not constant in time) and in nature (building blocks are densified differently in different parts of the city but also in different times depending on urban regulations, building techniques, etc.). Populating functions are defined in order to model the different strategies agents can use to evolve. Such functions can, for instance, specify the way urban blocks densify themselves, either by reproducing the existing internal structure, by restructuring themselves or by diversifying their structure.
Agents, rules, constraints and actions
The goal of our approach is not directly to model specific knowledge on urban dynamics. Our approach aims at providing a Multi-Agent System capable of testing and evaluating such knowledge in the form of evolution rules and evolution functions. Therefore, we propose a formalism to implement this knowledge.
From buildings to cities
As presented previously, the GeOpenSim model is based on the use of several levels: city, districts, blocks, micro objects (mainly buildings and roads). Topographic databases usually contain almost only micro objects. The objects of the meso levels are built hierarchically using the methods proposed by Boffet  (see figure 1). Some other patterns of micro objects such as buildings alignments are used too.
Fig. 1. The different levels of the GeOpenSim model: city, district, block, building and road
At each level of the complex system, objects have their own dynamics, different agents have their own ways to evolve. The GeOpenSim project focuses on the evolution of some morphologic characteristics of these objects. Some of the considered morphologic characteristics are listed below: – City: built-up surface, composition (housing rate, industrial rate, etc.), accessibility, etc. – Districts: composition (industrial, housing, city center), buildings shape, etc. – Blocks: density, buildings shape, composition, accessibility, empty spaces, etc. – Buildings: nature (industrial, housing), shape and size indicators (area, elongation, orientation, etc.). The GeOpenSim model uses several databases representing the same city at different dates. By building and comparing the objects of the different levels at different dates, the way the city has evolved in the past can be analysed (automatically using machine learning or by experts). This knowledge on urban dynamics is formalized into evolution rules. The evolution rules give an overview of how the morphological characteristics of the objects have evolved in the past. For example, the growth rate of a city during a time period can be analised, as well as the fact that an industrial district has turned into a residential one, the fact that a given urban block has been first urbanized with small houses, and then with bigger buildings, etc. These evolution rules can then be used to simulate the evolution of the city. 3.2
An agent’s lifecycle
To simulate the evolution of the city, its state for date t + δt is computed from its state at date t. Evolution functions express the behaviour of agents’ characteristics over time. To compute the state of a city at date t + δt , a copy of the previous state is made and then modified using evolution actions. Nevertheless, the state computed using evolution rules is not the final state but rather a view of the target state. Indeed, each evolution function only represent a certain view of the evolution of an object. First because the evolution of characteristics such as urban blocks density, urban blocks type (land cover) or urban blocks accessibility all represent different points of view on the same phenomenon but might not be able to fully represent in a single equation the full complexity of the phenomenon. Second because increasing the density of an urban block does not actually add buildings to it, the simulation at the micro level still has to be successfull. This is, in fact, the place where emergent properties of the system can occur: the meso levels set target values but are still constrained by the evolutions of the micro level. For instance, if at the micro level, building agents are constrained to keep a distance of 100 meters between them, a high density of urban blocks will never be achieved and therefore, if the city wants to increase its built area, it might have to look for low density urban blocks to add new
buildings. Therefore, the actual evolution agents go through in order to fulfill all these (possibly conflicting) evolutions is simulated as a constraint solving problem. In order to obtain a new state, each agent has a set of constraints assigned to its evolving morphological characteristics. The target value of these constraints is given by the evolution rules or, possibly, by an existing meso agent the agent belongs to. The purpose of the agent is to transform itself in order to have its constraints satisfied. To do that, the agent will autonomously apply some evolution actions, and check the effect of this application on its constraints in order to get a state where all these constraints are satisfied at best. The agent’s lifecycle is illustrated in figure 2. Through this lifecycle, the agent tries several actions in order to make its constraints satisfied.
Fig. 2. Agent lifecycle.
Figure 3 gives an example of the way the new state of a block agent is computed. An evolution rule on this agent demands it density to increase of ∆. At the date t + δt , the agent is unsatisfied. Some actions are tried by the agent during its lifecycle and provide a set of new states. The best one, where the constraint on the density is now satisfied, is selected as the state of the agent at the date t + δt . Figure 4 illustrates the simulation of the densification of an urban block. 3.3
Regulation, interaction and emergence
All agents of the hierarchy have the same lifecycle: they all have constraints on their morphological characteristics and try actions to satisfy their constraints. Meso agents have a specific action related to their components. They are able
Fig. 3. An urban block agent with evolutions rules setting a target density of d + ∆ (with d the intial densisty). In order to satisfy its density constraint, the agent tries different actions and chooses the one that produces the best constraint satisfaction.
Fig. 4. A city block densification.
to tune the target values of their components’ constraints, and to activate them. Component agents try to satisfy the constraints assigned by their parent meso agent: its meso controller. If a component is not able to satisfy its meso request, it notifies its meso agent of the failure. The meso can then try another action, by, for instance, trying to change the constraint target values of other components and activating them. This mechanism enables interactions between different hierarchical levels. Interactions are also possible between micro agents and more generally by agents of the same hierarchical level. For instance, buildings and road are able to perceive their environment to analyse their context. A newly created building tries to be close enough to a road to satisfy its accessibility constraint, a building that is created in a block tries, if specified by such an evolution rule, to have the same morphological characteristics as its neighbours, a road tries to be connected to the network, etc. The combination of these interactions allows complex urban dynamics to be obtained. For example, we could consider a city whose evolution has been analysed using some historical data. We suppose that the built-up area of this city increases of 0.5% each year, with a constant ratio of housing and industrial buildings. To compute the evolution of the city from date t to date t + δt , the city agent is constrained to have its built-up area increased of 0.5% and its composition preserved. When it is activated, the city agent will be unsatisfied and will try to evolve until its constraint is satisfied. The action it will trigger could be, for instance, to find the best district where new buildings will be built. This district could be chosen using different strategies, for instance: – urban growth: in this case, the chosen district will be a peripheral one. New buildings will be created outside the city. The city will grow. – urban densification: in this case, the chosen district, more central, will be densified. New buildings will be created where empty spaces with a good accessibility are present, or some small buildings will be destroyed and replaced by bigger ones. The selected district will then decide which of its blocks to activate with a new target value on their density. These blocks will then create buildings inside themselves as presented in figure 3. If the city is organized into, for example, housing and industrial districts, some of the new urbanized surface could be affected to some of these districts. If all industrial districts are too dense for new industrial buildings to be created inside them, the city could then decide the creation of a new industrial district, or the creation of industrial buildings into a housing district, thus diversifying the district. This simple example shows that the rules used at the micro level (here to create new buildings) can have an effect at a larger scale and give birth to emergent behaviours of the system.
Evolution rules application
Evolution rules can be used at different levels to model different aspects of the evolution of urban space. In this section, two simple evolution rules are
illustrated. The illustrated rules are comparable to cellulat automata rules, but the neighbourhood they take into account is topological. The first rule affects city blocks density 5. This exemple shows an exagerated urban growth where urban blocks tend to the maximum of the density of their neighbourhood.
Fig. 5. Applying a simple evolution rule to city blocks to set a target density value. As in cellular automata, initial city blocks neighbourhoods (left) are used to affect target values (right).
The evolution rules can also concern other characteristics than the density such as the urban blocks type. In this example, we consider the evolution of the land cover of a district with different types of block. The classification of urban blocks used here is largely based on the nomenclature of EU land cover database (Corine Land Cover) . We considered 4 simple classes: continuous urban fabric, discontinuous urban fabric (in red in figure 6), industrial or commercial units (in magenta in figure 6) and agricultural areas (in yellow in figure 6). To increase the density of an urban block, new buildings have to created into the block. The kind of the erected buildings depends on the type of the block. In the case of agricultural area, there is no information on the kind of buildings to add. In this example, we consider a very simple rule that fixes the goal type of an agricultural block according to the type of its neighbours. The same urban block can be constrained by several evolution rules: for example by a rule on the density and by another on the type of block. These evolution rules can be complementary, as it is the case if the rules increase the density of a discontinuous urban fabric block. But they can also be in contradiction, by example, if they constraint an increase of the density of an agricultural area. In this case, the result of the simulation cannot be predicted and mainly depends on the behaviours of micro objects allowing emergent phenomena.
Fig. 6. Applying a simple evolution rule to city blocks to set a target land cover type. As in cellular automata, initial city blocks neighbourhoods (left) are used to affect target values (right). Here, the illustrated rule states that agricultural areas with a neoghbourhood dominatedby discontinuous urban fabric tend to become discontinuous urban fabric.
Conclusion and perspectives
In this paper, an original Multi Agent System for the simulation of urban dynamics as a complex system was proposed. The dynamics of the simulation is controlled by high level evolution rules taking into account the environment of each sub-system. These rules are combined with a constraint-based approach to reach the target values fixed by the rules. The intention of this paper is not to propose new geographical knowledge but a framework to implement and evaluate hypotheses on urban dynamics. Indeed, these evolution rules can be used for simulation and the results compared to real data. In this paper, simple evolution rules were used to illustrate the possibilities of the system. Nevertheless, evolution rules can be defined by experts but also analysed from historical databases. An important effort is being given in these areas to offer sufficient freedom to expert to specify their own evolution rules but also to automatically learn new rules from historical databases using machine learning and calibrate them as well as the constraints and their associated actions with real evolutions. Future work will also be done to go further: new constraints, new spatial analysis methods, new evolution functions and new populating functions will be implemented and tested. Finally, GeOpenSim provides a model to deal with different levels of a single city, from urban districts, to buildings and roads. A first extension of the model would be to include the city under study into a system of cities . As mentioned before, in order to study the urban form independantly, one has to assume a certain independance between society and the urban form [25, 26]. The second extension of the model would therefore concern the integration of social agents into the simulation [27, 28]. Such a system, using both morphological and social agents, would allow to study the impact of society on the urban form and the
feedback of the latter to the former. Other sources of data such as economic data (estate market) could also be taken into account and their impact, as well as the impact of planning regulation of the evolution of the urban form.
References 1. Th´eriault, M., Des Rosiers, F.: Information g´eographique et dynamiques urbaines 1 : analyse et simulation de la mobilit´e des personnes. Trait´e IGAT, s´erie Am´enagement et gestion du territoire, Herm`es - Lavoisier, 290 pages (2008) 2. Bertalanffy, L. von: General System Theory. Penguin Books, Harmondsworth, Middlesex, UK (1972) 3. Morin, E.: Introduction a ` la pens´ee complexe. Seuil, 158 pages (2005) 4. Gilbert, N., Troitszch, K.G.: Simulation for the social scientist. Open University Press, 295 pages (1999, 2005) 5. Batty, M.: Cities and Complexity: Understanding Cities with Cellular Automata, Agent-Based Models, and Fractals. MIT Press, 584 pages (2007) 6. Monod, J.: Le Hasard et la N´ecessit´e. Essai sur la philosophie naturelle de la biologie moderne Seuil (1970) 7. Doursat, R.: Organically grown architectures: Creating decentralized, autonomous systems by embryomorphic engineering. In: Organic Computing, R. P. W¨ urtz, ed., pp. 167-200, Springer-Verlag (2008) 8. Lamarche, F., Donikian, S.: Automatic Orchestration of Behaviours through the management of Resources and Priority Levels. In: Autonomous Agents and Multi Agent Systems. ACM, Bologna, Italy (2002) 9. Perret, J., Boffet-Mas, A., Ruas, A.: Understanding Urban Dynamics: the use of vector topographic databases and the creation of spatio-temporal databases. In Proceedings of the 24th International Cartography Conference (ICC’09) (2009) 10. Couclelis, H.: From cellular automata to urban models: new principles for model development and implementation. Environment and Planning B: Planning and Design 24 (2), 165-174 (1997) 11. White, R., Engelen, G.: Cellular automata as the basis of integrated dynamic regional modelling. Environment and Planning B: Planning and Design 24 (2), 235246 (1997) 12. Batty, M., Barros, J., Alves, S.: Cities: continuity, transformation and emergence. Working paper. CASA Working Papers (72). Centre for Advanced Spatial Analysis (UCL), London, UK (2004) 13. Batty, M.: Cities as complex systems: scaling, interactions, networks, dynamics and urban morphologies. Working paper. CASA Working Papers (131). Centre for Advanced Spatial Analysis (UCL), London, UK (2008) 14. Werner, P.: Application of Cellular Automata and Map Algebra in Studies of Land Use Changes. The Neighborhood Coefficients Method. Geoinformatica Polonica, vol.9., Polska Akademia Umiejtnoci - Wydawnictwo, Krakw (2009) 15. Batty M., Xie Y.: Possible urban automata. Environment and Planning B : Planning and Design, vol.24, n2, p.175-192 (1997) 16. O’Sullivan, D.: Graph-based cellular automata models of urban spatial processes. Ph.D. Thesis. University College London, London (2000) 17. O’Sullivan, D.: Exploring spatial process dynamics using irregular cellular automaton models. Environment and Planning B : Planning and Design, vol.28, p. 687-705 (2001)
11 18. Badariotti, A., Banos, A., Moreno, D.: Conception d’un automate cellulaire non stationnaire ` a base de graphe pour mod´eliser la structure spatiale urbaine: le mod`ele Remus. Cybergeo, S´election des meilleurs articles de SAGEO 2006, article 403 (2007) 19. Lamy, S., Ruas, A., Demazeau, Y., Baeijs, C., Jackson, M., Mackaness, W., Weibel, R.: Agent project: Automated generalisation new technology, in 5th EC-GIS Workshop, Stresa, Italy (1999) 20. Duchˆene, C., Gaffuri, J.: Combining three multi-agent based generalisation models: Agent, cartacom and gael. In: Ruas, A., Gold, C. (Eds.), Headway in Spatial Data Handling. pp. 277-296 (2008) 21. Gaffuri, J.: Three reuse example of a generic deformation model in map generalisation. In Proceedings of the 24th International Cartographic Conference, Santiago, Chile (2009) 22. Boffet, A.: M´ethode de cr´eation d’informations multi-niveaux pour la g´en´eralisation cartographique de l’urbain Marne la Vall´ee Paris Est university, COGIT laboratory (2001) 23. Bossard, M., Feranec, J., Otahel, J.: CORINE land cover technical guide - Addendum 2000 Technical report No 40, EEA (European Environment Agency) (2000) 24. Sanders, L., Favaro, J.-M., Mathian, H., Pumain, D., Glisse, B.: Intelligence artificielle et agents collectifs : le mod`ele EUROSIM Cybergeo, S´election des meilleurs articles de SAGEO 2005 (2007) 25. Roncayolo M.: Lectures de villes, formes et temps. Eupalinos, Parenth`eses, Paris, 386 pages (2002) 26. Ducom E.: Le mod`ele des ceintures limitrophes (fringe belts) : une application aux villes fran¸caises. PhD Thesis, Universit´e de Rennes 2 Haute Bretagne, 292 pages (2005) 27. Holmes, E., Holme, K., M¨ akil¨ a, K., Kauppi Mattson M., M¨ ortvik, G.: The sverige spatial microsimulation model, content, validation, and example applications Umea university, gerum kulturgeografi (2002) 28. INSEE Direction des Etudes et Synth`eses Economiques: Le mod`ele de microsimulation dynamique DESTINIE S´erie des documents de travail de la Direction des Etudes et Synth`eses Economiques (1999)