Towards a Methodology for Situated Cellular Agent Based

Download Report

Transcript Towards a Methodology for Situated Cellular Agent Based

Crowd Modelling with Situated
Cellular Agents
Giuseppe Vizzari
Department of Computer Science, Systems and
Communication
University of Milan-Bicocca
Outline
• MABS, crowd modelling and simulation
• SCA model at a glance
• SCA crowd modelling methodology
– Spatial structure
– Active Elements of the Environment and Field
Types
– Mobile Agents
• Sample simulation and preliminary results
• Current and future works
Multi Agent
Based Simulation
• Simulation represents a way to
exploit a computational model to
evaluate designs and plans
without actually bringing them
into existence in the real world
• Several situations are
characterized by the presence
of autonomous entities whose
action and interaction
determines the evolution of the
system
• Multi-Agent models are
particularly suited to represent
these situations, and to support
the design and implementation
of simulators
Crowd modelling applications (I)
• Designer’s decision support
– Evacuation situations
– Positioning of signs
– Malls and shopping centres
• Support the study of pedestrian behaviour
– Envisioning of different behavioural models in realistic
environments
– Possibility to perform ‘in-machina’ experiments
 Need of effective ways to analyse overall system
behaviour, but also to present it
Crowd modelling applications (II)
How to model, design and implement
this kind of software system?
The image of Scala Square appears courtesy of GeoSim Systems
Possible approaches
• Analytical
– May handle very large simulation
scenarios
– Entities as ‘mere’ numbers
– No strong notion of space
• Cellular Automata based
– May handle a large number of entities
– Explicit representation of the environment
– Entities are homogeneous (they are
conceived as particular states of cells)
– Extensions to the basic model are often
required (e.g. action-at-a-distance)
– Complex behaviours require a very large
cell state and transition rule
• Multi-Agent Systems (MAS) based
– May handle a smaller number of entities
– Entities are clearly separated by the
environment
– Entities may be heterogeneous
– Only a few approaches and models
provide a representation of the
environment
Cellular Automata (I)
• CA: discrete dynamical systems often described as a counterpart
to partial differential equations (continuous)
• Discrete: space, time and properties have only a finite, countable
number of states. Behavior a system is obtained by the interaction
of cells according to a transition rule
Not to describe a complex system with complex
equations, but let the complexity emerge from the
interaction of simple individuals following simple
rules
• An example of "macroscopic" dynamics resulting from local
interaction is "the wave" in a soccer-stadium
Each person reacts only on the "state" of his neighbor(s). If they stand up,
he will stand up too, and after a short while, he sits down again
Local interaction leads to global dynamics
Cellular Automata (II)
• A regular n-dimensional lattice (n is in most cases of one or
two dimensions), where each cell of this lattice has a
discrete state
– Finite set of cells
• Finite set of possible states for every cell (uniformity)
• Cell evolution is specified by a single transition rule
– the same for every cell
– based on cell neighbours (no action at-a-distance)
• CA cells evolve synchronously
Cellular Automata and crowd modelling
•
•
•
Environment  bidimensional
lattice of cells
Pedestrian  specific state of a
cell (e.g. occupied, empty)
Movement  generated thanks to
the transition rule
– an occupied cell becomes empty
and an adjacent one, which was
previously vacant, becomes
occupied
•
Choice of destination cell in a
transition generally includes
information which is not provided
by basic CAs
– Benefit-Cost/Gradient:
predefined information related
to cell desirability
– Magnetic Force/Social Force:
model the effect of presence
of other agents in the
environment
(attraction/repulsion of
crowds)
From CA to Situated MAS
• Entities are reified, separated
from the environment
– Agents, not just cell states
• They may have different
behaviours
– Possibility to integrate several
different action deliberation
models
– Possible heterogeneous system
• Entities interact by means of
mechanisms not necessarily
related to underlying cell’s
adjacency
– Action at a distance is allowed
Situated MAS action and interaction
• Agents are situated
– they perceive their context and
situation
– their behaviour is based on their
local point of view
– their possibility to interact is
influenced by the environment
• Situated Agents Interaction
models
– Often inspired by biological
systems (e.g. pheromones,
computational fields)
– Generally provide a modification
of the environment, which can
be perceived by other entities
– But may also provide a direct
communication (as for CAs
interaction among neighbouring
cells)
Situated Cellular Agents (SCA)
Multi Agent model providing
• Explicit representation of
agents’ environment
• Interaction model strongly
related to agents’
positions in the
environment
– Among adjacent agents
(reaction)
– Among distant agents,
through field emissiondiffusion-perception
mechanism
react(s,ab,s’)
react(s,ac,s’)
emit(f)
• Possibility to model
heterogeneous agents,
with different perceptive
capabilities and behaviour
CompareT(fc,t) = true
Situated MAS and crowd modelling
• Pedestrians  agents
• Environment  graph, as an
abstraction of the actual
environmental structure
• Movement  generated
thanks to the field diffusionperception-action mechanism
– Sources of signals (fields):
objects, gateways, but also
agents
– Agents are sensitive to these
signals and can be
attracted/repelled by them
– Possible superposition of different
such effects
(amplification/contrast)
transport(p,q)
Sample Application: Lecture hall (I)
Single exit
Sample Application: Lecture hall (II)
Two exits
Previous experiences and motivations
• Some relevant
experiences
– In traditional case
studies
– In more complex
scenarios
• Need to specify clearly
how to analyze, model
and implement these
simulations
SCA Crowd Modelling Methodology
Abstract scenario
specification
Computational model
for the scenario
Experiment-specific
parameters
Definition of the MMASS
spatial structure
Definition of active
elements of the
environment
and field types
Definition of monitored
parameters and
specification
of monitoring mechanisms
Definition of mobile agents
(types, states, perceptive
capabilities and behavioural
specification)
Specific simulation
configuration (number, type,
position and initial state of
mobile agents, other
parameters)
Spatial structure of the environment
Spatial structure 
discrete abstraction of
simulation environment
• Scale of discretization and adjacency  depend on
specific scenario (e.g. 50cm sided cells, Von Neumann
neighbourhood with some exceptions)
• Activity supported by software
Active Elements of the Environment and Field Types
• Movement generated thanks to field related effects
(attraction/repulsion)
• Active elements of the environment  sources of signals, reference
points
– objects which constraint movement
– objects that transmit conceptual information (e.g. exit signs or
indications)
Mobile Agents - States
Agents behaviours
can be very composite
– Segment behavioural
specification into
several states 
attitudes towards
movement
E
G
W
W
Waiting: passengers on the platform
waiting for a train
G
Get Off: people on the wagon that have to
get off the train
P
Passenger: agent on the train that has no
immediate urge to get off
E
Exit: passenger that has got down the train
and goes away from the station
S
P
S
Seated: agent seated on a seat
of the wagon
State Transition
Mobile Agents – Movement Utility
•
•
Movement generated thanks to field
related effects (attraction/repulsion)
When multiple fields are present in
the environment
– Agents evaluate the utility of each
possible destination site
– The single contributions of various
fields are combined in the overall
site utility, for the current agent
state
State

Exits
Doors
transport(p,q)
Seats
Handles
Presence
Exit press.
W
-
Attract (2)
-
-
Repel (3)
Repel (1)
P
-
-
Attract (1)
Attract (2)
Repel (3)
Repel (2)
G
-
Attract (1)
-
-
Repel (2)
-
S
-
Attract (1)
-
-
-
-
E
Attract (2)
-
-
-
Repel (2)
-
Case Study
Preliminary results
• Simulation
configuration
– 6 agents getting off
– 8 agents getting on
• “Mixed” results
– Agents accomplish
their goals
– Some ‘erratic’
phenomena
• Oscillations (“forth and
back” movements)
• Semi static situations
(“equivalent” groups
facing each other)
Further works
• Tuning of utility function
– Already some work done
• Mechanism for agent facing and penalization of steps back
choices
• Penalization of immobility (unless a goal is reached)
• ... define exceptions to crowd repulsion, to support imitation?
• Integration with realistic 3D visualization tools
– Already some results  3D Studio Max integration
– Full 3D engine integration in progess
• Design and development of further tools
supporting the modeller in the implementation of
SCA crowd simulations
• Towards more complex behaviours?
Why 3D? And how?
• To obtain a machine-readable spatial abstraction in a
semi-automatic way from existing models of the
environment
• To obtain an effective visualization of simulation
dynamics
• Possibly to exploit the rich information of a 3D model to
implement highly realistic perception
• Different possibilities to develop such a system
– Integrate results of bidimensional simulators with existing 3D
modelling and rendering tools (offline animation)
– Integrate the simulator with a realtime 3D engine (interactive
simulation)
The image of Scala Square appears courtesy of GeoSim Systems
Integrating 2D and 3D
• Java based bidimensional simulator implementing MAS
model elements
• Exported log of the simulation including
– Definition of the spatial structure
– System dynamics
• MaxScript that allows 3D Studio Max to generate an
animation representing the simulated scenario
Avatar#001#001#001#004#003#000@
Avatar#002#002#001#003#005#000@
Avatar#001#002#010#003#002#000@
Avatar#002#001#001#003#004#000@
Space#001#001#001#001#006#000@
Space#001#002#001#002#005#000@
Space#001#003#001#004#005#000@
Space#001#004#001#004#004#000@
Space#001#005#001#003#004#000@
Space#001#006#001#003#002#000@
Space#001#007#001#004#002#000@
Space#001#008#001#005#002#000@
“Full” 3D solutions
• Enhance a realtime 3D
engine with MAS model
elements
• Endow visually rich
entities with a flexible,
general behavioural
model
• Supports
– dynamism in visualization
– interactivity of the
simulation system
– exploitation of 3D model of
the environment
+
More complex
behaviours?
emit(f)
•
Using the head-body metaphor
for agent-based systems,
situated MASs provide a good
model for the “body”
– notions of locality and
perception
– situated action and interaction
•
Possibility to enhance this body
with some more ‘head’
functionalities
– From simple reactive models
to more complex agent
architectures
– Internal abstractions of agents’
environment (e.g. maps)
•
Build more complex,
psyco/sociologically founded
behavioural models on these
basic mechanisms
CompareT(fc,t) = true
Pervasive Computing and Agents?
• Human-machine interaction is pervading the
environment
– ever growing number of diffused computational devices
– used in every-day activities
– influencing human interaction
• Technology supporting context awareness
– provides services both context and location aware
– the range of high level applications is ever extending
– the challenging applications in the future will be pervading the
environment and its inhabitants
• Distributed/diffused/pervading technology main
requirements:
– be able to fuitfully exploit interactions with other components
(e.g. information sources)
– offering reasonable services autonomously
From Simulation to
Pervasive Computing
• From a simulation in
which synthetic entities
interact in a virtual
museum
• To an augmented reality
in which actual artifacts
provide information and
services to museum
visitors
• Situatedness, locality,
situated interactions
supporting contextawareness
Giuseppe Vizzari
Artificial Intelligence Laboratory
L.INT.AR
Department of Computer Science, Systems and Communication
University of Milan-Bicocca
[email protected]