Diapositiva 1

Download Report

Transcript Diapositiva 1

Two complexities and their models
A friendly environment to simulate urban dynamics
Arnaldo “Bibo” Cecchini
http://lamp.sigis.net
Client 1
Expert 1
Client 2
Expert 2
Client 3
…
Expert 3
…
User 1
Stakeholder 1
User 2
Stakeholder 2
User 3
Stakeholder 3
…
…
Client 1
Expert 1
Client 2
Expert 2
Client 3
…
Expert 3
…
User 1
Stakeholder 1
User 2
Stakeholder 2
User 3
Stakeholder 3
…
And more …..
…
Hidden
Illegal
Criminal
Two complexities and their models
The difficulty in dealing with urban systems’ complexity and
the related difficulty to analyse and forecast is twofold: one
kind of difficulty lies in the complexity of the system itself, and
the other is due to the actions of actors, which are “acts of
freedom”.
We are firmly convinced that the planning in its strict sense
(meaning by definition the production of “plans”) is absolutely
necessary, today just as always, if not even more. And the
production of plans, almost by definition implies substantially a
set of rules, restrictions and incentives.
But it is evident that the adequate combination of these three
elements has to be determined in every concrete situation, and
that the mix can vary.
GOAL – Why we do need “special
models” for planning
Give to the actors involved in planning
processes the capability to read, understand,
forecast the different systems that represent
the “battleground” of their actions.
Models must be useful for each party
involved in the planning process, so they
have to deal with both complexities.
WAYS TO THE GOAL
• We need modular models; they must be
–
–
–
–
friendly
flexible
multi-level
Unexpensive
• and must be linked to communication tools
• and must be useful for
–
–
–
–
decision
negotiation
consensus building
Evaluation
• These models must achieve this goal being “part” of the most sophisticated
and hard ones used by experts.
Cities as Complex Systems: which models?
• To deal with this two types of complexities (linked together!) we need
appropriate and interrelated models.
• For the first complexity we consider gaming simulations, role plays,
scenarios techiniques, …
• For the second complexity could be interesting - for our purposes the set of models with a bottom – up approach: neural networks,
genetic algorithms, multi agent models, cellular automata each one
appropriate for different tasks.
• Our experience is mainly related to Cellular Automata that seem
efficient and effective to simulate urban growth, urban sprawl,
location of functions, traffic flow, real estate values, land use
transformation, …
Cellular Automata 1
The founding idea: to simulate the behaviour of a complex system based on
the interaction of a great number of cells that follow simple rules, and not
to describe the global behaviour through complex equations
A cellular automaton is a discrete dynamic system containing a great
number of cells in the space (1-D, 2-D, o 3-D).
Each cell interacts only with its neighbour cells and there is a cellular
automaton evolution rule that changes simultaneously the state of all
cells within discrete temporal steps.
Cellular Automata 2
Bi-dimensional grids and classical neighbourhoods
C
C
C
C
Cellular Automata 3
Cellular automata (CA) are discrete dynamic systems, but often
represent an efficacious alternative to systems of diffeerential
equations for the simulation of continuous dynamic systems
In general, CA offer a model to study systems composed of numerous
parts (cells) with no central control but only local interactions
The founding idea is to simulate the behaviour of a complex
system based on the interaction of a great number of cells
that follow simple rules, and not to describe the global behaviour
through complex equations
Classical CA and limits for UM 1
Space: regularity
State set: uniformity
irregularity
{ SA}
{ SA}
nonuniformity
{ SN }
Neighborhood: stationarity
nonstationarity
Transition function: universality
d
Transition function: invariance
d
Time: regularity
System closure: closed
da
dc
d1
db
nonuniversality
time variance
nonregularity
open
Classical CA and limits for UM 2
Basic properties of CA (Couclelis 1985)
The principles that
conventions" are:
•
•
•
•
•
•
Couclelis
calls
"leading
definition of an infinite plane (space)
spatial stationarity of neighborhoods
regularity
spatial homogeneity
spatial and temporal invariance of transition rules
closure towards external events.
The analysis of urban systems need to “relax” almost all kind of classical
constraints for CA, but leaving unchanged the CA “dogma”: locality of actions
effects.
Our approach is to build a general environment (CAGE) to develop AC with the
possibility to tune ad libitum the constraints realizing the “right” AC for the actual
task.
Basics CAs for Urban Models 1
Spatial and Temporal Stationariety of Neighbourhoods
In CAGE the neighbourhood can vary with time and is defined as relations, non
necessarily geometrical, among objects of the model.
Regularity in spatial discretisation
In CAGE the geometrical object associated to cells is considered an attribute not
necessarily subject to spatial or temporal limitations.
Stationariety and homogenity of the transition functions
In CAGE the cells’ transition functions can also depend on parameters varying
with time, local to the cell or global.
Limited number of possible cells’ states
In CAGE there is no a priori limitation of the number of states and CAGE makes
available different types of sub-states (integer, real, char)
Basics CAs for Urban Models 2
Closure with regard to external events
In CAGE is it possible that external phenomena influence, even on a local level,
the evolution of the simulation.
Locality of the evolution control
In CAGE, in order to be able to obtain realistic simulations, there is also a
mechanism of global control (steering) of the system’s evolution
Difficulties in the interoperability between CA scenarios and
GIS environments
In CAGE specific functions for importing/exporting spatial and alphanumeric data
available in existing GIS environments will be developed
Environments usable only by expert programmers
In CAGE, the modelling-simulation-analysis cycle is simplified by a specific user
graphical interface including the functionality of semi-visual modelling of evolution
rules
Basics Territorial models
j
MODEL I
i
gijt
gijt+Dt
The fifth one "hides" two kind of CA,
one which we could call "synchronous"
where it's:
MODEL II
gijt
gijt+Dt
MODEL III
gijt-2
gijt-1
gijt
gijt +Dt
uijt
MODEL IV
vijt
gijt +Dt
MODEL V
Tobler 1979
and which corresponds to a sort of
"filter" for interpolation - extrapolation,
and one which we could call
“diachronic” where it's:
gi,j t +dt = F(gi,j t, ni,j t)
wijt
gijt 1±p,1 ±q
gi,j = F(gi ±p, j ±q)
gijt +Dt
Basics land use change CA model
Source: Adapted from Soares (1998).
Iterations
Initial Land Use
Calculates Amount
of Transitions
Final Land Use
Calculates Spatial
Transition
Probability
Meta rules
Transition probabilities
P ij
P ik
P jk
Calculates Dynamic
Variables
Static Variables: technical infrastructure;
social infrastructure; real state market;
occupation density; etc.
Dynamic Variables: type of land useneighbouring cells; dist. to certain land uses
Example of CA Urban Simulation 1
calibration
CA Model
forecast
validation
t0
Source: adapted from Almeida (2004).
t1
t3
t4
Example of CA Urban Simulation 2 A
Predominantly Deterministic Models of Land Use Change
Spontaneous
(random) new
growth
Seed Cell
Cell urbanised by
this step
Cell urbanised at
previous step
Growth moved to
road, and spread
Diffusive growth
and spread of a
new growth centre
Organic growth
Road
Road
influenced
growth
(Clarke et al., 1997)
Example of CA Urban Simulation 2 B
Predominantly Deterministic Models of Land Use Change
Decisive factors for urban growth:
topography, roads in 1920, roads in 1978.
Evolution of Urban
Growth - San Francisco
Bay Area (USA)
Clarke et al., (1997)
Example of CA Urban Simulation 3 A
Predominantly Stochastic Models of Land Use Change
SIMLUCIA - Model with categories of urban
land use, which incorporates regionalised
variables.
RIKS - Research Institute for Knowlege Systems,
University of Maastricht, Holland (1999)
http://www.riks.nl/projects/SimLucia
• Global Transition Probabilities or Transition
Rates (impacts on the system as a whole):
• Regionalized Economic/Demographic Models,
Markov Chain, Multivariate Regressions, etc.
• Local Transition Probabilities or Cells
Probabilities Weights of Evidence, Logistic
Regression, Analytical Hierarchical
Programming (AHP), Neural Networks,
Decision Tree, etc.
Example of CA Urban Simulation 3 B
Predominantly Stochastic Models of Land Use Change
Cells Transition Probability:
Pz = f(Sz) f (Az). (wz,y,d x Id,i) +z
d i
• Pz is the potential for transition to state z
• f(Sz) is the suitability of the cell for activity z (Sz is a
suitability coefficient)
• f(Az) is the accessibility of the cell for activity z (Az is
an accessibility coefficient)
• wz,y,d is the weighting parameter applied to cells with
state y in distance zone d
• Id,i =1 if the state of cell i in distance zone d = y;
• Id,i =0 if the state of cell i in distance zone d ≠ y;
• z is a stochastic disturbance term
Example of CA Urban Simulation 4 A
CAGE Application Example: the Heraklion Model
•
The data-sets used for modelling and calibration:
– urban density variable for 1980 and 2000, expressed in persons/ha;
– real-estate value for 1980 and 2000, expressed in Dr./ha;
– a “social value” indicator for 1980 and 2000, expressed as a qualitative
ordinal value;
– effective land-use for 1961-1980;
– 1998 master plan zoning and restrictions.
•
several layers where distinctive dynamics are
simulated.
irregular cells representing city blocks and
containing predominantly buildings, but also
internal and capillary street network and
undeveloped land;
poly-lines representing the main street and road
network, organised in main and secondary roads;
points representing positions of urban services
and special facilities.
•
•
•
Example of CA Urban Simulation 4 B
CAGE Application Example: the Heraklion Model
Initial (1980 - observed)
Final (2000 - simulated)
Example of CA Urban Simulation 4 C
CAGE Application Example: the Heraklion Model
Observed 2000 data
• More than 60% of the total cell number
(1671) take the correct real estate value class
at the configuration of calibration
100%
Number of cells
• The model parameters was calibrated trough
genetic algorithms
Real-estate values: simulated
values after 20 steps
80%
60%
40%
20%
0%
0.0 - 0.25
0.25 - 0.5
Relative error
0.5 - 0.75
0.75 - 1
Our Environment 1
CAGE (Cellular Automata General Environment)
•
•
•
•
•
•
•
•
Irregular cells allowed
Typed states
Layers
Cells’ neighbourhoods as result of queries
Non-homogeneous non-stationary neighbourhoods
Access to georeferenced data
Calibration tools
Visualization
Our Environment 2
Essential Characteristics of CAGE
User-friendly GUI for visual modelling of cellular automata
Cross-platform application based on QT libraries (Windows-Linux)
Overcoming of many restrictions typical of the CA-based environments
Scenario structured in layers (on different layers simulations of various
relevant phenomena take place)
Some library functions are predefined and help in the definition of evolution
rules
Export/Import of data and graphs
Execution on remote computer via TCP/IP protocol
Our Environment 2
The CAGE’s GUI
Graphical
windows
Structure modelling
Our Environment 3
The CA Model
The cellular automata is defined by three elements:
AC  PG ,fG , L 
PG
is a finite set of values of g-dimensional vector of global
parameters:

fG  fG(1) , fG( 2) ,, fG( g )
PG  PG(1)  PG( 2)  PG( g )

is a vector of global parameters’ update
functions
L  l1, l2 ,, ln  is a set of n cell layers.
Our Environment 4
The Layer
li  Ci , PLi , f Li 
A cell layer is defined by three elements:
Ci
is a set of cells
PLi
is a finite set of values of r-dimensional vector of layer’s
parameters.

f Li  f Li(1) , f Li( 2) ,, f Li( r )
functions

is a vector of layer parameters’ update
Our Environment 5
The Cell 1
The cell is defined by six elements:
Ci  Si , PCi , σi , fCi , i , Oi 
Si
is a finite set of values of the q-dimensional vector of the cell’s
state
PCi is a finite set of values of the r-dimensional vector of cell’s local
parameters
Oi is a finite set of geometrical objects, possibly geo-referenced and
characterised by an adequate vectorial description
Our Environment 6
Ci  Si , PCi , σi , fCi , i , Oi 
The Cell 2

σi   i , i ,, i
(1)
( 2)
defined as: ( k )
( n)

is a vector of n neighbourhood functio
 i :  Ci  Ck  C  PLi  PG  (Ck ), k  1..n
k
 i( j )
con j  i
 i(i )
Horizontal neighbourhood
Vertical neighbourhood
Our Environment 7
Ci  Si , PCi , σi , fCi , i , Oi 
The Cell 3
•

f Ci  f Ci(1) , f Ci( 2 ) ,  , f Ci( m )
 is a vector of local parameters’ update
functions where:
 n

(k )

fCi :  Sk  i  PG  PLi  PCi   PCi
 k 1

 k  i

•
 i is
the transition function of a generic layer’s cell that describes
the transition of the cell’s state and is defined as:
i :  Si 
 i( i )
 PG  PLi  PCi
  Si
Our Environment 9
li  Ci , PLi , f Li 
Layer Parameters Updating
The Update functions of layer’s parameters are defined as:
f Li :  Si 
Ci
 PLi
  PLi
The layer’s parameters can assume values depending on the current
configuration of the entire layer, thus offering a mechanism for
global control of the layer’s evolution.
Our Environment 10
Global Parameters Updating
AC  PG ,fG , L 
The value of the k-th global parameter can be calculated on the basis of
the values assumed by other global parameters and by all layers’
parameters:
fG( k )
 n

:  PLk  PG   PG( k )
 k 1



A global parameter can be updated, even based on an external variable,
by a generic calculum model evolving in parallel to the cellular automaton
Our Environment 11
The Architecture of CAGE
CA kernel
CA
CAkernel
kernel
C++
compiler
CAGE
server
PIPE
TCP
CAGE
client
CAGE
client
CAGE
client
Characteristics of CAGE: Structure Modelling
Function generation
Inserting: layers,
parameters,
constants,
sub-states,
Flow-chart
representation of the
vertical
neighbourhoods function
Tree-structure
representation
Change of selected
element’s attributes
Function source-code
Our Environment 13
Attributes of layers
Per each layer it is possible to define:
• The label;
• The type of spatial discterisation:
regular: the classical discretisation of the plane in
hexagonal, rectangular, triangular cells. The regular
discretisation allows to select one of the classical
neighbourhoods (Moore, Von Neumann, ecc);
non regular: the cells are constituted of graphical objects to
be defined with the editing tools available in CAGE;
• The type of CA border:
toroidal, limited, inactive (the border cells are used in the
internal cells’ neighbourhoods, but do not get updated)
Our Environment 14
Parameters and Sub-states
• Per each parameter it is possible to define:
the label;
the type: integer, real, char
the updating method: constant or based on
function
• Per each sub-state it is possible to specify
the following properties:
the label
the type: integer, real, char
Our Environment 15
Neighbourhoods
• Per each horizontal neighbourhood it is
possible to define wether it is:
of a classical type (Moore, Von Neumann, ecc. ),
only in the case of a regular spatial
discretisation
based on a function (query)
• Per each vertical neighbourhood it should
be specified:
the reffering layer
the neighbourhood’s updating function
Our Environment 15
Functions
• Per each function (parameters, substates and neighbourhoods updating) it is
necessary to define:
the label
the frequency of execution
the probability of execution
an execution subordination condition
Our Environment 16
Function Generation
Properties
of the selected component
Flow-chart
creation
Guided code input (variables and library functions)
Our Environment 17
Flow-Chart Components
Block
Single Statement
If-then
If-then-else
Free Instruction
If-then-else if
Flow-Chart End
Our Environment 18
Logical Conditions
Tree-like representation
Example: (a=1 AND b=2) OR (c=0)
OR
AND
a=1
b=2
c=0
Our Environment 19
Logical Propositions
Creation of a composed logical proposition
Our Environment 20
Library Functions
Geometrical Functions
dist(obj1, obj2)
Returns the distance between object obj1
and object obj2 bari-centres
centroidX(obj)
Returns the X coordinate of the object obj bari-centre
centroidY(obj)
Returns the Y coordinate of the object obj bari-centre
area(obj)
Returns the area of the object obj
perimeter(obj)
Returns the perimeter of the object obj
length(obj)
Returns the length of the object obj
Our Environment 21
Library Functions
Mathematical Functions
abs(num)
Returns the absolute value of the number num
max(num1, num2)
Returns the maximum value between num1 e num2
min(num1, num2)
Returns the minimum value between num1 e num2
odd(num)
Returns true if num is an unpair number
even(num)
Returns true if num is a pair number
prob(num, over)
Returns true with the probability of num/over
Example: prob(10,100) returns true in 10% of cases
div(n1, n2)
Returns true if n1 is a mutiplier of n2
Our Environment 22
Library Functions
Layer Aggregation Functions
Sum(var)
Returns the sum of values of the variable var on the cells
Min(var)
Returns the minimum value of the variable var on the cells
Max(var)
Returns the maximum value of the variable var on the cells
Average(var)
Returns the arithmetical mean value of the variable var on the
cells
NEqVal(var, val)
Returns the number of cells where the variable var assumes to
value val
Our Environment 1
Library Functions
Neighbourhood Aggregation Functions
NeighCell[lay].Sum(var)
Returns the sum of values of the variable var on the cells
belonging to the actual cell’s neighbourhood on the layer lay
NeighCell[lay].Min(var)
Returns the minimum value of the variable var on the cells
belonging to the actual cell’s neighbourhood on the layer lay
NeighCell[lay].Max(var)
Returns the maximum value of the variable var on the cells
belonging to the actual cell’s neighbourhood on the layer lay
NeighCell[lay].Average(var)
Returns the arithmetic mean value of the variable var on the
cells belonging to the actual cell’s neighbourhood on the
layer lay
NeighCell[lay].NEqVal(var, val)
Returns the number of cells belonging to the actual cell’s
neighbourhood on the layer lay where the variable var
assumes the value val
Our Environment 24
Example: LIFE
CA Structure
Result: source-code of the transition function
Constants
cell
state
Layer
•
•
Per each variable (parameter or sub-state) represented by the identifier
[Name] it is automatically defined the variable New[Name]
The variable’s updating function must contain at least one assignment
instruction like:
New[Name] = expression
Our Environment 25
Function-based Neighbourhood Updating
(dist(Obj,Cell[Layer].Obj)<100) && (area(Cell[Layer].Obj) > 5000)
Cell
Neighbourhood at the first step
(dist(Obj,Cell[Layer].Obj)<100) && (area(Cell[Layer].Obj) > 5000)
Horizontal
Update
Query
neighbourhood
dist(Obj, Cell[Layer].Obj)<100
Frequency
Probability
Target
cell
Condition
inclusion
condition
Query attributes
Our Environment 26
A Non-regular Spatial Discretisation
Editing Tools
Our Environment 26
Other Useful Tools
Colormap creation
Layers Visualisation Control
Objects Visualisation Control
Variable Values Editing
Our Environment 27
Colormap