720 likes | 1.01k Views
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?.
E N D
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? 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 Yeastproteins (BarabasiandBoneabau, SciAm, 2003) Scientists in SiliconValley (Fleming and Marx, CalifMngtRew, 2006)
Information flows in the brain Neurons transmit electrical information, which generate conscience and emotions
Information flows generate cooperation Foto: NationalCancerInstitute, 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.
Universal Computing Computing studies information flows in natural systems... ...and how to represent and work with information flows in artificial systems
Cell Spaces • Components • Cell Spaces • Generalizes Proximity Matriz – GPM • Hybrid Automata model • Nested enviroment Computational Modelling with Cell Spaces
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)
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.
Cellular Automata Neighbourhood Rules Space and Time t States t1
Von Neumann Neighborhood Moore Neighborhood Most important neighborhoods
Conway’s Game of Life • At each step in time, the following effects occur: • Any live cell with fewer than two neighbors dies, as if by loneliness. • Any live cell with more than three neighbors dies, as if by overcrowding. • Any live cell with two or three neighbors lives, unchanged, to the next generation. • Any dead cell with exactly three neighbors comes to life.
Game of Life Static Life Oscillating Life Migrating Life
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.
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;
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
Agent: flexible, interacting and autonomous 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.
Representations Communication Communication Action Perception Environment Agent-Based Modelling Goal source: Nigel Gilbert
Agents: autonomy, flexibility, interaction Synchronization of fireflies
Bird Flocking No central authority: Eachbirdreacts to its neighbour Notpossible to modeltheflock in a global manner. Need to necessaryto simulatethe INTERACTION betweentheindividuals
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, natural environment Artificial agents, artificial environment Natural agents, artificial environment Natural Agents, natural environment fonte: Helen Couclelis (UCSB)
Four types of agents Engineering Applications e-science Artificial agents, natural environment Artificial agents, artificial environment Behavioral Experiments Descriptive Model Natural agents, artificial environment Natural Agents, natural environment fonte: Helen Couclelis (UCSB)
Is computer science universal? Modelling information flows in nature is computer science http://www.red3d.com/cwr/boids/
Bird Flocking (Reynolds) Example of a computational model No central autority Each bird reacts to its neighbor Model based on bottom up interactions http://www.red3d.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.red3d.com/cwr/boids/
Source: http://www.leggmason.com/thoughtleaderforum/2004/conference/transcripts/arthur_trans.asp
forEachRelative forEachNeighbor forEachCell Agent Cell forEachAgent forEachAgent forEachCell Society CellularSpace Group Trajectory DBMS
Society CBB CAC CBA CCB ACA CCC AAC BBC ABC BBA AAA 上海宋 BAB
Society 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 = 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(a1, a2) return a1.capital > a2.capital end } capital = 100 capital = 50 capital = 25
Traversing the Society capital = 100 capital = 50 capital = 25 forEachAgent(mag, function(agent) agent.capital = agent.capital + 100 end) capital = 200 capital = 150 capital = 125
Agents within cells 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