Spatial Dynamical Modelling with TerraME Lectures 4: Agent by nRm1x27

VIEWS: 15 PAGES: 54

									Spatial Dynamical Modelling
with TerraME
Lectures 4: Agent-based
modelling
Gilberto Câmara
Agent-based modelling with
TerraME
What are complex adaptive systems?
  Agent
An agent is any actor within an environment, any
 entity that can affect itself, the environment and
 other agents.




 Agent: flexible, interacting and autonomous
Agents: autonomy, flexibility, interaction




       Synchronization of fireflies
Agents: autonomy, flexibility, interaction




              football players
Agent-Based Modelling

                     Representations




         Goal
                             Communication

                           Communication

                         Action
            Perception


    Environment

                                             Gilbert, 2003
Agents are…


Identifiable and self-contained

Goal-oriented
     Does not simply act in response to the environment

Situated
     Living in an environment with which interacts with other agents

Communicative/Socially aware
     Communicates with other agents

Autonomous
     Exercises control over its own actions
  Bird Flocking




No central authority: Each bird reacts to
 its neighbor

Bottom-up: not possible to model the
 flock in a global manner. It is
 necessary to simulate the
 INTERACTION between the
 individuals
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/
Agents changing the landscape
Characteristics of CA models (1)




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;
  Characteristics of CA models (1)



Wolfram (1984): 4 classes of
   states:
(1) homogeneous or single
   equilibrium
(2) periodic states
(3) chaotic states
(4) edge-of-chaos: localised
   structures, with organized
   complexity.
 Bird Flocking

Reynolds Model (1987)




      http://ccl.northwestern.edu/netlogo/models/Flocking

      Animation example
Swarm
Repast
Netlogo
Netlogo
TerraME
Segregation

    Segregation is an outcome of individual choices
But high levels of segregation indicate mean that people
                      are prejudiced?
    An Example: The Majority 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, or the cell’s previous state if the
    neighbours are equally divided between “white” and
    “black”
        White cells change to black if there are five or more black
         neighbours
        Black cells change to white if there are five or more white
         neighbours
   What is the result after 50 iterations?
   How long will it take for a stable state to occur?
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?
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’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

 Tolerance values above 30%: formation of ghettos




      http://ccl.northwestern.edu/netlogo/models/Segregation
    References

   J. Zhang. Residential segregation in an all-integrationist
    world. Journal of Economic Behaviour & Organization, v.
    54 pp. 533-550. 2004

   T. C. Shelling. Micromotives and Macrobehavior. Norton,
    New York. 1978
Zhang: Residential segregation in an all-
integrationist world




  Some studies show that most people prefer
  to live in a non-segregated society.
  Why there is so much segregation?
Satisfaction
Satisfaction
Agents moving
Agents moving
Agents moving
Simulation
Vizinhança e Segregação
Development of Agent-
based models in TerraME
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 macro-structure

   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
     A1
                              Macrostructure
                  ?
 Agent model                 Spatial segregation
     A2                         Bird flocking


                                  Refutation
 Agent model
                        ?
     A3
Explanation and Generative Sufficiency


 Agent model
     A1
                                    Macrostructure
                   ?

 Agent model
     A2



                    Occam´s razor:
"entia non sunt multiplicanda praeter necessitatem", or
 "entities should not be multiplied beyond necessity".
Explanation and Generative Sufficiency


 Agent model
     A1
                                  Macrostructure
                  ?

 Agent model
     A2



                    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
       A1
                                                Macrostructure
                         ?
   Agent model
       A2



                             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.
TerraME extension for agent-based
modelling
ForEachAgent = function(agents, func, event)
      nagents = table.getn(agents)
      for i = 1, nagents do
            func (agents[i],(event))
      end
end

Replicate = function(agent, nagents)
      ag = {}
      for i = 1, nagents do
            ag[i] = agent()
            ag[i].id = i
      end
      return ag
end

(contained in file agent.lua)
ABM example


 Urban Dynamics in Latin American cities:
   an agent‐based simulation approach


              Joana Barros
Latin American cities

High speed of urban growth (urbanization)
Poverty + spontaneous settlements
Poor control of policies upon the development process
Spatial result: fragmented set of patches, with different
   morphological patterns often disconnected from each other that
   mutate and evolve in 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
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)
The Peripherisation Model

   Four modules:

    Peripherisation module

    Spontaneous settlements module

    Inner city processes module

    Spatial constraints module
    Peripherization moduls

   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


multiple initial seeds ‐resembles
certain characteristics of
metropolitan areas
    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
TerraME extension for agent-based
modelling
ForEachAgent = function(agents, func, event)
      nagents = table.getn(agents)
      for i = 1, nagents do
            func (agents[i],(event))
      end
end

Replicate = function(agent, nagents)
      ag = {}
      for i = 1, nagents do
            ag[i] = agent()
            ag[i].id = i
      end
      return ag
end

(contained in file agent.lua)

								
To top