Simulación de sistemas complejos con agentes

Transcription

Simulación de sistemas complejos con agentes
Simulación de sistemas complejos con agentes
Xalapa, 13 de mayo 2011
Juan Pavón Mestras
[email protected]
Universidad Complutense Madrid
http://grasia.fdi.ucm.es
http://www.insisoc.org
Este trabajo ha sido desarrollada dentro del marco del proyecto TIN2008-06464-C03, financiado por el MICINN
UCM-GRASIA Research Group
 
http://grasia.fdi.ucm.es
 
Team (oct. 2010)
 
9 PhD
•  Co-directors: Juan Pavón and Jorge Gómez Sanz
•  Javier Arroyo, Rubén Fuentes, Celia Gutiérrez Cosío, Manuel
Ortega, Samer Hassan Collado, Millán Arroyo (Dep. Sociología
IV)
•  Collaborators: Francisco Garijo, José R. Pérez Agüera
 
3 Assistant professors
•  Carlos Cervigón, Eva Ullán, Diego Blanco, Lucila Finkel (Dep.
Sociología IV)
 
7 PhD students (MEC, UCM, Conacyt, project fellowships):
•  Carlos Rodríguez, José M. Fdez de Alba, Albert Meco, Fernando
Burillo, Ghislain Atemezing, Adolfo Vázquez, Alvaro Alcázar
 
Undergraduate students (MEC, UCM and companies
fellowships)
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
2
UCM-GRASIA Research Lines
INGENIASIDK
ICARO-T
INGENME
MDE
+
AOSE
SiCoSSys
Self-MML
SociAAL
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
3
UCM-GRASIA Research Lines
 
R&D on Software Agents: Engineering and Applications
 
Agent oriented software engineering
• 
• 
• 
• 
 
INGENIAS Methodology
Model Driven Engineering tools: IDK, INGENME
Patterns: ICARO-T
Applications: aeronautics, intelligent interfaces, business process
management, web site personalization, resource management, …
Self-management systems
•  Self-MML
 
Social simulation
•  SiCoSSys models
•  SiCoSSys methodology
•  Social network analysis: Krowdix
 
Ambient Assisted Living
•  Talking agents, Smartroom
 
Knowledge management
•  Technology watch
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
4
Simulación de sistemas complejos con agentes
Sistemas complejos
 
No linealidad
 
Complejidad
 
Emergencia
 
Auto-organización
 
Racionalidad limitada
 
Interacción Local
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
6
No lineal
 
Lineal: el efecto sobre una variable dependiente es
proporcional a la suma de un conjunto de variables
independientes
 
No lineal:
 
Caótico
•  Sensible a las condiciones iniciales
•  Similar a los sistemas depredador/presa o productor/consumidor
Juan Pavón Mestras
UCM 2005
Ingeniería del Software Orientada a Agentes
7
Compleja
 
Comportamientos simples y reglas simples dan lugar a
organizaciones complejas
 
Dunas
•  Avalanchas caóticas
•  Formas predecibles
 
Hormigas
 
Organizaciones humanas
Juan Pavón Mestras
UCM 2005
Ingeniería del Software Orientada a Agentes
8
Emergente
 
Un fenómemo es emergente si requiere nuevas categorías
para describirlo que no son necesarias para describir el
comportamiento de sus componentes
 
Ejemplos:
 
Física y biología
•  Temperatura
•  Hormigueros
 
Sistemas sociales
•  Las modas
•  Los atascos de tráfico
Juan Pavón Mestras
UCM 2005
Ingeniería del Software Orientada a Agentes
9
Auto-organización
 
La organización global aparece sin planificación central, a
partir de acciones individuales de los agentes
 
Bandadas o bancos de peces
 
Mercados
 
Internet
Juan Pavón Mestras
UCM 2005
Ingeniería del Software Orientada a Agentes
10
Racionalidad limitada
 
Los primeros modelos en teoría económica y teoría
estadística de la decisión asumían un hombre racional
 
 
Adopta decisiones óptimas en un ambiente muy especificado
y claramente definido
Desde Herbert Simon (1954) se asume una racionalidad
limitada:
 
Existen límites prácticos a la racionalidad humana:
•  La información que tienen
•  Los límites cognitivos de sus mentes
•  La cantidad finita de tiempo para tomar las decisiones
Juan Pavón Mestras
UCM 2005
Ingeniería del Software Orientada a Agentes
11
Interacción Local
 
Las interacciones humanas están influídas por su lugar en
el espacio
 
Las interacciones locales son más importantes que las
distantes
Juan Pavón Mestras
UCM 2005
Ingeniería del Software Orientada a Agentes
12
Simulación
Simulación
Datos de
configuración
SiCoSSys project, 2010
Modelo
Simulación de sistemas complejos con agentes
Comportamiento
observable
13
Simulación vs. Experimentación
 
Experimentación: implica la aplicación de un tratamiento a un
grupo objetivo y comparar el efecto con un grupo de control
 
Muchas veces esto no es posible
 
Demasiado caro
 
Demasiado complicado
 
Cuestiones éticas
¿Cuál sería el efecto de limitar el número de niños por familia en la demografía?
¿Cuál es la mejor política de gestión del agua en una región?
¿Cómo formar el mejor equipo de personas para desarrollar un proyecto?
 
Simulación: permite experimentar en un Modelo
 
 
Si el modelo es suficientemente bueno, reaccionará de manera
similar al sistema estudiado
El experimento se puede repetir muchas veces, con distintas
configuraciones e incluyendo aleatoriedad
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
14
Modelado y simulación
Modelo
Abstracción
Sistema
objetivo
Resultados de
la simulación
Simulación
Similitud
estructural
Recogida de datos
Datos
recogidos
Adaptado de: Nigel Gilbert and Klaus G. Troitzsch, Simulation for the Social Scientist, 2nd
edition. Open University Press (2005)
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
15
Simulación social …
 
Sistema social
 
Una colección de individuos
•  Evolución autónoma
•  Motivados por sus propias creencias y sus objetivos personales
•  Y su percepción del entorno
 
Todos estos factores evolucionan en el tiempo
•  Plus: Evolución demográfica
 
Interacciones/comunicación entre ellos (directa o a través del
entorno)
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
16
… y Sistemas Multi-Agentes
 
Un Sistema Multi-Agentes es
 
Una colección de individuos (agentes)
•  Autonomía
•  Motivados por sus creencias y objetivos personales
 
Conscientes de su entorno
 
Interactúan entre ellos
 
Pueden formar organizaciones
 
Evolucionan en el tiempo
El paradigma de agentes es una buena abstracción
para modelar sistemas sociales
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
17
Modelado basado en agentes
De: José M. Galán, EVALUACIÓN INTEGRADORA DE POLÍTICAS DE AGUA: MODELADO Y SIMULACIÓN CON SOCIEDADES
Simulación de sistemas complejos con agentes
SiCoSSys project,
2010
ARTIFICIALES
DE AGENTES.
Tesis doctoral. Burgos 2007
18
Nuestro laboratorio social
De: José M. Galán, Simulación basada en agentes de juegos evolutivos en redes de normas. Presentación UCM 2009
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
19
Simulación social basada en agentes
 
La simulación consiste en la ejecución de agentes en un
entorno de simulación (controlado)
 
Los agentes modelan tipos de comportamientos específicos
 
Los agentes interaccionan
•  Directamente (mensajes)
•  A través del entorno (espacio compartido, feromonas, etc.)
 
Como resultado hay un comportamiento emergente
•  Visualización de la simulación
•  Gráficos de resultados
•  Logs de ejecución
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
20
Movimiento e interacción en el entorno
 
Relevancia de las interacciones locales
 
 
 
Las interaccinoes locales son más importantes que las
distantes
Los agentes están situados en el espacio/entorno, con
capacidad para moverse
 
 
Las interacciones humanas ocurren en un lugar
Hay reglas para decidir el movimiento
Los agentes pueden reconocer a otros agentes, si son
similares o no
 
 
Pueden actuar de manera distinta dependiendo del grado de
similitud con otros agentes
Posibilidad de establecer redes sociales, que determinan
relaciones entre grupos de agentes
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
21
Aplicaciones de la simulación social con agentes
 
Mejor comprensión de fenómenos sociales
 
Observando su evolución
 
Diagnósticos
 
Descubrimiento de comportamientos emergentes
 
Formalización y validación de teorías sociales
 
 
Predicciones
 
 
Determinar cómo puede evolucionar una sociedad en aspectos
concretos bajo ciertas suposiciones
Formación
 
 
Del texto informal al modelo computacional
Modelos económicos: http://www.bized.co.uk/virtual/
Entretenimiento
 
Juegos
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
22
Herramientas para la simulación basada en agentes
 
Java
 
Swarm (www.swarm.org)
•  Gran influencia en otras (Ascape, Mason, RePast)
•  Inicialmente en Objective-C, ahora en Java
 
 
 
 
 
RePast (repast.sourceforge.net)
Mason (cs.gmu.edu/~eclab/projects/mason/)
Anylogic (http://www.xjtek.com/anylogic)
SeSAm (www.simsesam.de)
Otras
 
NetLogo (ccl.northwestern.edu/netlogo/)
•  Evolución de StarLogo
•  Basada en el lenguaje Log, fácil de usar
 
 
 
Strictly Declarative Modeling Language, SDML
(sdml.cfpm.org)
Multi-Agent Simulation Suite (mass.aitia.ai)
Plataformas de agentes
 
JADE (http://jade.tilab.com/)
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
23
Repast
 
Recursive Porus Agent Simulation Toolkit
 
Entorno open source de modelado y simulación basado en
agentes
 
 
 
 
Inspirado en Swarm (http://www.swarm.org/index.php/
Swarm_main_page)
Desarrollado por el Social Science Research Computing de la
University of Chicago desde 2000
Actualmente mantenido por Argonne National Laboratory
Información y descargas: http://repast.sourceforge.net
SiCoSSys, 2011
Repast
24
Repast - Historia
 
Inicialmente Repast J (librerías Java)
 
Repast 3 (http://repast.sourceforge.net/repast_3/)
 
 
Repast for Java (RepastJ)
 
Repast for the Microsoft .Net framework (Repast.Net)
 
Repast for Python Scripting (RepastPy)
Actualmente
 
Repast Simphony (RepastS)
•  ReLogo
•  Repast Java
•  Flowcharts
 
Repast for High Performance Computing (Repast HPC)
•  Sistema de modelado basado en C++ para usar en clusters de
computadores y supercomputadores
SiCoSSys, 2011
Repast
25
Repast Symphony 2.0
 
Disponible para Windows, Mac OS y Linux
 
 
Basado en eclipse
Entorno de desarrollo asistido que genera clases Java
 
Integrado con componentes Java y Groovy
 
Entorno de ejecución Java con herramientas de
monitorización (gráficos y logs)
 
Integración de herramientas externas:
 
 
Espacios 2D y 3D
 
 
R, VisAD, Weka, hojas de cálculo, MATLAB, iReport
Incluye integración con librería de modelado de redes JUNG y
GIS
Planificador multi-hilo de eventos discretos
SiCoSSys, 2011
Repast
26
Repast Symphony 2.0
 
Librerías para algoritmos genéticos, redes neuronales,
regresión, generación de números aleatorios y funciones
matemáticas especiales
 
Simulación Monte Carlo con múltiples modos de
optimización de resultados del modelo
 
Herramientas de integración de modelos externos
SiCoSSys, 2011
Repast
27
Herramientas para la simulación basada en agentes
 
Para ver más:
 
http://www.econ.iastate.edu/tesfatsi/acecode.htm
 
http://www.grids.ac.uk/Complex/ABMS/ABMS.html
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
28
Ejemplos con netlogo
Historia
 
LOGO (Papert & Minsky, 1967)
 
 
 
Lenguaje sencillo derivado de LISP
 
Gráficos con una tortuga y exploración de micromundos
StarLogo (Resnick, 1991), MacStarLogo, StarLogoT
 
 
 
teoría educativa basada en el constructivismo de Piaget
(creación sobre la marcha y prueba de conceptos)
Lenguage de simulación basado en agentes
Explorar el comportamiento de sistemas descentralizados con
la programación concurrente de 100 tortugas
NetLogo (Wilensky, 1999)
 
Extensión de StarLogo (multi-plataforma, red, etc.)
 
El más popular (librería de modelos cooperativa)
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
30
El mundo Netlogo
 
Netlogo es
 
un mundo 2D o 3D
 
con 3 tipos de agentes
•  patches – parcelas del entorno (agentes estacionarios)
•  turtles – tortugas, se mueven por los patches (agentes móviles)
•  Un observer – observa y controla lo que hacen los agentes
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
31
Netlogo – agentes
 
Elementos conceptuales
 
Turtles: son los agentes en el modelo de simulación
•  Tienen un estado
•  Pueden moverse por el entorno
 
Patches: Son las subdivisiones del mundo, donde se ubican los
agentes
•  Se acceden mediante sus coordenadas.
•  Pueden tener estado y evolucionar
 
Observer: Es la persona que realiza modificaciones al entorno
de vida de los agentes
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
32
Simulación: 1. Poner la configuración inicial
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
33
Simulación: 2. Ejecutar el modelo
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
34
Programación de un modelo
 
Variables globales
 
Variables de los agentes
 
Procedimientos
 
De la interfaz
 
Sub-procedimientos
•  Sin valores de retorno
•  Con valores de retorno
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
35
Rebellion
 
Modelo de la rebelión de población sojuzgada contra una
autoridad central
 
Adaptación del modelo de violencia civil de J. Epstein (2002)
Joshua M. Epstein, "Modeling civil violence: An agent-based
computational approach", Proceedings of the National Academy of
Sciences, Vol. 99, Suppl. 3, May 14, 2002, disponible en:
http://www.pnas.org/cgi/content/abstract/99/suppl_3/7243
 
La población se mueve aleatoriamente
 
 
Si su nivel de malestar contra la autoridad central es
suficientemente alto y su percepción de los riesgos
involucrados suficientemente baja, se rebelan abiertamente
Una parte de la población (policía) actúa a favor de la
autoridad central, busca para reprimir la rebelión: se mueven
aleatoriamente y arrestan aquellos que se rebelan
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
36
Rebellion
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
37
Rebellion
;; define los tipos de agentes
breed [personas persona]
breed [polis poli]
;; atributos de los agentes persona
personas-own [
riesgo
; R, aversión al riesgo [0..1]
percepcion-dureza ; D, [0..1]
activa?
; es true cuando el agente se ha rebelado
tiempo-carcel
; cuantos turnos le quedan de carcel (si 0, libre)
]
;; atributos de los agentes poli
polis-own [
eficacia
; cada poli tiene más o menos eficacia para atrapar sospechosos
]
;; atributos del entorno
patches-own [
vecindad
; patches alrededor en el rango de visión
]
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
38
Rebellion
;; Comportamiento de los agentes persona
;; decide si se rebela (o si deja de rebelarse)
;; se rebelará si el malestar excede el riesgo neto en una cantidad (umbral)
to cambia-comportamiento
set activa? (malestar - riesgo * probabilidad-estimada-de-ser-arrestado > umbral)
end
;; cálculo del malestar
to-report malestar
report percepcion-dureza * (1 - legitimidad-gobierno)
end
;; cálculo del riesgo de ser arrestado
;; en función del número de polis y agentes rebelados alrededor
to-report probabilidad-estimada-de-ser-arrestado
let C count polis-on vecindad
let A 1 + count (personas-on vecindad) with [activa?]
report 1 - exp (- k * floor (C / A))
end
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
39
Rebellion
;; Comportamiento de los agentes poli
to arrestar
if any? (personas-on vecindad) with [activa?] [
;; arresta sospechosa
let sospechosa one-of (personas-on vecindad) with [activa?]
ask sospechosa [
set activa? false
set tiempo-carcel random max-tiempo-carcel
]
move-to sospechosa ;; ocupa el patch de la persona sospechosa
]
end
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
40
Rebellion
;; Inicialización del modelo
to setup
clear-all
ask patches [
set pcolor gray - 1 ;; color de fondo
set vecindad patches in-radius vision ;; calcula los patches alrededor de cada uno
]
create-polis round (densidad-polis * .01 * count patches) [
move-to one-of patches with [not any? turtles-here]
pinta-poli
]
create-personas round (densidad-personas * .01 * count patches) [
move-to one-of patches with [not any? turtles-here]
set heading 0
set riesgo random-float 1.0
set percepcion-dureza random-float 1.0
set activa? false
set tiempo-carcel 0
pinta-persona
]
end
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
41
Rebellion
;; Ejecución de la simulación
to go
ask turtles [
; 1) Mover a un sitio dentro del rango de visión
if (breed = personas and tiempo-carcel = 0) or breed = polis
[ move ]
; 2) Determina el comportamiento de las personas
if breed = personas and tiempo-carcel = 0 [ cambia-comportamiento ]
]
; 3) Los polis intentan arrestar a personas en rebelión dentro de su radio de acción
if breed = polis [ arrestar ]
; Cada turno se reduce el tiempo de carcel para las personas encarceladas
ask personas
[ if tiempo-carcel > 0 [ set tiempo-carcel tiempo-carcel - 1 ] ]
; Actualiza la visualización de la simulación
ask personas [ pinta-persona ]
ask polis [ pinta-poli ]
; Avanza el reloj de la simulación y actualiza gráficas
tick
update-plots
end
Simulación de sistemas complejos con agentes
SiCoSSys project, 2010
42
Modelado basado en agentes
Ejemplos
Modelado basado en agentes
 
Los agentes definen comportamiento individual
 
Pueden interactuar con otros agentes, perseguir objetivos,
reaccionar y moverse en el entorno
 
Actúan en un entorno simulado
 
Las propiedades de nivel macro emergen de las
interacciones entre agentes
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
44
Ejemplo: Simulación de control de tráfico aéreo
 
M. Pechouzeck
Agent Technology Center, Czech Technical University in Prague
Multiagent modelling and simulation as a mean to wider industrial
deployment of agent based computing in air-traffic control
PAAMS 2010, April 28, Salamanca
 
Como el tráfico aéreo se puede AUTO-ORGANIZAR
 
Objetivo:
•  Maximizar la capacidad del tráfico aéreo planificando las
trayectorias de múltiples aviones evitando colisiones entre
ellos
 
Mecanismos:
•  Aviones son agentes con un alto grado de autonomía
•  Interacción sofisticada entre los aviones en tiempo real
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
45
Ejemplo: Simulación de control de tráfico aéreo
 
Los agentes planifican sus rutas:
 
 
..\..\..\Agentes\Simulación\Michal Pechouzek
\af_01_operator.avi
Los agentes cooperan:
 
..\..\..\Agentes\Simulación\Michal Pechouzek
\mlca_with_history.avi
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
46
Domestic water management in Valladolid
José Manuel Galán (UBU INSISOC, 2007)
 
Case study: Integrate and adapt different social sub-models
 
Urban dynamics
 
Technology dissemination
 
Opinion dissemination
 
Water consumption model
in an agent based model on a Geographical Information System(GIS)
 
A system that supports the simulation for water demand policies
on different scenarios
 
Customized for the city of Valladolid
•  Socioeconomic information
•  Consumption data
 
Agents model families and take decisions on
• 
• 
• 
• 
SiCoSSys project, 2010
Localization of the household
Attitude on water shortage
Adoption of technology measures
Implement an econometric model of trimonthly consumption
Simulación de sistemas complejos con agentes
47
Domestic water management in Valladolid
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
48
Domestic water management in Valladolid
 
Conclusions
 
 
 
 
ABM complements traditional techniques for estimation of water demand, by
giving not only information on temporal evolution but also spatial
And integrating different kind of models
Urban dynamics and the change in territorial model has a great influence in
domestic water consumption
Publications:
 
 
 
An agent-based model for domestic water management in Valladolid
metropolitan area, Water Resources Research, 45, W05401, doi:
10.1029/2007WR006536. 2009.
Diffusion of Domestic Water Conservation Technologies in an ABM-GIS
Integrated Model. In HAIS '08: Proceedings of the 3rd international workshop
on Hybrid Artificial Intelligence Systems. Lecture Notes in Artificial Intelligence
5271, pp. 567-574. Edited by Corchado, E., Abraham, A., Pedrycz, W. Berlin
Heidelberg: Springer. 2008.
Evaluación integradora de políticas de agua: modelado y simulación con
sociedades artificiales de agentes. Servicio de Publicaciones de la Universidad
de Burgos. 2007.
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
49
Continuous Double Auctions
Marta Posada (UVa INSISOC, 2005)
 
Case study: Analysis of performance and convergence of prices
in continuous double auctions with agents using different bid
strategies
 
 
 
 
Agents may follow several bid strategies: ZI, ZIP, GD y K
In an environment with a similar excedent of producers and
consumers
Agents have some criteria to change bid strategies with the purpose
of getting greater benefits
The simulation is used to analyse market performance and price
convergence
•  For different proportions of agents ZIP, GD and K in the market
•  When agents maintain one bid strategy
•  When agents change of bid strategy by using their observation of prices in
the market and their own benefits
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
50
Continuous Double Auctions
MARKET
ENVIRONMENT
S
D
Market performance
on fixed bid behaviours
K-ZIP-GD
Convergence and performance
Fixed behaviour
50%K-50%GD
INSTITUTION
Continous double
auction
AGENTS
How much to bid?
K
ZIP
GD
E
l
e
c
ti
o
n
Change in behaviour
Initial:50%K-50%GD
When to bid?
When to accept?
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
51
Continuous Double Auctions
 
Conclusions
 
There is no need of intelligence for attaining near 100% market performance
•  But performance is considerably reduced when there are more than 50% of agents in
the market that just accept bids (K agents)
 
There is a need of intelligence to get price convergence to a competitive
equilibrium
•  The behaviour of the bid influences the price convergence pattern, as well as the
satisfaction of regularities observed by Experimental Economy
 
 
 
Cuando en el mercado existen agentes que se limitan a aceptar pujas, estos
agentes se quedan con el excedente de los agentes del otro lado del mercado y
fuerzan que los precios no converjan al precio de equilibrio competitivo
Cuando los agentes pueden cambiar su estrategia de puja en función del
comportamiento de los precios en el mercado, el problema de la falta de
convergencia de los precios y la reducción de la eficiencia se corrigen
Publications:
 
 
Posada, M., López-Paredes, A. (2008) How to choose the bidding strategy in
Continuous Double Auctions: Imitation versus take-the-best heuristics. JASSS
vol 11, nº 16
Posada, M., Hernández, C., López-Paredes, A. (2005) Learning in Continuous
Double Auction. Lecture Notes in Economics and Mathematical Systems, 564,
41-52
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
52
TEAKS: Work team formation
Juan Martínez-Miranda (UCM-Grasia, 2009)
 
Problem
 
 
When a new industrial project is designed, one important
step is the selection of the people that will develop it
Purpose
 
To build a simulation tool to get an estimated information
about the team-members and whole team behaviour, in
terms of:
•  The ideal size of a team (2 to n members)
•  Composition (specific skills of the people involved in the project)
• 
• 
• 
• 
SiCoSSys project, 2010
Cognitive
Emotional
Social
Personality
Simulación de sistemas complejos con agentes
53
TEAKS: Architecture
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
54
TEAKS tasks
 
The team behaviour is measured from the team-members and
their assigned tasks interaction.
TASK 6
BEGIN
TASK 1
TASK 2
TASK 4
END
TASK 5
TASK 3
TASK 7
...
TASK N
TASK 8
 
 Outcome
Input
 
 
 
 
 
 
 
Number of Participants
Estimated duration
Sequence
Difficulty
Specialisation level required
Priority
Estimated cost
SiCoSSys project, 2010
 Timeliness
 Quality
of tasks
Simulación de sistemas complejos con agentes
55
TEAKS agents
 
Use a fuzzy software agent to represent characteristics of
a real team-member.
 
How much expertise has one person to perform one task?
•  High, medium, low
 
Social Characteristics
•  Introverted / Extroverted
•  Prefers to work in team / Prefers to work alone
 
Cognition:
•  depending on role: Project Manager / Engineer / Technician /
Assistant
•  and abilities: Creativity / Level of expertise
 
Attitude to perform a task
•  Desire, Interest, Disgust, Anxiety
 
Personality -> intensity of attitutde
•  Amiable, Expressive, Analytical, Driver
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
56
TEAKS agents
 
Behaviour Generation Process
Goals Achievement
Assigned Task Parameters
Agents Characteristics
Task Timeliness
Team Collaboration Level
Required Supervision Level
Task Quality
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
57
TEAKS results
 
Test against a real project at Mexican Petroleum Institute
 
 
Information Technology Project: GIS
•  23 People: 1 Project Manager, 1 Coordinator, 5 Specialists Sr, 10
Specialists Jr, 6 Technicians
•  23 tasks
•  50 simulations
The system results were compared with existent formats of
personnel evaluation performance
 
According with the psychologist:
 
According with the project managers:
•  “most of these results were acceptable given the input values”
•  “making more tests the system could be improved and will be very useful
for some kind of projects”
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
58
Scheduling in multi-project environments
(UVa INSISOC, 2008)
 
Caso de estudio: selección, programación y control de proyectos
en un entorno multi-proyecto dinámico.
 
 
Se reciben propuestas de proyecto dinámicamente, cada uno de ellos
con unos plazos de entrega, una valoración y un peso. Cada proyecto
supone un conjunto de operaciones que deben ser ejecutadas
respetando unas restricciones de precedencia.
Las operaciones son realizadas por recursos. Cada recurso sólo
puede ejecutar operaciones de un determinado tipo. La disponibilidad
de recursos es limitada.
Se deberá considerar la flexibilidad de recursos.
•  Un recurso puede poseer diferentes habilidades, lo que le permite realizar
diferentes actividades con diferentes grados de eficiencia.
•  Cada actividad puede ser realizada por diferentes recursos, cada uno de
ellos con un grado de eficiencia (diferentes duraciones).
 
Se busca seleccionar y programar de forma dinámica un conjunto de
proyectos (de entre los propuestos) intentando maximizar los
beneficios totales.
•  De acuerdo con la aproximación multi-agente la solución debe obtenerse
de forma distribuida. Cada agente elaborara y controlará sus propios
planes y programas.
SiCoSSys
Juan
Pavón
project,
Mestras,
2010
UCM 2009-10
Simulación
Simulación
de sistemas
Social
complejos
con Agentes
con agentes
59
Scheduling in multi-project environments
Tres tipos de agente:
• Gestores de proyecto
• Gestores de recurso
• Coordinador
Mecanismo de subasta para la
asignación de recursos a las tareas:
•  Se pretende conseguir conjunto de
programas locales compatibles y globalmente
eficientes.
•  Los proyectos compiten en un mercado por
los slots de tiempo de los recursos.
•  Emergen precios para los slots de tiempo
de los recursos.
SiCoSSys
Juan
Pavón
project,
Mestras,
2010
UCM 2009-10
Simulación
Simulación
de sistemas
Social
complejos
con Agentes
con agentes
60
Scheduling in multi-project environments
 
Conclusiones
 
 
 
 
El sistema asigna recursos a las tareas de los proyectos dinámicamente. Ayuda además a la
toma de decisión sobre la conveniencia de rechazar algún proyecto teniendo en cuenta el
valor aportado el estado del sistema.
Los precios aportan información sobre la criticidad que tienen los diferentes recursos para el
logro de los objetivos globales. Los precios permiten valorar en tiempo real, si se debe
adquirir más recursos de un tipo durante un cierto periodo de tiempo, o si se debe tratar de
dotar con capacidades adicionales a ciertos recursos.
Esta aproximación contribuye a rellenar el hueco de literatura existente entre la gestión de
cartera de proyectos – generalmente centrada en estrategia corporativa y finanzas – y el
trabajo en dirección de proyectos – fundamentalmente dedicado a aspectos operacionales
como la asignación de recursos y la programación –.
Publicaciones relevantes:
 
 
Araúzo-Araúzo, J.A., Galán-Ordax, J.M., Pajares-Gutiérrez, J. and López-Paredes, A. (2009),
Gestión eficiente de carteras de proyectos. Propuesta de un sistema inteligente de soporte a
la decisión para oficinas técnicas y empresas consultoras, DYNA Ingeniería e Industria, 84
(9), pp. 761-772
Araúzo, J.A., Galán, J.M., Pajares, J., López-Paredes, A. (2009) Online scheduling in multiproject environments. A multi-agent approach. In 7th International Conference on Practical
Applications of Agents and Multi-Agent Systems (PAAMS'09). Advances in Intelligent and
Soft Computing 55, pp. 293-301. Edited by Demazeau, Y., Pavón, J., Corchado, J.M., Bajo,
J. Berlin Heidelberg: Springer
SiCoSSys
Juan
Pavón
project,
Mestras,
2010
UCM 2009-10
Simulación
Simulación
de sistemas
Social
complejos
con Agentes
con agentes
61
Evolution of social values
Samer Hassan (UCM GRASIA, 2009)
 
Case study: simulate the process of change in social
values in the Spanish society during the period 1980-2000
 
 
 
It is designed as a strongly data-driven case study taking
into account quantitative -focusing on surveys- & qualitative
data sources, together with social network dynamics.
It supports the theories of R. Inglehart on the change of
social values driven by demographic effects instead of social
influence.
A representative sample of the Spanish population of 1980
evolve following certain social dynamics (friendship evolution,
matchmaking, reproduction) and demographical equations
• 
• 
• 
• 
SiCoSSys project, 2010
3000 agents loaded from surveys
Empirically grounded equations
Agent life cycle & set of characteristics
Fuzzy relationships
Simulación de sistemas complejos con agentes
62
Evolution of social values
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
63
Evolution of social values
 
Conclusions
 
 
 
Reveals key importance of demography in the process of
social values change.
Serves as case study for data-driven modelling, focused on
survey data. Besides, it merges several Artificial Intelligence
technologies into agent-based modelling.
References
 
 
Mentat: A Data-Driven Agent-Based simulation of social
values evolution. In: Multi-Agent-Based Simulation X,
Revised selected papers, Lecture Notes in Artificial
Intelligence, Springer-Verlag (2009)
Friends forever: Social relationships with a fuzzy Agent–
Based model. Hybrid Artificial Intelligence Systems, Selection
from the Third International Workshop, HAIS 2008,
5271:523–532, 2008
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
64
Altruism model
Candy Sansores (UCM GRASIA, 2007)
 
Case study: Altruism among simple and smart bats
(G. Di Tosto, R. Conte, M. Paolucci. Altruism Among Simple and Smart Vampires.
1st Conf. of the European Social Simulation Association (ESSA), 2003):
 
 
It shows the importance of modeling agents as cognitive entities and
remarks the impact of intelligence, goal-based systems on the
spreading of altruism, provided these systems are highly dynamic
A population of bats (agents) that live in roosts, where they get back
to after hunting and perform social activities like grooming and
sharing food
•  Bats are modeled as agents
•  Roosts are modeled as aggregates of bats
•  In roosts, bats are allowed to share food and to groom one another
 
Each simulation cycle includes one daily and one nightly stage
•  During the daily stage, bats perform the social activities
•  In the night bats hunt
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
65
Altruism model
 
An study on simulation about “altruism”
 
The Java model (using RePast):…public class CreditLink extends DefaultEdge implements
DrawableEdge {
private Color color;
package sim.templates.repast;
…
public class Model extends SimModelImpl
{
public CreditLink()
{}
//Model variables
public int numBats =public
150; CreditLink(Node from, Node to, Color
import uchicago.src.sim.network.DefaultDrawableNode;
public int numRoosts
10; label) {
color, =
String
public double successfulHunt = 0.93;
//Th remaining
7%
super(from,
to, label);
public class Altruist extends DefaultDrawableNode {
will starve
this.color
=
color;
public int normativeGoal; //Give Help
public int numBatsGoodHunt=0;}
public int survivalGoal=0; //Stay Alive
public int numBatsNoHunt=0;
public String strategy;
public int populationNum=0;
public void setColor(Color c) {
public int donate;
public
ArrayList
population
=
null;
color = c;
public Map strategies= new HashMap();
public ArrayList roosts[] = null; }
public ArrayList nodesDisplay = null;
public Altruist (String initialStrategy) {
//public DefaultGraphLayout graphlayout;
public void draw(SimGraphics g, int fromX,
strategy=initialStrategy;
public
int
worldXSize
=
400;
int
toX,
int
fromY,
int toY) {
setStrategies();
public int worldYSize = 400;
g.drawDirectedLink(color,
fromX, toX, fromY, toY);
setInitialNormativeGoal();
}
}
//Implementation
… variables
…
private DisplaySurface
surface;
void setStrategies() {
public
Schedule
schedule;
strategies.put("Cheater", new Integer(-3));
private OpenSequenceGraph graph;
strategies.put("Prudent", new Integer(-1));
import java.util.HashMap;
import java.util.Map;
}
…
strategies.put("Fair", new Integer(0));
strategies.put("Generous", new Integer(2));
public String[] getInitParam() {
strategies.put("Martyr", new Integer(5));
String[] params = { };
return params;
}
…
Simulación
de sistemas complejos con agentes
SiCoSSys project, 2010
…
66
Altruism model
 
An study on simulation about “altruism”
 
 
 
Using an agent oriented modelling language (INGENIAS)
A set of diagrams, which show different perspectives of a
model of the system under study
These diagrams can be automatically translated to code by
using model driven engineering techniques
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
67
Altruism model
 
Agents play roles and pursue goals
Selfish
Mi = 0
«RoleInher»
Altruist
«RoleInher»
Mi = 0.3
«RoleInher»
pick_box
Mi = 0.5
«WFPlays»
«RoleInher»
Bat
«RoleInher»
Mi = 0.8
Cooperative
Mi = 1
«WFPlays»
drop_box
Recipient
«GTPursues»
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
68
Altruism model
 
Agent behaviour: conditional mental state pattern
drop_box
success_evidence
F
Runtime
Agent
Q
«AContainsME»
«AContainsME»
«AHasMS»
«ConditionalMentalState»
PositiveFeedback
Condition:
Mi=Mi++
«AContainsME»
«ApplicationEventSlots»
MA_Network
success_evidence: int
targets_received: int
links_in_out: int
SiCoSSys project, 2010
«AContainsME»
«ApplicationEventSlots»
BehaviorFacts
Mi: int
strategy: String
targets_known: object
Simulación de sistemas complejos con agentes
69
Altruism model
 
Agents’ organization
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
70
Altruism model
 
This work was performed to study the possibility to express the
models with a visual language
 
 
 
Questions the expressiveness of agent-based modeling languages
And the transformation of these models to different platforms
 
Repast
 
Mason
 
Model validation through replication
Publications:
 
 
Visual Modeling for Complex Agent-Based Simulation Systems. In: J.
Sichman and L. Antunes (Eds.): Multi-Agent-Based Simulation, Sixth
International Workshop on Multi-Agent-Based Simulation (MABS
2005)
Agent-Based Simulation Replication: a Model Driven Architecture
Approach. In: A. Gelbukh et al (Eds.): Fourth Mexican International
Conference on Artificial Intelligence (MICAI-2005)
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
71
Conclusiones
 
El modelado gráfico puede ser más cercano a las
necesidades de los usuarios
 
Casos de estudio usando un lenguaje de modelado de
agentes
•  Desde SMA simples a complejos
•  Definición de lenguajes específicos del dominio
 
Framework flexible que pueda adaptarse a diferentes
plataformas finales
 
Técnicas de generación de código automático
•  Permite la replicación [Sansores and Pavón, MICAI 2005]
•  Reutilización de patrones
 
Necesidad de aprender y entender a los sociólogos
 
¿Cómo modelar los problemas y teorías de la sociología y la
economía?
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
72
SiCoSSys – Goals
 
Provide a well-sound methodological framework for the
treatment of complexity by policy makers and social
scientists
 
An updated theoretical body of knowledge
 
A set of tools that enable scenario simulation
 
 
A collection of case studies to guide and demonstrate the
applicability of the framework
This framework will be based on agent-oriented modelling
and simulation methods and tools
SiCoSSys Project
03/2011
73
SiCoSSys – Approach
SiCoSSys
methodology
Case study
Case study
concepts
INGENME
Domain
Specific
Modelling
language
customize
IDK
MDE
based
tools
code gen.
Agent
Simulation
Platform
...
Case study
Case study
SiCoSSys Project
concepts
Domain
Specific
Modelling
language
customize
03/2011
MDE
based
tools
code gen.
Agent
Simulation
Platform
74
Roles in SiCoSSys methodogy (1): UVA-INSISOC
 
SiCoSSys user: models and simulates
Simulation and
validation of models
Modelling with domain
specific language editor
SiCoSSys Project
03/2011
75
Roles in SiCoSSys methodogy (2): UCM-GRASIA
 
SiCoSSys engineer: prepares the tools
Defines metamodel
for a concrete
domain and can
customize the editor
Implements modules for
verification/validation
Creates code
generation modules
SiCoSSys Project
03/2011
76
Bibliografía
 
Básica:
 
 
N. Gilbert y K.G. Troikzsch (2005). Simulation for the Social
Scientist. Open University Press.
Referencias:
 
 
 
 
 
R. Axelrod (1997). Advancing the art of simulation in the social
sciences. Complexity, 3(2):16-22
B. Edmonds and S. Moss (2004). From KISS to KIDS - An 'Antisimplistic' Modelling Approach. In P. Davidsson, B. Logan, and K.
Takadama, editors, MABS, Lecture Notes in Computer Science 3415,
Springer Verlag, 130-144.
C. Lozares (2004). La simulación social, ¿una nueva manera de
investigar en ciencia social? Papers 72, pp. 165-188
C. M. Macal y M. J. North (2005). Tutorial on Agent-Based Modeling
and Simulation. Proc. 2005 Winter Simulation Conference, pp. 2-14
Ross A. Hammond and Robert Axelrod (2005). The Evolution of
Ethnocentrism,
http://www-personal.umich.edu/~axe/research/Hammond-Ax_Ethno.pdf
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
77
Research issues: complexity
 
Complejidad de los modelos
 
 
Todos los modelos hacen una abstracción (ignoran) algunas
características de la realidad
Cuanto más complejo sea el modelo
•  Más complicado será construirlo y validarlo
•  Más cercano será a la realidad
 
¿Qué nivel de abstracción adoptar?
 
KISS: Keep It Simple and Stupid
 
KIDS: Keep It Descriptive, Stupid
 
…
SiCoSSys project, 2010
(R. Axelrod, 1997)
(B. Edmonds and S. Moss, 2004)
Simulación de sistemas complejos con agentes
78
Research issues: complexity
 
MAS models are being used to simulate social systems
 
Emergent behaviors instead of complex mathematical models
 
Great flexibility
 
 
Examples of agent simulation toolkits: Netlogo, RePast,
Mason, SMDL, …
But…
•  Specifying the simulation model requires a deep
knowledge of programming language and
simulation environment
•  Replication problem
•  Scalability issues
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
79
Cuestiones a investigar: Modelado vs. programación
 
Herramientas de modelado
 
Los expertos en ciencias sociales
•  No son expertos en informática
•  Dificultad para utilizar las herramientas existentes
•  Requieren conocimientos de programación (p.ej. Java)
 
 
Repast ofrece con Repast Simphony facilidades para modelar
sin codificar
Netlogo ofrece muchas facilidades
•  Modelos sencillos
 
MASS
•  Lenguaje funcional para describir modelos (FABLES)
•  Wizards para visualizar y analizar resultados
 
INGENIAS intenta adaptar el lenguaje de modelado de
agentes a dominios de simulación social
•  Y luego generar código en plataformas de simulación usando
técnicas de Model Driven Development
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
80
1: Facilitar el modelado (usando INGENIAS)
Social Phenomena to Model
MAS Graphical Editor
MAS
Organization
Metamodel
Interaction
Metamodel
Agents
Metamodel
Environment
Metamodel
Goals/Tasks
Metamodel
Domain specific
editors defined by
metamodels
INGENIAS
Development Kit
(IDE)
Developed with
INGENIAS Eclipse plugin
Code Generator
Agent-Grid Enabler Add-on
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
81
2: Ejecución en múltiples plataformas
Simulation Agents
Monitor Agents
ABSS Framework
Agent Info
Grid Services
Simulation
Manager
Java Execution
Grid Services
Program
Execution
Schedulers
Grid Services
Data Services
Core Services
Globus Grid Infrastructure
WS-Resource Framework
Web Services Messaging, Security, Etc.
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
82
Cuestiones a investigar: Escalabilidad
 
(Cioffi-Revilla 2002) demuestran empíricamente que
 
 
El tamaño depende del tiempo en muchos sistemas sociales
Y el tamaño de un grupo o sistema influye en la evolución de
sistemas o procesos con acción colectiva
•  Por ejemplo, el concurso del dilema del prisionero iterado
 
Por esta razón es necesario poder escalar los modelos, sin limitar
su tamaño
 
Hemos hecho pruebas con RePast para un modelo de simulación
de la bolsa (IBEX35) y soporta hasta 13000 agentes aprox.
 
 
 
Es importante la definición de un planificador avanzado para mejorar
la eficiencia
Pero hay limitaciones de gestión de memoria
Conclusión: es necesaria la distribución de la simulación
 
Una posibilidad es usar grid computing
SiCoSSys project, 2010
Simulación de sistemas complejos con agentes
83