580 likes | 610 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/. What about the unknown unknowns?.
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/
What about the unknown unknowns? Uncertainty on basic equations Social and Economic Systems Quantum Gravity Particle Physics Living Systems Global Change Hydrological Models Chemical Reactions Meteorology Solar System Dynamics Complexity of the phenomenon source: John Barrow (after David Ruelle)
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.
Is computing also a natural science? http://www.red3d.com/cwr/boids/ “Information processes and computation continue to be found abundantly in the deep structures of many fields. Computing is not—in fact, never was—a science only of the artificial.” (Peter Denning, CACM, 2007).
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)
Collective spatial action: volunteered GI Are Brazilians less cooperative? Less tech-savvy? Doesgoogle solve their problems? Are they happy with their public data?
Computing is also a natural science Computing studies information flows in natural systems... ...and how to represent and work with information flows in artificial systems
Computing is also a natural science Computing studies information flows in natural systems... ...and how to represent and work with information flows in artificial systems
Collective spatial action: pedestrian modelling Notting Hill Carnival (London) Batty, “Agent-Based Pedestrian Modelling”, in: Advanced Spatial Analysis, ESRI Press, 2003.
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.
Clouds: statistical distributions Clocks, clouds or ants? Clocks: deterministic methods Ants: emerging behaviour
1973 1987 2000 Slides from LANDSAT images: USGS Modelling Human-Environment Interactions How do we decide on the use of natural resources? What are the conditions favoring success in resource mgnt? Can we anticipate changes resulting from human decisions? What GIScience techniques and tools are needed to model human-environment decision making?
Universal Computing Computing studies information flows in natural systems... ...and how to represent and work with information flows in artificial systems
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 Space Agent-Based Modelling Goal 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, 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/
Four types of spatial agents Artificial agents, artificial environment Artificial agents, natural environment Natural agents, artificial environment Natural Agents, natural environment source: Couclelis (2001)
Some caution necessary... “Agent-based modeling meets an intuitive desire to explicitly represent human decision making. (…) However, by doing so, the well-known problems of modeling a highly complex, dynamic spatial environment are compounded by the problems of modeling highly complex, dynamic decision-making. (…) The question is whether the benefits of that approach to spatial modeling exceed the considerable costs of the added dimensions of complexity introduced into the modeling effort. The answer is far from clear and in, my mind, it is in the negative. But then I am open to being persuaded otherwise ”. (from “Why I no longer work with agents”, 2001 LUCC ABM Workshop) Helen Couclelis
Some caution necessary... “Complexity is more and more acknowledged to be a key characteristic of the world we live in and of the systems that cohabit our world. It is not new for science to attempt to understand complex systems: astronomers have been at it for millennia, and biologists, economists, psychologists, and others joined them some generations ago. (…) If, as appears to be the case, complexity (like systems science) is too general a subject to have much content, then particular classes of complex systems possessing strong properties that provide a fulcrum for theorizing and generalizing can serve as the foci of attention.” (from “The Sciences of the Artificial”, 1996) Herbert Simon (1958)
TerraME: nature-society modelling Space Agent 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 PhDs).
Types in TerraLib ecosystem: new tools, new types Time Series Trajectory Event 2014 CellularSpace Social Network Agent 2010 Object Geometry 2002 Coverage
forEachConnection forEachNeighbor forEachCell Agent Cell forEachAgent forEachAgent forEachCell Society CellularSpace Group Trajectory DBMS
Agents within cells agents = cell:getAgents() if #(agents) == 0 then-- empty agent:leave(oldcell) agent:enter(cell) end
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
Society functioncreateAgent (capital) person = Agent { init = function (self), -- ... } 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
Emergence “Can you grow it?” (Epstein; Axtell; 1996) source: (Bonabeau, 2002)