Modelagem Baseada em Agentes no TerraME: estado atual Pedro Ribeiro de Andrade feb/09.

Post on 26-Mar-2015

227 views 3 download

Transcript of Modelagem Baseada em Agentes no TerraME: estado atual Pedro Ribeiro de Andrade feb/09.

Modelagem Baseada em Agentes no TerraME: estado atual

Pedro Ribeiro de Andradefeb/09

How to model these phenomena?

Agent-based modelling (ABM)

flexibilitynatural approachemergence

Bottom-up approach for building complex systems, through the dynamical interaction of agents.

How can geospatial data feed agent-based models?

Scientific question

?Jfddfjh gfsdfgdfssf fsdf fsdfsd sdfsdfJfddfjh gfsdfgdfssf fsdf fsdfsd sdfsdf

Jfddfjh gfsdfgdfssf fsdf fsdfsd sdfsdf

Relations

Entities

How can geospatial data feed agent-based models?

Scientific question

Jfddfjh gfsdfgdfssf fsdf fsdfsd sdfsdfJfddfjh gfsdfgdfssf fsdf fsdfsd sdfsdf

Jfddfjh gfsdfgdfssf fsdf fsdfsd sdfsdf

Citizens (points)Farmers

(polygons)

First Entity: Agent

Source: (Crooks, 2006); (Lim et al. 2002)

Agents are computational systems placed in some environment.

(Jennings et al., 98)

Second Entity: Space

Discrete → cells

Dynamic

Ag

en

t

C

ell

Cell Agent

Sources: (Benenson and Torrens, 2005; Samuelson and Macau, 2006)

From

To

Relations

Cell→cell

Spatial neighbourhood between cells

Cell→agent

“Which agents belong to this cell?”

Agent→cell

Source: Adapted from (Lim et al. 2002)

“Which cells this agent controls, owns, targets?”

Agent→agent

Agents can communicate, exchange goods, etc.

Agents are situated in space.

GPM as a graphTo

Ag

en

t

Cell

a

b

a

b

c

c

Cell Agent

From

CellAgent

ForEachAgent ForEachCell

ForEachCellForEachNeighbor ForEachNeighbor

ForEachAgent

CellularSpaceSociety

Group Trajectory

DBMS

CellAgent

ForEachAgent ForEachCell

ForEachCellForEachNeighbor

ForEachAgent

CellularSpaceSociety

Group Trajectory

DBMS

Society

上海宋ABC

ACA

AACCCC

BBC

CBB

CAC

BBA

CCB

CBA

AAA

BAB

createAgent = function(capital_) return { capital = capital_, -- ... }end

data = {}data[1] = 100; data[2] = 50; data[3] = 25mag = Society(createAgent, data)

mag = Society(createAgent, 50)

Society

capital = 100 capital = 50 capital = 25

Group

ABC

ACA

AACCCC

BBC

CBB

CAC

BBA

CCB

CBA

AAA

BAB

g = Group(mag, function(agent) return agent. capital > 40 end, function(a1, a2) return a1.capital > a2.capital end)

Group

capital = 100 capital = 50 capital = 25

ForEachAgent(mag, function(agent) agent.capital = agent.capital + 100end)

Transversing the Society

capital = 200 capital = 150 capital = 125

capital = 100 capital = 50 capital = 25

InitAgents(cs)-- ...agents = GetAgents(cell)if table.getn(agents) == 0 then -- empty RemoveAgent(oldcell, agent) AddAgent(cell, agent)end

Agents within cells

Modelagem Baseada em Agentes no TerraME: estado atual

Pedro Ribeiro de Andradefeb/09