Multiagent-based Simulation Organizational and Agent Modeling, Janus Platform
St´ ephane Galland ´ ´ Seminar at the Ecole Nationale Sup´erieure des Mines of Saint-Etienne
Universit´ e de Technologie de Belfort-Montb´ eliard, 90010 Belfort cedex, France - http://www.multiagent.fr
2
Laboratory “Systems and Transport” (IRTES-SET) ICAP Team
CCE Team
ECS Team
ERCOS Team
Mobile communication Multiagent Systems Environment Perception
Modeling/optimisation of fuel cells Energy management
Traffic regulation
Product and system ergonomics Collaborative and reactive design
Supply chain and logicitics
Period 2006–2010 Full professors Associate professors with habilitation Associate professors Researchers under contract Engineers, technical, admin staff PhD students Post-doctorates Other staff Total
S. Galland Seminar ENSM – 2013/11/07 – IRTES
9 7 19 13 5 61 5 8 127
Period 2006–2010 Journal 173 Book chapters 29 Conferences 376
3
Multiagent Systems
Multiagent Group at IRTES-SET
Organizational Metamodel (CRIO) Agent Architectures, Behavior Models, Environment Model Execution Platform (Janus/Jasim) CASE Tool (Janeiro)
Applications
Cyber-physical Systems Smart grids
Smart cities and buildings
building, district
car, cycle, pedestrian
Immersive and interactive training
Agent-oriented and Organization-oriented Software Engineering Methodology ASPECS
Key points: - Complex Systems - Large-scale - Accurate Simulation - Serious Game 3D/2D
http://www.multiagent.fr S. Galland Seminar ENSM – 2013/11/07 – IRTES
4
Goals of this Seminar
1
Present the basics of the simulation.
2
Detail the principles of the multiagent-based simulation.
3
Introduction to organizational modeling. Illustration on:
4
Carpooling simulation, Highway simulation, Pedestrian simulation, Intelligent Vehicle.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
5
JANUS
Platform
General purpose open-source platform Agent-oriented platform Organizational platform Holonic platform Extensions: BDI, ACL, physical environment model. . .
http://www.janus-project.org S. Galland Seminar ENSM – 2013/11/07 – IRTES
6
Outline
1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) 3 Examples of Multiagent-based Simulations with Janus
S. Galland Seminar ENSM – 2013/11/07 – IRTES
7
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
8
Several Definitions of Simulation (1/2) [Shannon, 1977] The process of designing a model of a real system and conducting experiments with this model for the purpose either of understanding the behavior of the system or of evaluating various strategies (within the limits imposed by a criterion or a set of criteria) for the operation of the system.
Why simulate? Understand / optimize a system. Scenarii/strategies evaluation, testing hypotheses to explain a phenomenom (decision-helping tool). Predicting the evolution of a system, e.g., metrology. S. Galland Seminar ENSM – 2013/11/07 – IRTES
9
Several Definitions of Simulation (2/2)
[Fishwick, 1997] Computer simulation is the discipline of designing a model of an actual or theoritical physical system, executing the model on a digital computer, and analyzing the execution output. Three fundamental tasks in all kinds of simulation Model design. Model running. Result analysis.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
10
Simulation Process
1
Requirement analysis: defining the objectives addressed by the model,
2
Model conceptualization and specification,
3
Implementation,
4
Calibration and bug fixing,
5
Experiments,
6
Analysis of results. Parallel activity: model validation (against the real system). Model verification (end of each activity).
S. Galland Seminar ENSM – 2013/11/07 – IRTES
11
Simulation Basics Real System
System Model Abstraction/Simplification/Focus
fro nta
tio n
Observations Experimental results
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Simulation
Co n
Tuning model
Explanation/Optimization/Prediction
Simulation results/outputs
12
Modeling Relation: System ↔ Model [Zeigler et al., 2000]
To determine if the system model is an acceptable simplificiation in terms of quality criteria and experimentation objectives. Directly related to the consistency of the model simulation. S. Galland Seminar ENSM – 2013/11/07 – IRTES
13
Simulation Relation: Model ↔ Simulator [Zeigler et al., 2000]
To guarantee that the simulator, used to implement the model, correctly generates the behavior of the model. To be sure that the simulator reproduces clearly the mechanisms of change of state are formalized in the model. S. Galland Seminar ENSM – 2013/11/07 – IRTES
14
What is simulated? A dynamic system See the systemic theory and the general system theory. Two fundamental aspects in a dynamic system: External behavior of the system (at its bounds): the observable reactions of the system from outside it. 2 Internal structure and behavior of the system: its internal state and its inner dynamics (state-transition function). 1
Inputs
Internal structure Internal state Internal dynamic External Behavior
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Outputs
15
Dynamic of System: Time Advance Function Primarily defined according to the way it evolves over time. One of the most important characteristics of a model: How the passage of time is represented? 3 main approaches: Continous model: state variables evolve continously. Differential equation system specification. Discrete model: time axis is discretized following a constant period ∆t (the time step) σ(t + ∆t) = Φ(σ(t)) With σ(t) the state of the system at t, and Φ the transition function. Event-based model: state variables evolve discretely at specific instants represented by events. S. Galland Seminar ENSM – 2013/11/07 – IRTES
15
Dynamic of System: Time Advance Function Primarily defined according to the way it evolves over time. One of the most important characteristics of a model: How the passage of time is represented? 3 main approaches: Continous model: state variables evolve continously. Differential equation system specification. Discrete model: time axis is discretized following a constant period ∆t (the time step) σ(t + ∆t) = Φ(σ(t)) With σ(t) the state of the system at t, and Φ the transition function. Event-based model: state variables evolve discretely at specific instants represented by events. S. Galland Seminar ENSM – 2013/11/07 – IRTES
15
Dynamic of System: Time Advance Function Primarily defined according to the way it evolves over time. One of the most important characteristics of a model: How the passage of time is represented? 3 main approaches: Continous model: state variables evolve continously. Differential equation system specification. Discrete model: time axis is discretized following a constant period ∆t (the time step) σ(t + ∆t) = Φ(σ(t)) With σ(t) the state of the system at t, and Φ the transition function. Event-based model: state variables evolve discretely at specific instants represented by events. S. Galland Seminar ENSM – 2013/11/07 – IRTES
16
Classical Topology of the Simulation
Topology according to the granularity of the simulation, the level of details that is possible in the model [Hoogendoorn and Bovy, 2001, Davidsson, 2000]. Microscopic Simulation: Explicitly attempts to model the behaviors of each individual. The system structure is viewed as emergent from the interactions between the individuals.
Macroscopic Simulation: Mesoscopic Simulation: Multilevel Simulation:
S. Galland Seminar ENSM – 2013/11/07 – IRTES
16
Classical Topology of the Simulation Topology according to the granularity of the simulation, the level of details that is possible in the model [Hoogendoorn and Bovy, 2001, Davidsson, 2000]. Microscopic Simulation: Macroscopic Simulation: Based on mathematical models, where the characteristics of a population are averaged together. Simulate changes in these averaged characteristics for the whole population. The set of individuals is viewed as a structure that can be characterized by a number of variables.
Mesoscopic Simulation: Multilevel Simulation: S. Galland Seminar ENSM – 2013/11/07 – IRTES
16
Classical Topology of the Simulation
Topology according to the granularity of the simulation, the level of details that is possible in the model [Hoogendoorn and Bovy, 2001, Davidsson, 2000]. Microscopic Simulation: Macroscopic Simulation: Mesoscopic Simulation: Something in between.
Multilevel Simulation:
S. Galland Seminar ENSM – 2013/11/07 – IRTES
16
Classical Topology of the Simulation
Topology according to the granularity of the simulation, the level of details that is possible in the model [Hoogendoorn and Bovy, 2001, Davidsson, 2000]. Microscopic Simulation: Macroscopic Simulation: Mesoscopic Simulation: Multilevel Simulation: combines various levels (micro-macro for example).
S. Galland Seminar ENSM – 2013/11/07 – IRTES
16
Classical Topology of the Simulation
Topology according to the granularity of the simulation, the level of details that is possible in the model [Hoogendoorn and Bovy, 2001, Davidsson, 2000]. Microscopic Simulation: Macroscopic Simulation: Mesoscopic Simulation: Multilevel Simulation: Multiagent-based Simulation (MABS) is traditionnally considered as a special form of microscopic simulation, but not restricted to.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
17
Classical Types of Models
Equation-based Models: mainly from computational physics: particle system evolution, Vortex methods, molecular dynamics, fluid dynamics, finite element.
Process-oriented Models: Queuing models or networks Petri-nets
Object-oriented simulation: Cellular automata:
S. Galland Seminar ENSM – 2013/11/07 – IRTES
18
Macro Simulation: Main Characteristics and Advantages
Usually are: equation-based model, differential equations ⇒ well understood, established mathematical framework. Formulas are concise and form a complete model. Proven success in several domains. Usually, the volume and the accuracy of data required for the initialization are much smaller than for other approaches. Usually, lighter in terms of computations. Easier to simulate large scale systems.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
19
Macro Simulation: Limitations and Drawbacks Difficult to switch from micro to macro level (transition). Difficult (or impossible) to represent certain behaviors, e.g., predation, mating rituals, acquisition of food. . . Does not represent behaviors but the results/outputs of the behaviors (aggregated data: number of descendants, food intake quantity. . . ) Not appropriate for certain kinds of systems: Systems that draw their dynamics from flexible local interactions; Social systems, social hierarchies; Emergent phenomena and self-organizing systems: biological systems, trafic systems; Multi-level systems; Intelligent human behavior. S. Galland Seminar ENSM – 2013/11/07 – IRTES
20
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
21
MABS: Main Characteristics and Advantages
More flexible than macroscopic models to simulate spatial and evolutionary phenomena. Dealing with real multiagent systems directly: real Agent = simulated Agent. Allows modelling of adaptation and evolution. Heterogeneous space and population. Multi-level modeling: integrate different levels of observation, and of agent’s behaviors.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
22
MABS: Limitations and Drawbacks
Offer a significant level of accuracy at the expense of a larger computational cost. Require many and accurate data for their initialization. It is difficult to apply to large scale systems. Actual simulation models are costly in time and effort.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
23
MABS: General Idea
Create an artificial world composed of interacting agents. The behavior of an agent results from: its perceptions/observations; its internal motivations/goals/beliefs/desires; its eventual representations; its interaction with the environment (indirect interactions, ressources) and the other agents (communications, direct interactions, stimuli).
Agents act and modify the state of their environment through their actions. We observe the results of their interactions like in a Virtual Lab.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
24
Fundamental Properties of an Agent Autonomy: owns a internal state on which it has a total control, inaccessible to other agents. Takes decisions according to this internal state without any outside intervention (human or other agents). Reactivity: evolves in an environment, perceives it and reacts to changes that occur (especially through their actions). Social: is a social entity able to interact with other agents directly or via the environment. Proactivity: does not only react to its environment but is also able of producing its own actions motivated by its personal goals/motivations. [Wooldridge and Jennings, 1995, Wooldridge, 2009] S. Galland Seminar ENSM – 2013/11/07 – IRTES
24
Fundamental Properties of an Agent Autonomy: owns a internal state on which it has a total control, inaccessible to other agents. Takes decisions according to this internal state without any outside intervention (human or other agents). Reactivity: evolves in an environment, perceives it and reacts to changes that occur (especially through their actions). Social: is a social entity able to interact with other agents directly or via the environment. Proactivity: does not only react to its environment but is also able of producing its own actions motivated by its personal goals/motivations. [Wooldridge and Jennings, 1995, Wooldridge, 2009] S. Galland Seminar ENSM – 2013/11/07 – IRTES
24
Fundamental Properties of an Agent Autonomy: owns a internal state on which it has a total control, inaccessible to other agents. Takes decisions according to this internal state without any outside intervention (human or other agents). Reactivity: evolves in an environment, perceives it and reacts to changes that occur (especially through their actions). Social: is a social entity able to interact with other agents directly or via the environment. Proactivity: does not only react to its environment but is also able of producing its own actions motivated by its personal goals/motivations. [Wooldridge and Jennings, 1995, Wooldridge, 2009] S. Galland Seminar ENSM – 2013/11/07 – IRTES
24
Fundamental Properties of an Agent Autonomy: owns a internal state on which it has a total control, inaccessible to other agents. Takes decisions according to this internal state without any outside intervention (human or other agents). Reactivity: evolves in an environment, perceives it and reacts to changes that occur (especially through their actions). Social: is a social entity able to interact with other agents directly or via the environment. Proactivity: does not only react to its environment but is also able of producing its own actions motivated by its personal goals/motivations. [Wooldridge and Jennings, 1995, Wooldridge, 2009] S. Galland Seminar ENSM – 2013/11/07 – IRTES
25
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
26
Multiagent Based Simulation (MABS)
Agent
Direct interaction Perceptions
Agent
Actions
Environment - Resources, services, objects - Rules, laws - Physical structures (spatial and topological) - Communication structures (stigmergy, implicit communication) - Social structure
S. Galland Seminar ENSM – 2013/11/07 – IRTES
27
Designing a Multiagent Simulation Model [Michel, 2004] Behaviors Internal Agent Architecture
Definitions of action, perception, and conflict resolution
Modeling of agent deliberation processes (agent mind)
Environment Physical objects of the world, their structuring, environment dynamics (evaporation...)
implies manages
implies
Scheduling Temporal dynamic of the system
Interaction manages
Modeling of the time progress, and of the agent scheduling
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Modeling the concurrent events Modeling the results of actions and interactions at a given time
28
Basic Agent Architecture in JANUS [Gaud et al., 2008]
External world (UI, database...)
Basic Agent Architecture Channels
Agent Internal Properties & Attributes
Signal Manager Agent Behavior activate
Agent Memory
live Agent-agent communication end
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Mailbox
Other agents
29
Coding an Agent on JANUS in Java
in Python
p u b l i c c l a s s ToyAgent e x t e n d s Agent { p u b l i c Status activate ( ←Object . . . args ) { /∗ . . . ∗/ return null ; } p u b l i c Status live ( ) { /∗ . . . ∗/ return null ; } p u b l i c Status end ( ) { /∗ . . . ∗/ return null ; } }
d e f activateAgent ( agent , ←args ) : /∗ . . . ∗/
S. Galland Seminar ENSM – 2013/11/07 – IRTES
d e f liveAgent ( agent ) : /∗ . . . ∗/ d e f endAgent ( agent ) : /∗ . . . ∗/
30
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
31
Classical Agent Architectures
condition1
action1
condition2
action2
conditionn
actionn
∅
Force-based model: [Helbing and Molnar, 1997] [Reynolds, 1999] Belief, Desire, Intention (BDI): [Rao, 1995] Others: S. Galland Seminar ENSM – 2013/11/07 – IRTES
output
if condition1 then action1 else if condition2 then action2 else ... end if end if
inputs
There is plenty of agent architectures from the literature. Subsomption Architecture: [Brooks, 1990] Priority-ordering sequence of condition-action tuples.
31
Classical Agent Architectures There is plenty of agent architectures from the literature. Subsomption Architecture: [Brooks, 1990] Force-based model: [Helbing and Molnar, 1997] [Reynolds, 1999] ! −P n −− X n −−−−−→ \ α . p − a a i i i i=1 ~f = + β. −p −−→ n |− p − ai | i=1 a2
a2
a1
a2
a1
p
a1
p
a3
separation
p
a3
alignment
a3
cohesion
Belief, Desire, Intention (BDI): [Rao, 1995] Others: S. Galland Seminar ENSM – 2013/11/07 – IRTES
31
Classical Agent Architectures There is plenty of agent architectures from the literature. Subsomption Architecture: [Brooks, 1990] Force-based model: [Helbing and Molnar, 1997] [Reynolds, 1999] Belief, Desire, Intention (BDI): [Rao, 1995] Bielefs
Inputs
Control flow
Belief recognition
Desires
Generate options
Intentions
Filtering
Action selection Outputs
Others: S. Galland Seminar ENSM – 2013/11/07 – IRTES
31
Classical Agent Architectures There is plenty of agent architectures from the literature. Subsomption Architecture: [Brooks, 1990] Force-based model: [Helbing and Molnar, 1997] [Reynolds, 1999] Belief, Desire, Intention (BDI): [Rao, 1995] Others: state machines, activity diagrams, expert systems, goal-oriented algorithms. . .
S. Galland Seminar ENSM – 2013/11/07 – IRTES
32
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
33
Interaction Understanding together Agents may use the same concepts for understanding together. Ontology: specification of the unknowledge in a specific domain. Agent Communication Language: specification of the communication elements with language acts.
Managing interaction Specification of interaction protocols, Blackboard Architecture, Auction, and negotiation, ... S. Galland Seminar ENSM – 2013/11/07 – IRTES
33
Interaction Understanding together Agents may use the same concepts for understanding together. Ontology: specification of the unknowledge in a specific domain. Agent Communication Language: specification of the communication elements with language acts.
Managing interaction Specification of interaction protocols, Blackboard Architecture, Auction, and negotiation, ... S. Galland Seminar ENSM – 2013/11/07 – IRTES
34
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
35
Missions of the Environment [Weyns et al., 2005] M1 - Sharing informations: Environment is a shared structure for agents, where each of them perceives and acts. M2 - Managing agents actions and interactions: It is related to the management of agents’ simultaneous and joint actions and to the preservation of the environmental integrity: influence-reaction model [Ferber and M¨ uller, 1996, Michel, 2004, Galland et al., 2009]. M3 - Managing perception and observation: Agents can manage the access to environmental informations and guarantee the partialness and localness of perceptions. M4 - Maintaining endogenous dynamics: The environment is an active entity; it can have its own processes, independently of the ones of the agents. S. Galland Seminar ENSM – 2013/11/07 – IRTES
35
Missions of the Environment [Weyns et al., 2005] M1 - Sharing informations: Environment is a shared structure for agents, where each of them perceives and acts. M2 - Managing agents actions and interactions: It is related to the management of agents’ simultaneous and joint actions and to the preservation of the environmental integrity: influence-reaction model [Ferber and M¨ uller, 1996, Michel, 2004, Galland et al., 2009]. M3 - Managing perception and observation: Agents can manage the access to environmental informations and guarantee the partialness and localness of perceptions. M4 - Maintaining endogenous dynamics: The environment is an active entity; it can have its own processes, independently of the ones of the agents. S. Galland Seminar ENSM – 2013/11/07 – IRTES
35
Missions of the Environment [Weyns et al., 2005] M1 - Sharing informations: Environment is a shared structure for agents, where each of them perceives and acts. M2 - Managing agents actions and interactions: It is related to the management of agents’ simultaneous and joint actions and to the preservation of the environmental integrity: influence-reaction model [Ferber and M¨ uller, 1996, Michel, 2004, Galland et al., 2009]. M3 - Managing perception and observation: Agents can manage the access to environmental informations and guarantee the partialness and localness of perceptions. M4 - Maintaining endogenous dynamics: The environment is an active entity; it can have its own processes, independently of the ones of the agents. S. Galland Seminar ENSM – 2013/11/07 – IRTES
35
Missions of the Environment [Weyns et al., 2005] M1 - Sharing informations: Environment is a shared structure for agents, where each of them perceives and acts. M2 - Managing agents actions and interactions: It is related to the management of agents’ simultaneous and joint actions and to the preservation of the environmental integrity: influence-reaction model [Ferber and M¨ uller, 1996, Michel, 2004, Galland et al., 2009]. M3 - Managing perception and observation: Agents can manage the access to environmental informations and guarantee the partialness and localness of perceptions. M4 - Maintaining endogenous dynamics: The environment is an active entity; it can have its own processes, independently of the ones of the agents. S. Galland Seminar ENSM – 2013/11/07 – IRTES
36
Environment Definition
Immobile/Static objects: wall, trees. . . Mobile/Dynamic objects: all are managed by the environment itself, several are influenced by the characters (i.e., bodies and avatars), ball, car. . . Environmental laws: collision avoidance, gravity. . . Endogenous processes: moving objects outside the scope of specific character’s actions.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
37
Physical Environment Model [Galland et al., 2009]
Agent
Agent
Direct interaction
Behavioral component Agent mind
Environment Interface
Environment Dynamics Engine
Influence
Environment - Resources - Physical structures - Physical rules
Physical component Agent body Influence Influence Solver
ensure valid environment state according to environment laws
Environmental Object Collection Environment's State
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Perception Perception data structure spatial tree, grid, graph
38
Body-Mind Distinction [Galland et al., 2009]
Agent Agent mind
State variables of the decisional component
Agent memory
Readable/modifiable only by the agent
Action
Filtered perception
Behavior
Environment Interface Agent body
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Action filter Influence
Perception
Perception filter
Physical attributes (x,y,z), V(t) a(t)
State variables of the physical component Readable by the agent Modifiable by the environment
39
Environment Data Structures It is required to define a data structure, which allows to efficiently access to the smallest set of objects concerned by a process. Typical environmental data structures: structure dedicated to perception of the static objects, structure dedicated to perception of the mobile objects, ground model for the “gravity” and the “traversability. . . ”
Some classical structures are: Graph (1D), Grid (2D, 3D), Spatial tree (2D, 3D). Hybrid, e.g., grid of trees.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
39
Environment Data Structures It is required to define a data structure, which allows to efficiently access to the smallest set of objects concerned by a process. Typical environmental data structures: structure dedicated to perception of the static objects, structure dedicated to perception of the mobile objects, ground model for the “gravity” and the “traversability. . . ”
Some classical structures are: Graph (1D), Grid (2D, 3D), Spatial tree (2D, 3D). Hybrid, e.g., grid of trees.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
39
Environment Data Structures It is required to define a data structure, which allows to efficiently access to the smallest set of objects concerned by a process. Typical environmental data structures: structure dedicated to perception of the static objects, structure dedicated to perception of the mobile objects, ground model for the “gravity” and the “traversability. . . ”
Some classical structures are: Graph (1D), Grid (2D, 3D), Spatial tree (2D, 3D). Hybrid, e.g., grid of trees.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
39
Environment Data Structures It is required to define a data structure, which allows to efficiently access to the smallest set of objects concerned by a process. Typical environmental data structures: structure dedicated to perception of the static objects, structure dedicated to perception of the mobile objects, ground model for the “gravity” and the “traversability. . . ”
Some classical structures are: Graph (1D), Grid (2D, 3D), Spatial tree (2D, 3D). Hybrid, e.g., grid of trees.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
40
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
41
Synchronous Scheduling
e enc
Behavior
Influ
Percept
ion
One agent
Agent Scheduling
Perception generation
Environment Scheduling
Endogenous dynamics
Influence collection
Environment reaction computation Update environmental state
S. Galland Seminar ENSM – 2013/11/07 – IRTES
42
Synchronous Scheduling while true do p←∅ for all a ∈ agents do p[a] ← computePerceptionOf(σe , a) end for i ←∅ for all a ∈ agents do i[a] ← runAgent(a, p[a]) end for i ← i ∪ runEnvironmentDynamics a ← computeReactions(σe , i) σe ← applyActions(σe , a) t ← timeEvolution(t, σe ) end while
This algorithm works only if the agents are not run asynchronously AND the influence-reaction [Ferber and M¨ uller, 1996] is used. Otherwise, synchronization algorithms must be used among the agents, and among the agents and the environment. S. Galland Seminar ENSM – 2013/11/07 – IRTES
43
Asynchronous Scheduling Time is evolving when Pessimistic approach: iff t ≥ ta |∀a ∈ other platform instances. Optimistic approach: always evolving, but go back to past when an incoherent state is detected. while true do if timeShouldEvolve then t ← determineTime(t, σe ) p←∅ for all a ∈ agents do p[a] ← computePerceptionOf(σe , a) end for i ←∅ for all a ∈ agents do i[a] ← runAgent(a, p[a]) end for i ← i ∪ runEnvironmentDynamics a ← computeReactions(σe , i) σe ← applyActions(σe , a) end if end while
Done at the platform level, not the agent level. S. Galland Seminar ENSM – 2013/11/07 – IRTES
44
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
45
Organizational Approach Recently, a particular interest has been given to the use of organizational concepts within MAS where the concepts of “organizations”, “groups”, “communities”, “roles”, “functions”, etc. play an important role. They permits to break the design complexity down by focusing on the organizations, the roles, and the interactions between the roles. Several works from literature: Agent-Group-Role (AGR) [Ferber and Gutknecht, 1998, Ferber et al., 2004] Moise [Hannoun et al., 2000, H¨ ubner et al., 2002] Capacity-Role-Interaction-Organization [Hilaire et al., 2000, Cossentino et al., 2010]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
46
CRIO Concepts
Organization An organization is defined by a collection of roles that take part in systematic institutionalized patterns of interactions with other roles in a common context. This context consists in shared knowledge and social rules/norms, social feelings, etc and is defined according to an ontology. The aim of an organization is to fulfill some requirements.
Source: http://www.aspecs.org, and [Cossentino et al., 2010]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
47
CRIO Concepts
Role An expected behavior (a set of role tasks ordered by a plan) and a set of rights and obligations in the organization context. The goal of each role is to contribute to the fulfillment of (a part of) the requirements of the organization within which it is defined. A role can be instantiated either as a Common Role or Boundary Role.
Source: http://www.aspecs.org, and [Cossentino et al., 2010]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
48
CRIO Concepts
Interaction A dynamic, not a priori known sequence of events (a specification of some occurrence that may potentially trigger effects on the system) exchanged among roles, or between roles and entities outside the agent system to be designed. Roles may react to the events according to theirs behaviors.
Source: http://www.aspecs.org, and [Cossentino et al., 2010]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
49
CRIO Concepts
Capacity A specification of a transformation of a part of the designed system or its environment. This transformation guarantees resulting properties if the system before the transformation satisfies a set of constraints. It may be considered as a specification of the pre- and post-conditions of a goal achievement.
Source: http://www.aspecs.org, and [Cossentino et al., 2010]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
50
CRIO Concepts
Group An instance [. . . ] of an Organization [. . . ]. It is used to model an aggregation of roles played by agents.
Source: http://www.aspecs.org, and [Cossentino et al., 2010]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
51
CRIO Concepts Agent An entity that adopts a decision in order to obtain the satisfaction of one or more of its own goals. An agent may play a set of roles within various groups. These roles interact each other in the specific context provided by the entity itself. The entity context is given by the knowledge, the capacities owned by the entity itself. Roles share this context by the simple fact of being part of the same entity. Source: http://www.aspecs.org, and [Cossentino et al., 2010]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
52
CRIO Metamodel [Cossentino et al., 2010]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
53
Role Architecture
External world (UI, database...)
Role Architecture Channels
signals
Role Internal Properties & Attributes
Role Behavior activate live Role-role communication end
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Mailbox
Other roles
54
Organizational Agent Architecture
Organizational Agent Architecture Agent Internal Properties & Attributes
Channels
External world (UI, database...)
Signal Manager Agent Behavior activate
Capacity 1 - Impl. 1 Capacity 1 - Impl. 2
Capacity k - Impl. 1 Capacity k - Impl. 2
Capacity Implementation Selector
Capacity Container Capacity 1
Agent Memory
live Role 1
Agent-agent communication Mailbox
Capacity k Role n
end
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Other agents
55
Example: Market-like Community 1 2
3 4
Client is requesting to Broker the best offer for a service. Broker is contacting Providers for offer submission and select the best one. Broker is giving back to Client the best offer. Client and Provider are contracting.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
56
Example: JANUS implementation ProvidingOrganization.java p u b l i c c l a s s P r o v i d i n g O r g a n i z a t i o n e x t e n d s Organization { p u b l i c P r o v i d i n g O r g a n i z a t i o n ( CRIOContext context ) { s u p e r ( context ) ; addRole ( Provider . c l a s s ) ; addRole ( Provi derBrok er . c l a s s ) ; } }
S. Galland Seminar ENSM – 2013/11/07 – IRTES
57
Example: JANUS implementation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
58
Example: JANUS implementation ProviderBroker.java p u b l i c c l a s s Provi derBrok er e x t e n d s Role { p u b l i c enum Activity { WAIT_CLIENT_REQUEST , WAIT_PROPOSALS , FINALIZATION ; } p r i v a t e Activity activity ; p u b l i c Prov iderBrok er ( ) { addObtainCondition ( new H a s A l l R e q u i r e d C a p a c i t i e s C o n d i t i o n ( ←ProposalSelection . c l a s s ) ) ; } p u b l i c Status activate ( Object . . . parameters ) { t h i s . activity = Activity . W A I T I N G _ C L I E N T _ R E Q U E S T ; g etS i g n a l E m i t te r ( ) . setPolicy ( SignalPolicy . ←STOR E_IN_QUE UE ) ; return null ; }
S. Galland Seminar ENSM – 2013/11/07 – IRTES
59
Example: JANUS implementation ProviderBroker.java (cont.) p u b l i c Status live ( ) { s w i t c h ( t h i s . activity ) { case WAITING_CLIENT_REQUEST : Signal s = g e t S i g n a l M a n a g e r ( ) . getSignal ( ) ; b r o a d c a s t M e s s a g e ( new QueryMessage ( s ) ) ; t h i s . activity = WAIT _PROPOSA LS ; break ; c a s e WAIT _PROPOSA LS : /∗ . . . ∗/ break ; c a s e FINALIZATION : /∗ . . . ∗/ break ; } return null ; } }
S. Galland Seminar ENSM – 2013/11/07 – IRTES
60
Example: JANUS implementation
Contracting Negotiating
Organizational Level Agent Level 1
2
Client
CBroker
PBroker
4
5
3
Provider
Provider
Provider
1
4
Buyer
Seller
S. Galland Seminar ENSM – 2013/11/07 – IRTES
4
Agent Provider
Role Group
61
Example: JANUS implementation BrokerAgent.java p u b l i c c l a s s BrokerAgent e x t e n d s Agent { p u b l i c Status activate ( Object . . . params ) { C a pa c i t y C o n t a i n e r cc = g e t C a p a c i t y C o n t a i n e r ( ) ; cc . addCapacity ( new P r o p o s a l S e l e c t i o n I m p l ( ) ) ; GroupAddress clientGA = g e t O r C r e a t e G r o up ( PurchaseOrganization . c l a s s ) ; requestRole ( CBroker . c l a s s , clientGA ) ; GroupAddress providerGA = g e t O r C r e a t e G r o u p ( ProvidingOrganization . c l a s s ) ; requestRole ( PBroker . c l a s s , providerGA , t h i s . ←providerCount ) ; return null ; } }
S. Galland Seminar ENSM – 2013/11/07 – IRTES
62
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
63
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
64
Pedestrian Simulation
What is simulated? 1
Movements of pedestrians at a microscopic level.
2
Force-based model for avoiding collisions.
[Buisson et al., 2013]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
64
Pedestrian Simulation
What is simulated? 1
Movements of pedestrians at a microscopic level.
2
Force-based model for avoiding collisions.
[Buisson et al., 2013]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
65
Force to Apply to Each Agent The force to apply to each agent is: ~ + wa .δ ~ p~t − pa F~a = F kF k kp ~t − pa k X ~ = F U(tci ) · Sˆi i∈M
~ : collision-avoidance force. F Sˆi : a sliding force. tci : time to collision to object i. U(t): scaling function of the time to collision. M: set objects around (including the other agents). wa : weight of the attractive force. δx g : is g if x ≤ 0, 0 otherwise. S. Galland Seminar ENSM – 2013/11/07 – IRTES
Pa
Pt
66
Sliding Force The sliding force S~i is: s~j = (pj − pa ) × yˆ s~j Sˆj = sign(~ sj · (p~t − pa )) k~ sj k yˆ : vertical unit vector.
−Sˆj pt
pj Pa Sˆj
S. Galland Seminar ENSM – 2013/11/07 – IRTES
67
Scaling the Sliding Force How to scale Sˆj to obtain the repulsive force? Many force-based models use a monotonic decreasing function of the distance to an obstacle. But it does not support the velocity of the agent. Solution: Use time-based force scaling function. ( σ σ if 0 ≤ t ≤ tmax φ − t φ max U(t) = t 0 if t > tmax t: estimated time to collision. tmax : the maximum anticipation time. σ and φ are constants, such that U(tmax ) = 0.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
68
Videos
These videos were realized on the SIMULATE tool Voxelia S.A.S
S. Galland Seminar ENSM – 2013/11/07 – IRTES
69
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
70
Highway Simulation What is simulated? 1
Vehicles on a French highway.
2
Danger event → “an animal is crossing the highway and causes a crash”.
3
Alert events by GSM.
4
Arrival of the security and rescue services.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
70
Highway Simulation What is simulated? 1
Vehicles on a French highway.
2
Danger event → “an animal is crossing the highway and causes a crash”.
3
Alert events by GSM.
4
Arrival of the security and rescue services.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
70
Highway Simulation What is simulated? 1
Vehicles on a French highway.
2
Danger event → “an animal is crossing the highway and causes a crash”.
3
Alert events by GSM.
4
Arrival of the security and rescue services.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
70
Highway Simulation What is simulated? 1
Vehicles on a French highway.
2
Danger event → “an animal is crossing the highway and causes a crash”.
3
Alert events by GSM.
4
Arrival of the security and rescue services.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
71
Video
These videos were realized on the SIMULATE tool Voxelia S.A.S
S. Galland Seminar ENSM – 2013/11/07 – IRTES
72
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
73
Intelligent Vehicle Intelligent Vehicle perceiving its environment: video, laser and GPS sensors, driving by itself, or taking control in urgency cases.
Goals 1
Simulate the driver behavior.
2
Simulate the environment and the sensors in a virtual lab.
3
Deploy the driver software in the real vehicles without change. S. Galland Seminar ENSM – 2013/11/07 – IRTES
74
Video
[Gechter et al., 2012]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
75
Outline 1 Simulation Fundamentals 2 Multiagent Based Simulation (MABS) Overview of a MABS Architecture Agent Architectures Interaction Environment Scheduling Organizational Modeling 3 Examples of Multiagent-based Simulations with Janus Pedestrian Simulation Rescue on Highway Intelligent Vehicle Carpooling Simulation
S. Galland Seminar ENSM – 2013/11/07 – IRTES
76
Carpooling Simulation Model
For each day, for each individual 1
Select the best transport mode according to the individual characteristics.
2
Create a motive to carpool.
3
Communicate this motive with other agents.
4
Negotiate a plan with the interested agents.
5
Execute the agreed plans.
6
Provide a feedback to all concerned agents.
[Galland et al., 2013]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
77
Activity Diagram for an Agent
S. Galland Seminar ENSM – 2013/11/07 – IRTES
78
Social Exploration Goal Explore the social network of the agent to determine potential carpooling partners. If no partner was found, explore the global trip database (website...)
Partner Selection Three similarities are used for potential matchings: 1
Profile similarity,
2
Path similarity, and
3
Time window similarity.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
79
Profile Similarity Profile of the agent A Set of attributes, named aA with |aA | = NA
Profile Similarity Distance between two attribute sets a0 and a1 : v P u (a0 [i] − a1 [i])2 u t i∈a0 ∩a1 d(a0 , a1 ) = |a0 ∩ a1 | Continuous variables are combined into a single distance value dC Discrete variables are combined into a single value dD ∈ [0, 1] Similarities:
sC = 1 − dC sD = 1 − dD S. Galland Seminar ENSM – 2013/11/07 – IRTES
80
Path A sequence of segments of road, starting from Oa and finishing at Da : pa = hOa i.p.hDa i Most of the time, the shortest paths between Oa and Da . See A* algorithm
S. Galland Seminar ENSM – 2013/11/07 – IRTES
81
Path Similarity
pathSim(pa , pb ) =
c(Oa , Da ) c(Oa , Ob ) + c(Ob , Db ) + c(Db , Da )
where c(i, j) denote the cost from the length of the path from i to j and the corresponding travel duration.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
82
Time Window Similarity Time window of a trip a trip A is defined by a path and a time window iA = [⊥iA , >iA ]
Time Interval Similarity tis(iA , iB ) = min(>iA , >iB ) − max(⊥iA , ⊥iB )
t ⊥iA
>iA
tis(iA , iB )
t ⊥iB
S. Galland Seminar ENSM – 2013/11/07 – IRTES
>iB
83
Carpooling Negotiation Each potential partner is invited to play the role Partner in the Negotiation Pool organization. Organizational metamodel Capacity-Role-Interaction-Organization (CRIO) [Cossentino et al., 2010]
They interacts together to negotiate the time window of the trip.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
84
Negotiation Procotol (1/2)
S. Galland Seminar ENSM – 2013/11/07 – IRTES
85
Negotiation Procotol (2/2)
S. Galland Seminar ENSM – 2013/11/07 – IRTES
86
Time Preference Function
Each agent A gives its preferences for the time of boarding/alighting: fA : R ⇒ R : t 7→ fA (t) ∈ [0, 1]
1
0
S. Galland Seminar ENSM – 2013/11/07 – IRTES
t
87
Time Interval Suitability Evaluate the suitability of times for boarding/alighting: (R t+C fA (x) · fB (x)dx if t ∈ [max(⊥iA , ⊥iB ), min(>iA , >iB ) − C ] t 0 otherwise Each agent uses this suitability to slightly adapt to the time window. 1
1
fA
fA · fB
0
t
0
1
1
fB
tis
0
t
S. Galland Seminar ENSM – 2013/11/07 – IRTES
t
C
0 C
t
88
Driving Activity Each vehicle is simulated but road signs are skipped ⇒ mesoscopic simulation. The roads are extracted from a Geographical Information Database. The simulation model is composed of two parts [Galland et al., 2009]: the environment: the model of the road network, and the vehicles. 2 the driver model: the behavior of the driver linked to a single vehicle. 1
S. Galland Seminar ENSM – 2013/11/07 – IRTES
89
Model of the Environment [Galland et al., 2009] Road Network Road polylines: S = hpath, objectsi path = h(x0 , y0 ) · · · i Graph: G = {S, S 7→ S, S 7→ S} = {segments, entering, exiting}
Operations Compute the set of objects perceived by a driver (vehicles, roads...): distance(d, o) ≤ ∆∧ o ∈ O∧ P = o ∀(s1 , s2 ), path = s1 .hp, Oi.s2 where path is the roads followed by a driver d. Move the vehicles, and avoid physical collisions.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
90
Architecture of the Driver Agent
Path planning
path to follow
Collision avoidance perceived objects
instant acceleration
Car new position
ENVIRONMENT JaSim model [Galland et al., 2009]
S. Galland Seminar ENSM – 2013/11/07 – IRTES
91
Path Planning
Based on the A* algorithm [Dechter and Pearl, 1985, Delling et al., 2009]:
See A* algorithm
extension of the Dijkstra’s algorithm: search shortest paths between the nodes of a graph. introduce the heuristic function h to explore first the nodes that permits to converge to the target node.
Inspired by the D*-Lite algorithm [Koenig and Likhachev, 2005]: A* family. supports dynamic changes in the graph topology and the values of the edges.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
92
Collision Avoidance Principle: compute the acceleration of the vehicle to avoid collisions with the other vehicles. Intelligent Driver Model [Treiber et al., 2000] (v ∆v )2 − if the ahead object is far 4b∆p 2 followerDriving = (s + vw )2 −a if the ahead object is near ∆p 2 Free driving: freeDriving = a 1 − See driver algorithm S. Galland Seminar ENSM – 2013/11/07 – IRTES
v vc
4 !
93
Results: Types of Travellers 40 Drivers Passengers 35
30
Density
25
20
15
10
5
0 07:00
09:00
11:00
13:00
Total population in this scenario: 500. S. Galland Seminar ENSM – 2013/11/07 – IRTES
15:00
17:00
19:00
21:00
94
Results: Selection of the Travelling Modes 40
Single vehicle Public transport Carpooling
35
30
Density
25
20
15
10
5
0 07:00
09:00
11:00
13:00
Total population in this scenario: 500. S. Galland Seminar ENSM – 2013/11/07 – IRTES
15:00
17:00
19:00
21:00
95
Summary
1
Multiagent-based simulation model is composed of three parts: the behaviors of the agents, the interactions amongs the agents, the definition of the environment,
2
Organizational approach may break down the complexity of the design.
3
The simulator should limit/avoid the biais introducing by the running of the model.
4
Multiagent-based simulation is well-adapted for transport/mobility system analysis and simulation.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
Thank you for your attention. . .
Universit´ e de Technologie de Belfort-Montb´ eliard, 90010 Belfort cedex, France - http://www.multiagent.fr
Appendix
i
Outline
1 Books Multiagent Systems Simulation Theory Games and Serious Games Mathematics 2 About the Author 3 Bibliography
S. Galland Seminar ENSM – 2013/11/07 – IRTES
ii
Outline
1 Books Multiagent Systems Simulation Theory Games and Serious Games Mathematics 2 About the Author 3 Bibliography
S. Galland Seminar ENSM – 2013/11/07 – IRTES
iii
Multiagent Systems
An Introduction to Multiagent Systems 2nd edition
Michael WOOLDRIDGE Wiley, 2009 ISBN 0-47-0519460
S. Galland Seminar ENSM – 2013/11/07 – IRTES
iv
Multiagent Systems
Multiagent Systems: algorithmic, game-theoretic, and logical foundations Yoav SHOHAM and Kevin LEYTON-BROWN Cambridge University Press, 2008 ISBN 0-52-1899435
S. Galland Seminar ENSM – 2013/11/07 – IRTES
v
Multiagent Systems
Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence Jacques FERBER Addison Wesley, 1999 ISBN 0-20-1360489
S. Galland Seminar ENSM – 2013/11/07 – IRTES
vi
Multiagent Systems
Multiagent Systems: a modern approach to distributed Artificial Intelligence Gerhard WEISS MIT Press, 2000 ISBN 0-26-2731312
S. Galland Seminar ENSM – 2013/11/07 – IRTES
vii
Outline
1 Books Multiagent Systems Simulation Theory Games and Serious Games Mathematics 2 About the Author 3 Bibliography
S. Galland Seminar ENSM – 2013/11/07 – IRTES
viii
Simulation Theory
Theory of Modeling and Simulation 2nd edition
Bernard ZEIGLER, Herbert Praehofer, and Tag Gon Kim Academic Press, 2000 ISBN 0-12-7784551
S. Galland Seminar ENSM – 2013/11/07 – IRTES
ix
Simulation Theory
Simulation for the Social Scientist 2nd edition
Nigel GILBERT and Klaus TROITZSCH Open University Press, 2005 ISBN 0-33-5216005
S. Galland Seminar ENSM – 2013/11/07 – IRTES
x
Outline
1 Books Multiagent Systems Simulation Theory Games and Serious Games Mathematics 2 About the Author 3 Bibliography
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xi
Games and Serious Games
Artificial Intelligence for Games Ian MILLINGTON Morgan Kaufmann Publishers & Elsevier Science, 2006 ISBN 0-12-4977820
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xii
Outline
1 Books Multiagent Systems Simulation Theory Games and Serious Games Mathematics 2 About the Author 3 Bibliography
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xiii
Mathematics
Essential Mathematics for Games & Interactive Applications: a programmer’s guide 2nd edition
James VAN VERTH and Lars BISHOP Morgan Kaufmann Publishers, 2008 ISBN 0-12-3742971
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xiv
Mathematics
Calculabilit´ e, Complexit´ e et Approximation Jean-Fran¸cois REY Vuibert France, 2004 ISBN 2-71-1748081
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xv
Outline
1 Books Multiagent Systems Simulation Theory Games and Serious Games Mathematics 2 About the Author 3 Bibliography
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xvi
Author: Dr. St´ ephane GALLAND Associate Professor Laboratory Systems and Transport (IRTES-SET) ´ Institut de Recherche sur les Transports, l’Energie et la Soci´ et´ e Universit´ e de Technologie de Belfort-Montb´ eliard, France
Topics: Multiagent systems, Agent-based simulation, Agent-oriented software engineering Web page: Email:
http://www.multiagent.fr/People:Galland_stephane
[email protected]
Open-source contributions: http://www.janus-project.org http://www.arakhne.org S. Galland Seminar ENSM – 2013/11/07 – IRTES
xvii
Outline
1 Books Multiagent Systems Simulation Theory Games and Serious Games Mathematics 2 About the Author 3 Bibliography
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xviii
Bibliography I Brooks, R. (1990). Elephants don’t play chess. Designing Autonomous Agents: Theory and Practice from Biology to Engineering and Back. Buisson, J., Galland, S., Gaud, N., Yasar, Gon¸calves, M., and Koukam, A. (2013). Real-time collision avoidance for pedestrian and bicyclist simulation: a smooth and predictive approach. In the 2nd International Workshop on Agent-based Mobility, Traffic and Transportation Models, Methodologies and Applications (ABMTRANS), Halifax, Nova Scotia, Canada. Procedia Computer Science, Elsevier. Cossentino, M., Gaud, N., Hilaire, V., Galland, S., and Koukam, A. (2010). ASPECS: an agent-oriented software process for engineering complex systems - how to design agent societies under a holonic perspective. Autonomous Agents and Multi-Agent Systems, 2(2):260–304. Davidsson, P. (2000). Multi agent based simulation: Beyond social simulation. Multi Agent Based Simulation, LNCS series, 1979. Dechter, R. and Pearl, J. (1985). Generalized best-first search strategies and the optimality of a*. J. ACM, 32(3):505–536. Delling, D., Sanders, P., Schultes, D., and Wagner, D. (2009). Engineering route planning algorithms. In Lerner, J., Wagner, D., and Zweig, K., editors, Algorithmics of Large and Complex Networks, volume 5515 of Lecture Notes in Computer Science, pages 117–139. Springer Berlin Heidelberg.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xix
Bibliography II Ferber, J. and Gutknecht, O. (1998). A meta-model for the analysis and design of organizations in multi-agent systems. In Demazeau, Y., Durfee, E., and Jennings, N., editors, Third International Conference on Multi-Agent Systems (ICMAS’98), pages 128–135, Paris, France. Ferber, J., Gutknecht, O., and Michel, F. (2004). From agents to organizations: an organizational view of multi-agent systems. In Agent-Oriented Software Engineering IV 4th International Workshop, volume 2935 of LNCS, pages 214–230, Melbourne, Australia. Springer Verlag. Ferber, J. and M¨ uller, J. (1996). Influences and reactions : a model of situated multiagent systems. In Second Internationnal Conference on Multi-Agent Systems (ICMAS 96), pages 72–79. Fishwick, P. A. (1997). Computer simulation: growth through extension. Trans. Soc. Comput. Simul. Int., 14(1):13–23. Galland, S., Gaud, N., Demange, J., and Koukam, A. (2009). Environment model for multiagent-based simulation of 3D urban systems. In the 7th European Workshop on Multiagent Systems (EUMAS09), Ayia Napa, Cyprus. Paper 36. Galland, S., Gaud, N., Yasar, A.-U.-H., Knapen, L., Janssens, D., and Lamotte, O. (2013). Simulation model of carpooling with the janus multiagent platform. In the 2nd International Workshop on Agent-based Mobility, Traffic and Transportation Models, Methodologies and Applications (ABMTRANS), Halifax, Nova Scotia, Canada. Procedia Computer Science, Elsevier.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xx
Bibliography III Gaud, N., Galland, S., Hilaire, V., and Koukam, A. (2008). An organizational platform for holonic and multiagent systems. In the Sixth International Workshop on Programming Multi-Agent Systems (ProMAS08), of the Seventh International Conference on Autonomous agents and Multiagent Systems (AAMAS), pages 111–126, Estoril, Portugal. Gechter, F., Conter, J.-M., Galland, S., Lamotte, O., and Koukam, A. (2012). Virtual intelligent vehicle urban simulator: Application to vehicle platoon evaluation. Simulation Modelling Practice and Theory (SIMPAT), 24:103–114. Hannoun, M., Boissier, O., Sichman, J. S., and Sayettat, C. (2000). MOISE: An organizational model for multi-agent systems. In et Sichman J., M. M., editor, Advances in Artificial Intelligence, IBERAMIA-SBIA, pages 156–165, Brazil. Helbing, D. and Molnar, P. (1997). Self-organization phenomena in pedestrian crowds. Self-organization of complex structures: from individual to collective dynamics, pages 569–577. Hilaire, V., Koukam, A., Gruer, P., and M¨ uller, J.-P. (2000). Formal specification and prototyping of multi-agent systems. In Omicini, A., Tolksdorf, R., and Zambonelli, F., editors, Engineering Societies in the Agents’ World, number 1972 in Lecture Notes in Artificial Intelligence. Springer Verlag. Hoogendoorn, S. P. and Bovy, P. H. (2001). State-of-the-art of vehicular traffic flow modelling. Special Issue on Road Traffic Modelling and Control of the Journal of Systems and Control Engineering, 215(4):283–303.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xxi
Bibliography IV H¨ ubner, J., Sichman, J., and Boissier, O. (2002). A model for the structural, functional, and deontic specification of organizations in multiagent systems. In Bittencourt, G. and Ramalho, G., editors, Advances in Artificial Intelligence: 16th Brazilian Symposium on Artificial Intelligence (SBIA), volume 2507 of LNAI, pages 118–128. Springer. Koenig, S. and Likhachev, M. (2005). Fast replanning for navigation in unknown terrain. Robotics, IEEE Transactions on, 21(3):354–363. Michel, F. (2004). Formalism, tools and methodological elements for the modeling and simulation of multi-agents systems. PhD thesis, LIRMM, Montpellier, France. Rao, M. P. G. (1995). BDI-agents: From theory to practice. In the First International Conference on Multiagent Systems (ICMAS’95). Reynolds, C. (1999). Steering behaviors for autonomous characters. In Proceedings of the Game Developers Conference, page 763–782. Shannon, R. E. (1977). Simulation modeling and methodology. SIGSIM Simul. Dig., 8(3):33–38.
S. Galland Seminar ENSM – 2013/11/07 – IRTES
xxii
Bibliography V Treiber, M., Hennecke, A., and Helbing, D. (2000). Congested traffic states in empirical observations and microscopic simulations. Phys. Rev. E, 62:1805–1824. Weyns, D., Parunak, H. V. D., Michel, F., Holvoet, T., and Ferber, J. (2005). Environment for Multiagent Systems State-of-the-Art and Research Challenges. In Environments for Multi-Agent Systems (E4MAS), pages 1–47. Springer Berlin / Heidelberg. Wooldridge, M. (2009). An Introduction to Multiagent Systems. Wiley, 2nd edition edition. Wooldridge, M. and Jennings, N. R. (1995). Intelligent agents: Theory and practice. Knowledge Engineering Review, 10(2):115–152. Zeigler, B. P., Praehofer, H., and Kim, T. G. (2000). Theory of Modeling and Simulation. Academic Press, 2nd edition edition.
S. Galland Seminar ENSM – 2013/11/07 – IRTES