Spatial Dynamical Modelling with TerraME Lectures 4: Agent-based modelling Gilberto Câmara
Agent-based modelling with TerraME
What are complex adaptive systems?
Agent Agent: flexible, interacting and autonomous An agent is any actor within an environment, any entity that can affect itself, the environment and other agents.
Agents: autonomy, flexibility, interaction Synchronization of fireflies
Agents: autonomy, flexibility, interaction football players
Agent-Based Modelling Goal Environment Representations Communication Action Perception Communication Gilbert, 2003
Agents are… Identifiable and self-contained Goal-oriented Does not simply act in response to the environment Situated Living in an environment with which interacts with other agents Communicative/Socially aware Communicates with other agents Autonomous Exercises control over its own actions
Bird Flocking No central authority: Each bird reacts to its neighbor Bottom-up: not possible to model the flock in a global manner. It is necessary to simulate the INTERACTION between the individuals
Bird Flocking: Reynolds Model (1987) Cohesion: steer to move toward the average position of local flockmates Separation: steer to avoid crowding local flockmates Alignment: steer towards the average heading of local flockmates
Agents changing the landscape
Complex Adaptive Systems: Humans as Ants Cellular Automata: Matrix, Neighbourhood, Set of discrete states, Set of transition rules, Discrete time. “CAs contain enough complexity to simulate surprising and novel change as reflected in emergent phenomena” (Mike Batty) Simple agents following simple rules can generate amazingly complex structures.
Characteristics of CA models (1) Self-organising systems with emergent properties: locally defined rules resulting in macroscopic ordered structures. Massive amounts of individual actions result in the spatial structures that we know and recognise;
Characteristics of CA models (1) Wolfram (1984): 4 classes of states: (1) homogeneous or single equilibrium (2) periodic states (3) chaotic states (4) edge-of-chaos: localised structures, with organized complexity.
Bird Flocking Reynolds Model (1987) Animation example
Swarm
Repast
Netlogo
TerraME
Segregation Segregation is an outcome of individual choices But high levels of segregation indicate mean that people are prejudiced?
An Example: The Majority Model for Segregation Start with a CA with “white” and “black” cells (random) The new cell state is the state of the majority of the cell’s Moore neighbours, or the cell’s previous state if the neighbours are equally divided between “white” and “black” White cells change to black if there are five or more black neighbours Black cells change to white if there are five or more white neighbours What is the result after 50 iterations? How long will it take for a stable state to occur?
The Modified Majority Model for Segregation Include random individual variation Some individuals are more susceptible to their neighbours than others In general, white cells with five neighbours change to black, but: Some “white” cells change to black if there are only four “black” neighbours Some “white” cells change to black only if there are six “black” neighbours Variation of individual difference What happens in this case after 50 iterations and 500 iterations?
Schelling’s Model of Segregation Schelling (1971) demonstrates a theory to explain the persistence of racial segregation in an environment of growing tolerance If individuals will tolerate racial diversity, but will not tolerate being in a minority in their locality, segregation will still be the equilibrium situation
Schelling’s Model of Segregation < 1/3 Micro-level rules of the game Stay if at least a third of neighbors are “kin” Move to random location otherwise
Tolerance values above 30%: formation of ghettos Schelling’s Model of Segregation
References J. Zhang. Residential segregation in an all-integrationist world. Journal of Economic Behaviour & Organization, v. 54 pp T. C. Shelling. Micromotives and Macrobehavior. Norton, New York. 1978
Zhang: Residential segregation in an all- integrationist world Some studies show that most people prefer to live in a non-segregated society. Why there is so much segregation?
Satisfaction
Agents moving
Simulation
Vizinhança e Segregação
Development of Agent- based models in TerraME
Emergence source: (Bonabeau, 2002) “Can you grow it?” (Epstein; Axtell; 1996)
Epstein (Generative Social Science) If you didn´t grow it, you didn´t explain its generation Agent-based model Generate a macro-structure Agents = properties of each agent + rules of interaction Target = macrostruture M that represents a plausible pattern in the real-world
Scientific method Science proceeds by conjectures and refutations (Popper)
Explanation and Generative Sufficiency Macrostructure Spatial segregation Bird flocking Agent model A1 Agent model A2 Agent model A3 ? Refutation Conjectures ?
Explanation and Generative Sufficiency Macrostructure Occam´s razor: "entia non sunt multiplicanda praeter necessitatem", or "entities should not be multiplied beyond necessity ". Agent model A1 Agent model A2 ?
Explanation and Generative Sufficiency Macrostructure Popper´s view "We prefer simpler theories to more complex ones because their empirical content is greater and because they are better testable" Agent model A1 Agent model A2 ?
Explanation and Generative Sufficiency Macrostructure Einstein´s rule: The supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience" "Theories should be as simple as possible, but no simpler. Agent model A1 Agent model A2 ?
TerraME extension for agent-based modelling ForEachAgent = function(agents, func, event) nagents = table.getn(agents) for i = 1, nagents do func (agents[i],(event)) end Replicate = function(agent, nagents) ag = {} for i = 1, nagents do ag[i] = agent() ag[i].id = i end return ag end (contained in file agent.lua)
ABM example Urban Dynamics in Latin American cities: an agent ‐ based simulation approach Joana Barros
Latin American cities High speed of urban growth (urbanization) Poverty + spontaneous settlements Poor control of policies upon the development process Spatial result: fragmented set of patches, with different morphological patterns often disconnected from each other that mutate and evolve in time.
Peripherization São Paulo - Brasil Caracas - Venezuela Process in which the city grows by the addition of low ‐ income residential areas in the peripheral ring. These areas are slowly incorporated to the city by spatial expansion, occupied by a higher economic group while new low ‐ income settlements keep emerging on the periphery..
Urban growth “Urban sprawl” in United States “Urban sprawl”in Europe (UK) Peripherization in Latin America (Brazil)
Research question How does this process happen in space and time? How space is shaped by individual decisions? Complexity approach Time + Space automata model Social issues agent ‐ based simulation )
The Peripherisation Model Four modules: Peripherisation module Spontaneous settlements module Inner city processes module Spatial constraints module
Peripherization moduls reproduces the process of expulsion and expansion by simulating the residential locational processes of 3 distinct economic groups. assumes that despite the economic differences all agents have the same locational preferences. They all want to locate close to the best areas in the city which in Latin America means to be close to high ‐ income areas all agents have the same preferences but different restrictions
Peripherization module: rules 1. proportion of agents per group is defined as a parameter 2. high ‐ income agent –can locate anywhere 3. medium ‐ income agent –can locate anywhere except on high ‐ income places 4. low ‐ income agent –can locate only in the vacant space 5. agents can occupy another agent’s cell: then the latter is evicted and must find another
Peripherization module: rules
Spatial pattern: the rules do not suggests that the spatial outcome of the model would be a segregated pattern Approximates the spatial structure found in the residential locational pattern of Latin American cities multiple initial seeds ‐ resembles certain characteristics of metropolitan areas
Comparison with reality Maps of income distribution for São Paulo, Brazil (census 2000) Maps A and B: quantile breaks (3 and 6 ranges) Maps C and D: natural breaks (3 and 6 ranges) No definition of economic groups or social classes
TerraME extension for agent-based modelling ForEachAgent = function(agents, func, event) nagents = table.getn(agents) for i = 1, nagents do func (agents[i],(event)) end Replicate = function(agent, nagents) ag = {} for i = 1, nagents do ag[i] = agent() ag[i].id = i end return ag end (contained in file agent.lua)