A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Agent-based models and social simulation Gilberto Câmara Tiago Carneiro Pedro Andrade Licence: Creative Commons ̶̶̶̶ By Attribution ̶̶̶̶ Non Commercial.

Apresentações semelhantes


Apresentação em tema: "Agent-based models and social simulation Gilberto Câmara Tiago Carneiro Pedro Andrade Licence: Creative Commons ̶̶̶̶ By Attribution ̶̶̶̶ Non Commercial."— Transcrição da apresentação:

1 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/

2 Where does this image come from?

3 Map of the web (Barabasi) (could be brain connections)

4 Information flows in Nature Ant colonies live in a chemical world

5 Conections and flows are universal Yeast proteins (Barabasi and Boneabau, SciAm, 2003) Scientists in Silicon Valley (Fleming and Marx, Calif Mngt Rew, 2006)

6 Information flows in the brain Neurons transmit electrical information, which generate conscience and emotions

7 Information flows generate cooperation White cells attact a cancer cell (cooperative activity) Foto: National Cancer Institute, EUA http://visualsonline.cancer.gov/

8 Information flows in planet Earth Mass and energy transfer between points in the planet

9 Complex adaptative systems How come that a city with many inhabitants functions and exhibits patterns of regularity? How come that an ecosystem with all its diverse species functions and exhibits patterns of regularity?

10 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.

11 What are complex adaptive systems?

12 Universal Computing Computing studies information flows in natural systems......and how to represent and work with information flows in artificial systems

13 Computational Modelling with Cell Spaces Cell Spaces Components  Cell Spaces  Generalizes Proximity Matriz – GPM  Hybrid Automata model  Nested enviroment

14 Cell Spaces

15 Cellular Automata: 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)

16 2-Dimensional Automata 2-dimensional cellular automaton consists of an infinite (or finite) grid of cells, each in one of a finite number of states. Time is discrete and the state of a cell at time t is a function of the states of its neighbors at time t-1.

17 Cellular Automata RulesNeighbourhood States Space and Time t t1t1

18 Von Neumann Neighborhood Moore Neighborhood Most important neighborhoods

19 Conway’s Game of Life 1. At each step in time, the following effects occur: 2. Any live cell with fewer than two neighbors dies, as if by loneliness. 3. Any live cell with more than three neighbors dies, as if by overcrowding. 4. Any live cell with two or three neighbors lives, unchanged, to the next generation. 5. Any dead cell with exactly three neighbors comes to life.

20 Game of Life Static Life Oscillating Life Migrating Life

21 Conway’s Game of Life  The universe of the Game of Life is an infinite two- dimensional grid of cells, each of which is either alive or dead. Cells interact with their eight neighbors.

22 Characteristics of CA models 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;

23 Which Cellular Automata? For realistic geographical models the basic CA principles too constrained to be useful Extending the basic CA paradigm From binary (active/inactive) values to a set of inhomogeneous local states From discrete to continuous values (30% cultivated land, 40% grassland and 30% forest) Transition rules: diverse combinations Neighborhood definitions from a stationary 8-cell to generalized neighbourhood From system closure to external events to external output during transitions

24 Agents as basis for complex systems Agent: flexible, interacting and autonomous An agent is any actor within an environment, any entity that can affect itself, the environment and other agents.

25 Agent-Based Modelling Goal Environment Representations Communication Action Perception Communication source: Nigel Gilbert

26 Agents: autonomy, flexibility, interaction Synchronization of fireflies

27 Bird Flocking No central authority: Each bird reacts to its neighbour Not possible to model the flock in a global manner. Need to necessary to simulate the INTERACTION between the individuals

28 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)

29 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)

30 It has been used in different areas of science economy sociology archaeology ecology linguistics political sciences...

31 Source: http://www.leggmason.com/thoughtleaderforum/2004/conference/transcripts/arthur_trans.asp

32 Agents changing the landscape An individual, household, or institution that takes specific actions according to its own decision rules which drive land-cover change.

33 Four types of agents Natural agents, artificial environment Artificial agents, artificial environment Artificial agents, natural environment Natural Agents, natural environment fonte: Helen Couclelis (UCSB)

34 Four types of agents Natural agents, artificial environment Artificial agents, artificial environment Artificial agents, natural environment Natural Agents, natural environment fonte: Helen Couclelis (UCSB) e-science Engineering Applications Behavioral Experiments Descriptive Model

35 Is computer science universal? Modelling information flows in nature is computer science http://www.red3d.com/cwr/boids/

36 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.red3d.com/cwr/boids/

37 Bird Flocking: Reynolds Model (1987) www.red3d.com/cwr/boids/ 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

38 Agents moving

39

40

41 Source: http://www.leggmason.com/thoughtleaderforum/2004/conference/transcripts/arthur_trans.asp

42 ABM in TerraME: Types and Functions

43 CellAgent forEachAgentforEachCell forEachRelative forEachNeighbor forEachAgent CellularSpace Society GroupTrajectory DBMS

44 Society 上海宋 ABC ACA AAC CCC BBC CBB CAC BBA CCB CBA AAA BAB

45 createAgent = function(capital) return Agent { capital = capital, --... } end data = {} data[1] = 100; data[2] = 50; data[3] = 25 mag = Society(createAgent, data) mag = Society(createAgent, 50) capital = 100capital = 50capital = 25 Society

46 CCC BBC CBB CAC BBA CCB CBA ABC ACA AAC AAA BAB Group

47 g = Group{mag, function(agent) return agent. capital > 40 end, function(a1, a2) return a1.capital > a2.capital end } capital = 100capital = 50capital = 25 Group

48 forEachAgent(mag, function(agent) agent.capital = agent.capital + 100 end) capital = 200capital = 150capital = 125 capital = 100capital = 50capital = 25 Traversing the Society

49 agents = cell:getAgents() if table.getn(agents) == 0 then -- empty agent:leave(oldcell) agent:enter(cell) end agents = cell:getAgents() if table.getn(agents) == 0 then -- empty agent:move(cell) end Agents within cells

50 Schelling segregation model

51 Segregation Some studies show that most people prefer to live in a non-segregated society. Why there is so much segregation?

52 Segregation Segregation is an outcome of individual choices But high levels of segregation indicate mean that people are prejudiced?

53 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

54 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

55 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?

56 Schelling’s Model of Segregation Tolerance values above 30%: formation of ghettos

57 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?

58 Urban Growth in Latin American cities: exploring urban dynamics through agent-based simulation Joana Xavier Barros 2004

59 As cidades Latino-americanas Altas taxas de crescimento urbano (rápida urbanização) Pobreza + assentamentos espontâneos (favelas) Fraco controle das políticas públicas sobre o processo de desenvolvimento urbano Resultado espacial: tecido urbano fragmentado com padrões morfológicos diferentes e desconectados, que evoluem e se transformam ao longo do tempo.

60 Periferização São Paulo - Brasil Caracas - Venezuela Processo pelo qual a cidade cresce através da adição de assentamentos de baixa renda no anel periférico. Estas áreas são lentamente incorporadas à cidade pela expansão urbana, muitas vezes ocupadas por um grupo econômico mais alto, enquanto novos assentamentos de baixa renda continuam emergindo na periferia.

61 Crescimento urbano “Urban sprawl” nos Estados Unidos “Urban sprawl” na Europa (Inglaterra) Periferização na América Latina (Brasil)

62 Questões e metodologia Como esse processo acontece no espaço e no tempo?  DINÂMICA  modelagem e simulação  Como o espaço é moldado por decisões individuais?  Teoria da Complexidade  TEMPO + ESPAÇO  modelos autômatos celulares  Questões sociais  simulação baseada no agente ( agent-based simulation )

63 Simulador de Periferização  Reproduz o processo de expulsão e expansão simulando o processo de localização residencial de 3 grupos econômicos distintos.  Assume que apesar das diferenças econômicas, todos os agentes tem as mesmas preferências locacionais, ou seja, todos querem se localizar nas melhores áreas da cidade, que nas cidades latino-americanas Latina são as áreas de alta renda.  Todos os agentes tem as mesmas preferências mas restrições diferentes.

64 Módulo de Periferização  Agente alta renda – pode se localizar em qualquer lugar  Agente renda média – pode se localizar em qualquer lugar menos onde já existem agentes de alta renda  Agente renda baixa – só pode se localizar em lugares vazios Um agente pode ocupar a célula de outro agente e quando um agente é expulso ele procura outro lugar para se assentar.

65 Periferização – exercícios de simulação Padrão espacial:  não existe nada nas regras que determine que o resultado espacial do modelo seja um padrão segregado ou que os agentes de renda alta se localizem no centro, rodeados por anéis de agentes de renda média e baixa.  o padrão se aproxima da estrutura espacial de localização residencial encontrada em cidades latino- americanas.  Sementes múltiplas como condição inicial – produz padrão com características de áreas metropolitanas.

66 Comparação com a realidade Mapas de distribuição de renda - São Paulo (Censo 2000) Mapas A and B: quantile breaks (3 and 6 ranges) Mapas C and D: natural breaks (3 and 6 ranges) Observação: Não trabalhamos com nenhum tipo de definição de grupos econômicos.

67 Periferização no TerraME -- crie uma cidade (espaço celular) cidade = CellularSpace {xdim = TAMANHO, ydim = TAMANHO} -- define uma vizinhança 3x3 para o espaço celular createMooreNeighborhood(cidade, "1", false) -- preenche o espaço celular com celulas vazias iniciar (cidade) -- acha a celula central centro = Coord { x = TAMANHO/2, y = TAMANHO/2} celulaCentral = cidade:getCell(centro) -- cria uma sociedade de agentes populacao = Society(createAgent, POPULACAO) -- acha um lugar para cada agente na cidade forEachAgent(populacao, function(agent) acheLugar(agent) end)

68 Periferização no TerraME -- Parâmetros do modelo TAMANHO = 60 POPULACAO = TAMANHO*TAMANHO/2 VAGO = 0 POBRE = 1 REMEDIADO = 2 RICO = 3 PROP_RICO = 0.1 PROP_REMEDIADO = 0.4 PROP_POBRE = 0.5 ---- funcoes auxiliares function iniciar (cidade) forEachCell(cidade, function(cell) cell.ocupante = VAGO end ) end

69 Periferização no TerraME function createAgent() agent = Agent{ classe = geraClasse(), celula = celulaCentral } return agent End -- gera uma classe social para o agente function geraClasse() valor = math.random() if valor < PROP_POBRE then return POBRE elseif valor < PROP_POBRE + PROP_REMEDIADO then return REMEDIADO end return RICO end

70 Periferização no TerraME function acheLugar(agent) -- acha um lugar para morar achou_lugar = false repeat -- busca um lugar que gostaria de morar lugar = random_walk (agent) -- move o agente para o lugar que gostaria de morar agent.celula = lugar -- bate na porta e chama os moradores moradores = lugar:getAgents() -- verifica se tem alguem if getsize(moradores) == 0 then -- se nao tem ninguem, ocupa a celula agent:enter(lugar) lugar.ocupante = agent.classe achou_lugar = true else -- tem gente dono = moradores[1] achou_lugar = expulsa_morador (agent, dono, lugar) end until achou_lugar -- procura local para morar até achar end

71 Periferização no TerraME function random_walk (agent) -- ache um vizinho aleatorio numa vizinhança 3 x 3 vizinho = agent.celula:getNeighborhood():sample() -- ache o vizinho do vizinho vizinho2 = vizinho:getNeighborhood():sample() return vizinho2 end

72 Periferização no TerraME function expulsa_morador (agent, dono, lugar) -- compara a classe social do agente e do dono if (dono.classe == POBRE and (agent.classe == RICO or agent.classe == REMEDIADO)) or (dono.classe == REMEDIADO and agent.classe == RICO) then -- o morador sai da celula dono:leave(lugar) -- o agente entra na celula agent:enter(lugar) -- o status da celula muda lugar.ocupante = agent.classe -- o morador expulso procura outro lugar acheLugar(dono) -- indica que o agente achou um lugar para morar achou_lugar = true else achou_lugar = false -- nada feito end return achou_lugar end


Carregar ppt "Agent-based models and social simulation Gilberto Câmara Tiago Carneiro Pedro Andrade Licence: Creative Commons ̶̶̶̶ By Attribution ̶̶̶̶ Non Commercial."

Apresentações semelhantes


Anúncios Google