53
Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini http://lamp.sigis.net

Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Two complexities and their modelsA friendly environment to simulate urban dynamics

Arnaldo “Bibo” Cecchini

http://lamp.sigis.net

Page 2: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Client

Client 2

1

Client 3

Expert

Expert 2

1

Expert 3

User 1

User 2

User 3

Stakeholder 1

Stakeholder 2

Stakeholder 3

Page 3: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Client

Client 2

1

Client 3

Expert

Expert 2

1

Expert 3

User 1

User 2

User 3

Stakeholder 1

Stakeholder 2

Stakeholder 3

… And more ….. Hidden Illegal Criminal

Page 4: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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.

Page 5: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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.

Page 6: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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.

Page 7: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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, …

Page 8: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Cellular Automata 1

A cellular automaton is a discrete dynamic system 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 ruleevolution rule that changes simultaneously the state of all

cells within discrete temporal steps.

The founding idea: to simulate the behaviour of a complex system simulate the behaviour of a complex system

based on the interaction of a great number of cells that follow based on the interaction of a great number of cells that follow

simple rules,simple rules, and not to describe the global behaviour through complex

equations

Page 9: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Cellular Automata 2

C C C C

Bi-dimensional grids and classical neighbourhoodsBi-dimensional grids and classical neighbourhoods

Page 10: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Cellular Automata 3

Cellular automata (CA) are discrete dynamic systemsdiscrete dynamic systems, but

often represent an efficacious alternative to systems of

diffeerential equations for the simulation of continuous continuous

dynamic systemsdynamic 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 simulate the behaviour of a

complex system based on the interaction of a great complex system based on the interaction of a great

number of cells that follow simple rules,number of cells that follow simple rules, and not to

describe the global behaviour through complex equations

Page 11: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

{ SN }

{ SA}{ SA}

a

c

b

1

Space: regularity

State set: uniformity

Neighborhood: stationarity

Transition function: universality

Transition function: invariance

Time: regularity

System closure: closed

nonregularity

time variance

nonuniversality

nonstationarity

nonuniformity

irregularity

open

Classical CA and limits for UM 1

Page 12: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Basic properties of CA (Couclelis 1985)

The principles that Couclelis calls "leading conventions" are:

• 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.

Classical CA and limits for UM 2

Page 13: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Spatial and Temporal Stationariety of NeighbourhoodsIn CAGE the neighbourhood can vary with time and is defined as relations, non necessarily geometrical, among objects of the model.

Regularity in spatial discretisationIn 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

functionsIn 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 1

Page 14: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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 environmentsIn CAGE specific functions for importing/exporting spatial and alphanumeric data available in existing GIS environments will be developedEnvironments 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 CAs for Urban Models 2

Page 15: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

MODEL I

MODEL V

MODEL IV

MODEL III

MODEL II

j

i

gijt+tgij

t

gijt gij

t+t

gijt-2 gij

t-1 gijt gij

t +t

uijt

vijt

wijt

gijt +t

gijt

1±p,1 ±q gijt +t

Tobler 1979

The fifth one "hides" two kind of CA, one which we could call "synchronous" where it's:

gi,j = F(gi ±p, j ±q)

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)

Basics Territorial models

Page 16: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Basics land use change CA model

Final Land Use

P ij

P ik

P jk

Static Variables: technical infrastructure;

social infrastructure; real state market; occupation density; etc.

Dynamic Variables: type of land use-neighbouring cells; dist. to certain land uses

Source: Adapted from Soares (1998).

Transition probabilities

Initial Land UseCalculates Amount

of Transitions

Meta rules

Iterations

Calculates Dynamic Variables

Calculates Spatial Transition Probability

Page 17: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Example of CA Urban Simulation 1

t0 t1 t3 t4

CA Modelcalibration

validation

forecast

Source: adapted from Almeida (2004).

Page 18: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Predominantly Deterministic Models of Land Use Change

Spontaneous (random) new

growth

Organic growth

Diffusive growth and spread of a

new growth centre

Road influenced

growth

(Clarke et al., 1997)

Cell urbanised at previous step

Growth moved to road, and spread

Seed Cell

Cell urbanised by this step

Road

Example of CA Urban Simulation 2 A

Page 19: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Evolution of Urban Growth - San Francisco Bay Area

(USA)Clarke et al., (1997)

topography, roads in 1920, roads in 1978.

Decisive factors for urban growth:

Predominantly Deterministic Models of Land Use Change Example of CA Urban Simulation 2 B

Page 20: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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

Predominantly Stochastic Models of Land Use Change

• 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 A

Page 21: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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

Cells Transition Probability:

Predominantly Stochastic Models of Land Use Change

Example of CA Urban Simulation 3 B

Page 22: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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 A

Page 23: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

CAGE Application Example: the Heraklion Model Example of CA Urban Simulation 4 B

Initial (1980 - observed) Final (2000 - simulated)

Page 24: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

CAGE Application Example: the Heraklion Model

Observed 2000 data

Example of CA Urban Simulation 4 C

Real-estate values: simulated values after 20 steps

0%

20%

40%

60%

80%

100%

0.0 - 0.25 0.25 - 0.5 0.5 - 0.75 0.75 - 1

Relative error

Num

ber

of c

ells

• The model parameters was calibrated trough genetic algorithms

• More than 60% of the total cell number (1671) take the correct real estate value class at the configuration of calibration

Page 25: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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 1

Page 26: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

User-friendly GUIGUI for visual modelling of cellular automata

Cross-platformCross-platform application based on QTQT libraries (Windows-Linux)

Overcoming of many restrictions Overcoming of many restrictions typical of the CA-based

environments

Scenario structured in layersScenario structured in layers (on different layers simulations of

various relevant phenomena take place)

Some library functionslibrary functions are predefined and help in the definition of

evolution rules

Export/Import Export/Import of data and graphs

Execution on remote computer Execution on remote computer via TCP/IPTCP/IP protocol

Essential Characteristics of CAGE

Our Environment 2

Page 27: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

The CAGE’s GUI

Structure modelling

Graphical windows

Our Environment 2

Page 28: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

LPAC GG ,,fThe cellular automata The cellular automata is defined by three elements:

)()2()1( gGGGG PPPP

is a finite set of values of g-dimensional vector of global

parameters:

is a vector of global parameters’ update

functions

is a set of n cell layers.

)()2()1( ,,, gGGGG fff f

nlllL ,,, 21

GP

The CA Model

Our Environment 3

Page 29: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

The Layer

A cell layer cell layer is defined by three elements:

LiLiii PCl f,,

is a set of cells

is a finite set of values of r-dimensional vector of layer’s

parameters.

is a vector of layer parameters’ update

functions

iC

LiP

)()2()1( ,,, rLiLiLiLi fff f

Our Environment 4

Page 30: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

The Cell 1

iiCiiCiii OPSC ,,,,, fσ

The cellcell is defined by six elements:

is a finite set of values of the q-dimensional vector of the

cell’s state

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

iS

CiP

Our Environment 5

Page 31: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

is a vector of n neighbourhood

functions defined as:

)()2()1( ,,, niiii σ

nkCPPCC kGLiC

kik

ik ..1),(:)(

)(ii

Horizontal

neighbourhood

)( ji

ijcon Vertical

neighbourhood

The Cell 2

Our Environment 6

iiCiiCiii OPSC ,,,,, fσ

Page 32: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

• is a vector of local parameters’

update functions where:

• is the transition function of a generic layer’s cell that

describes the transition of the cell’s state and is defined as:

)()2()1( ,,, mCiCiCiCi fff f

CiCiLiG

n

ikk

kCi PPPPSk

i

1

)(

: f

i

iCiLiGii SPPPSi

i )(

:

The Cell 3 iiCiiCiii OPSC ,,,,, fσ

Our Environment 7

Page 33: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

The Update functions of layer’s parameters are defined as:

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.

LiLiC

iLi PPS i :f

Layer Parameters Updating LiLiii PCl f,,

Our Environment 9

Page 34: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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:

A global parameter can be updated, even based on an external

variable, by a generic calculum model evolving in parallel to the

cellular automaton

)(

1

)( : kGG

n

kLk

kG PPP

f

Global Parameters Updating LPAC GG ,,f

Our Environment 10

Page 35: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

The Architecture of CAGE

TCP

CAGEserver

CAGEclient

CAGEclient

CAGEclient

C++ compiler

CA kernelCA kernelCA kernel

PIPE

Our Environment 11

Page 36: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Characteristics of CAGE: Structure ModellingFunction generation

Change of selected element’s attributes

Tree-structure representation

Flow-chart representation of the function

Inserting: layers, parameters, constants,sub-states,vertical neighbourhoods

Function source-code

Page 37: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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 13

Page 38: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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 14

Page 39: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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 discretisationbased on a function (query)

• Per each vertical neighbourhood it should be specified:

the reffering layerthe neighbourhood’s updating function

Our Environment 15

Page 40: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Functions

• Per each function (parameters, sub-states and neighbourhoods updating) it is necessary to define:

the label

the frequency of execution

the probability of execution

an execution subordination condition

Our Environment 15

Page 41: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Function Generation

Flow-chart creationProperties of the selected component

Guided code input (variables and library functions)

Our Environment 16

Page 42: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Flow-Chart Components

If-then

If-then-else

If-then-else if

Block

Single Statement

Free Instruction

Flow-Chart End

Our Environment 17

Page 43: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Logical ConditionsTree-like representation

Example: (a=1 AND b=2) OR (c=0)

AND

OR

a=1

b=2

c=0

Our Environment 18

Page 44: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Logical PropositionsCreation of a composed logical proposition

Our Environment 19

Page 45: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Library Functions

Geometrical Functions

dist(obj1, obj2) Returns the distance between object obj1and 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 20

Page 46: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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/overExample: prob(10,100) returns true in 10% of cases

div(n1, n2) Returns true if n1 is a mutiplier of n2

Our Environment 21

Page 47: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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 22

Page 48: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

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 1

Page 49: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

CA Structure

Layercell state

Result: source-code of the transition function

Example: LIFE

• 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

Constants

Our Environment 24

Page 50: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Function-based Neighbourhood Updating

Query attributes

Target cell inclusion condition

(dist(Obj,Cell[Layer].Obj)<100) && (area(Cell[Layer].Obj) > 5000)

(dist(Obj,Cell[Layer].Obj)<100) && (area(Cell[Layer].Obj) > 5000)

Cell Neighbourhood at the first step

dist(Obj, Cell[Layer].Obj)<100

Update QueryHorizontal neighbourhood

ProbabilityFrequency

Condition

Our Environment 25

Page 51: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

A Non-regular Spatial Discretisation

Editing Tools

Our Environment 26

Page 52: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Objects Visualisation Control

Layers Visualisation Control

Variable Values Editing

Other Useful Tools

Colormap creation

Our Environment 26

Page 53: Two complexities and their models A friendly environment to simulate urban dynamics Arnaldo “Bibo” Cecchini

Colormap

Our Environment 27