Agentbased models and social simulation Gilberto Cmara Tiago
Agent-based models and social simulation Gilberto Câmara Tiago Carneiro Pedro Andrade Licence: Creative Commons By Attribution Non Commercial Share Alike http: //creativecommons. org/licenses/by‐nc‐sa/2. 5/
Where does this image come from?
Where does this image come from? Map of the web (Barabasi) (could be brain connections)
Information flows in Nature Ant colonies live in a chemical world
Conections and flows are universal Yeast proteins (Barabasi and Boneabau, Sci. Am, 2003) Scientists in Silicon Valley (Fleming and Marx, Calif Mngt Rew, 2006)
Information flows in the brain Neurons transmit electrical information, which generate conscience and emotions
Information flows generate cooperation Foto: National Cancer Institute, EUA http: //visualsonline. cancer. gov/ White cells attact a cancer cell (cooperative activity)
Information flows in planet Earth Mass and energy transfer between points in the planet
Complex adaptative systems How come that an ecosystem with all its diverse species functions and exhibits patterns of regularity? How come that a city with many inhabitants functions and exhibits patterns of regularity?
What are complex adaptive systems? Systems composed of many interacting parts that evolve and adapt over time. Organized behavior emerges from the simultaneous interactions of parts without any global plan.
What are complex adaptive systems?
Universal Computing studies information flows in natural systems. . . and how to represent and work with information flows in artificial systems
Agents as basis for complex systems An agent is any actor within an environment, any entity that can affect itself, the environment and other agents. Agent: flexible, interacting and autonomous
Agent-Based Modelling Representations Goal Communication Action Perception Environment Gilbert, 2003
Agents: autonomy, flexibility, interaction Synchronization of fireflies
Why is it interesting? Structure structure is emergent from agent interaction this can be directly modeled Agency agents have goals, beliefs and act this can be directly modeled Dynamics things change, develop, evolve agents move (in space and social location) and learn these can be directly modeled Source: (Gilbert, 2006)
Is it qualitative or quantitative? Agent-based models can handle all types of data quantitative attributes age size of organization qualitative ordinal or categorical (e. g. ethnicity), relational (e. g. I am linked to him and her) vague A sends B a message about one time in three Source: (Gilbert, 2006)
It has been used in different areas of science economy sociology archaeology ecology linguistics political sciences . . .
Source: http: //www. leggmason. com/thoughtleaderforum/2004/conference/transcripts/arthur_trans. asp
Agents changing the landscape An individual, household, or institution that takes specific actions according to its own decision rules which drive land‐cover change.
Four types of agents Artificial agents, artificial environment Artificial agents, natural environment Natural agents, artificial environment Natural Agents, natural environment fonte: Helen Couclelis (UCSB)
Four types of agents e‐science Artificial agents, artificial environment Behavioral Experiments Natural agents, artificial environment Engineering Applications Artificial agents, natural environment Descriptive Model Natural Agents, natural environment fonte: Helen Couclelis (UCSB)
Is computer science universal? Modelling information flows in nature is computer science http: //www. red 3 d. com/cwr/boids/
Bird Flocking (Reynolds) Example of a computational model 1. No central autority 2. Each bird reacts to its neighbor 3. Model based on bottom up interactions http: //www. red 3 d. com/cwr/boids/
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 www. red 3 d. com/cwr/boids/
Agents moving
Agents moving
Agents moving
Schelling segregation model
Segregation Some studies show that most people prefer to live in a non‐segregated society. Why there is so much segregation?
Segregation is an outcome of individual choices But high levels of segregation indicate mean that people are prejudiced?
Schelling’s Model of Segregation Micro-level rules of the game Stay if at least a third of neighbors are “kin” < 1/3 Move to random location otherwise
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 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 White cells change to black if there are X or more black neighbours Black cells change to white if there are X or more white neighbours How long will it take for a stable state to occur?
Schelling’s Model of Segregation Tolerance values above 30%: formation of ghettos
ABM in Terra. ME: Types and Functions
Terra. ME: nature-society modelling Agent Space Nature represented in cellular spaces, society represented as agents T. Carneiro, P. Andrade, et al. , “An extensible toolbox for modeling nature‐society interactions”. Enviromental Modelling and Software, 2013 (Two Ph. Ds).
Types in Terra. Lib ecosystem: new tools, new types 2014 Time Series Trajectory Cellular Space 2010 Agent Social Network Object Geometry 2002 Event Coverage
for. Each. Relative for. Each. Cell Agent for. Each. Neighbor Cell for. Each. Agent for. Each. Cell Society Cellular. Space Group Trajectory DBMS
Agents within cells agents = cell: get. Agents() if #(agents) == 0 then -- empty agent: leave(oldcell) agent: enter(cell) end
Society CBB CAC CBA CCB ACA CCC AAC BBC AAA 上海宋 BBA BAB
Society create. Agent = function(capital) return Agent { capital = capital, --. . . } end data = {} data[1] = 100; data[2] = 50; data[3] = 25 mag = Society(create. Agent, data) capital = 100 capital = 50 capital = 25 mag = Society(create. Agent, 50)
Society function create. Agent (capital) person = Agent { init = function (self), --. . . } end data = {} data[1] = 100; data[2] = 50; data[3] = 25 mag = Society(create. Agent, data) capital = 100 capital = 50 capital = 25
Group CBB CAC CBA CCB ACA CCC AAC BBC AAA BBA ABC BAB
Group g = Group{mag, function(agent) return agent. capital > 40 end, function(a 1, a 2) return a 1. capital > a 2. capital end } capital = 100 capital = 50 capital = 25
Traversing the Society capital = 100 capital = 50 capital = 25 for. Each. Agent(mag, function(agent) agent. capital = agent. capital + 100 end) capital = 200 capital = 150 capital = 125
Emergence “Can you grow it? ” (Epstein; Axtell; 1996) source: (Bonabeau, 2002)
Epstein (Generative Social Science) • If you didn´t grow it, you didn´t explain its generation • Agent-based model Generate a macrostructure • 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 Conjectures Agent model A 1 Macrostructure ? Agent model A 2 Agent model A 3 Spatial segregation Bird flocking ? Refutation
Explanation and Generative Sufficiency Agent model A 1 Macrostructure ? Agent model A 2 Occam´s razor: "entia non sunt multiplicanda praeter necessitatem", or "entities should not be multiplied beyond necessity".
Explanation and Generative Sufficiency Agent model A 1 Macrostructure ? Agent model A 2 Popper´s view "We prefer simpler theories to more complex ones because their empirical content is greater and because they are better testable"
Explanation and Generative Sufficiency Agent model A 1 Macrostructure ? Agent model A 2 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.
Urban Growth in Latin American cities: exploring urban dynamics through agent-based simulation Joana Xavier Barros
Latin American cities ü ü High rates of urban growth (rapid urbanization) Poverty + spontaneous settlements (slums) Poor control of public policies on urban development Fragmented urban fabric with different and disconnected morphological patterns that evolve and transform over time.
Peripherization 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. . São Paulo - Brasil Caracas - Venezuela
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)
Model: Growth of Latin American cities Peripherisation module Spontaneous settlements module Inner city processes module Spatial constraints module
Peripherization module • • • 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
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
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
Processos intra-urbanos – exercícios de simulação • • Estudo comparativo entre dois padrões diferentes de desenvolvimento urbano: urban sprawl nas cidades dos EUA e Europa e o crescimento urbano das cidades latino‐americanas. Objetivo de testar hipóteses e teorias sobre processos intra‐urbanos de transformação urbana em áreas residenciais e verificar a aplicabilidade dessas teorias para cidades de diferentes culturas. Cidade latino-americana 10 40 50 d=3 steps = 2 steps 2 = 4 steps 3 = 2 decay. Start. Point = 800 consolidation. Limit = 600 Cidade EUA e Europa steps 3 = 8 decay. Start. Point = 400 consolidation. Limit = 400 40 50 10 d=2 steps = 2 steps 2 = 7
Processos intra-urbanos – exercícios de simulação • • • Processos de filtragem, decadência do centro, e movimento das elites em direção ao anel periférico são de natureza semelhante em ambas cidades. O padrão locacional espacial reverso parece ser causado por uma combinação de diferenças em grau em processos de natureza similar. As diferenças na composição das sociedades urbanas de cada país parece exercer um grande impacto no resultado desses processos no padrão espacial urbano de localização residencial.
Módulo de Barreiras Espaciais • Introduz barreiras espaciais ao modelo de simulação Barreiras espaciais corpos de água, áreas com altas declividades, or qualquer outra área onde a urbanização é impossível • Implementação feita através da introdução de “áreas cinzas” como condição inicial. • Agent’s rules: • • Agentes não se assentam ou caminham em sobre as áreas cinzas Para cada movimento que os agentes fazem em direção a uma nova célula, eles checam se a nova posição é uma célula cinza ou não, e caso seja, eles retornam as suas posições iniciais e modificam suas direções para evitar que retornem para a mesma célula.
Exercícios com Barreiras Espaciais • Objetivo: testar os impactos das barreiras espaciais nas tendências de desenvolvimento espacial mostradas pelo modelo nos experimentos anteriores, e verificar como essas tendências podem ser relacionadas com a realidade. ] • Mostra como a simples introdução de áreas inatingíveis dentro da malha pode moldar o desenvolvimento espacial de maneiras tão diferentes. Exercícios com Módulo de Periferização posição inicial dos agentes no centro da malha posição inicial dos agentes na célula-semente
Exercícios com Barreiras Espaciais Exercícios com Módulo de Processos Intra-urbanos posição inicial dos agentes no centro da malha posição inicial dos agentes na célula-semente importância das barreiras espaciais para que a simulação produza um padrão mais realístico. o papel das barreiras espaciais para o entendimento da morfologia urbana.
Comparação com a realidade Mapas of distribuição de renda para Porto Alegre. (Censo 2000) Mapas A e B: quantile breaks (3 and 6 ranges) Mapas C e D: natural breaks (3 and 6 ranges) Não trabalhamos com definição de grupos de renda.
- Slides: 70