simulación de sistemas complejos con agentes - uv.mx · los primeros modelos en teoría económica...
Post on 04-Oct-2018
216 Views
Preview:
TRANSCRIPT
Simulación de sistemas complejos con agentes
Xalapa, 13 de mayo 2011 Juan Pavón Mestras
jpavon@fdi.ucm.es
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
MDE +
AOSE
UCM-GRASIA Research Lines
INGENIAS-IDK
INGENME
Self-MML
SociAAL
SiCoSSys
ICARO-T
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
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
Juan Pavón Mestras UCM 2005 Ingeniería del Software Orientada a Agentes 7
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 8
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 9
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 10
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 11
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 12
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
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 13
Simulación
Datos de configuración
Comportamiento observable
Simulación
Modelo
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 14
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 15
Modelado y simulación
Modelo
Sistema objetivo
Resultados de la simulación
Datos recogidos
Abstracción Similitud estructural
Simulación
Recogida de datos
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 16
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 17
… 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 18
Modelado basado en agentes
De: José M. Galán, EVALUACIÓN INTEGRADORA DE POLÍTICAS DE AGUA: MODELADO Y SIMULACIÓN CON SOCIEDADES ARTIFICIALES DE AGENTES. Tesis doctoral. Burgos 2007
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 19
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 20
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 21
Movimiento e interacción en el entorno
Relevancia de las interacciones locales Las interacciones humanas ocurren en un lugar
Las interaccinoes locales son más importantes que las distantes
Los agentes están situados en el espacio/entorno, con capacidad para moverse 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 22
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
Del texto informal al modelo computacional
Predicciones Determinar cómo puede evolucionar una sociedad en aspectos
concretos bajo ciertas suposiciones
Formación Modelos económicos: http://www.bized.co.uk/virtual/
Entretenimiento Juegos
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 23
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/)
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
SiCoSSys, 2011 Repast 25
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
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: R, VisAD, Weka, hojas de cálculo, MATLAB, iReport
Espacios 2D y 3D 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
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 28
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 30
Historia
LOGO (Papert & Minsky, 1967) teoría educativa basada en el constructivismo de Piaget
(creación sobre la marcha y prueba de conceptos)
Lenguaje sencillo derivado de LISP
Gráficos con una tortuga y exploración de micromundos
StarLogo (Resnick, 1991), MacStarLogo, StarLogoT 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 31
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 32
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 33
Simulación: 1. Poner la configuración inicial
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 34
Simulación: 2. Ejecutar el modelo
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 35
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
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
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 38
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 39
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 40
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 41
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 42
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
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 44
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
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
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 47
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 • Localization of the household • Attitude on water shortage • Adoption of technology measures • Implement an econometric model of trimonthly consumption
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 48
Domestic water management in Valladolid
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 49
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 50
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 51
Continuous Double Auctions
ENVIRONMENT
INSTITUTION
Continous double auction
AGENTS
How much to bid?
When to bid?
When to accept?
K
GD
ZIP
Election
D
S
MARKET
Fixed behaviour 50%K-50%GD
Change in behaviour Initial:50%K-50%GD
Market performance on fixed bid behaviours
K-ZIP-GD
Convergence and performance
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 52
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
Continuous Double Auctions
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 53
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)
• Cognitive • Emotional • Social • Personality
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 55
The team behaviour is measured from the team-members and their assigned tasks interaction.
Input Number of Participants Estimated duration Sequence Difficulty Specialisation level required Priority Estimated cost
TEAKS tasks
BEGIN TASK 1 TASK 2
TASK 3
TASK 4
TASK 5
TASK 6
TASK 7
TASK 8
... TASK N
END
Outcome Timeliness Quality of tasks
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 56
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 57
TEAKS agents
Behaviour Generation Process Goals Achievement
Task Timeliness
Team Collaboration Level
Task Quality
Required Supervision Level
Assigned Task Parameters
Agents Characteristics
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 58
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:
• “most of these results were acceptable given the input values” According with the project managers:
• “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 59 Juan Pavón Mestras, UCM 2009-10 Simulación Social con Agentes 59
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 project, 2010 Simulación de sistemas complejos con agentes 60 Juan Pavón Mestras, UCM 2009-10 Simulación Social con Agentes 60
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 project, 2010 Simulación de sistemas complejos con agentes 61 Juan Pavón Mestras, UCM 2009-10 Simulación Social con Agentes 61
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 multi-project 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
Scheduling in multi-project environments
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 62
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
• 3000 agents loaded from surveys • Empirically grounded equations • Agent life cycle & set of characteristics • Fuzzy relationships
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 64
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 65
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 66
Altruism model
An study on simulation about “altruism” The Java model (using RePast):
package sim.templates.repast;
import java.util.HashMap; import java.util.Map;
import uchicago.src.sim.network.DefaultDrawableNode;
public class Altruist extends DefaultDrawableNode { public int normativeGoal; //Give Help public int survivalGoal=0; //Stay Alive public String strategy; public int donate; public Map strategies= new HashMap();
public Altruist (String initialStrategy) { strategy=initialStrategy; setStrategies(); setInitialNormativeGoal(); }
void setStrategies() { strategies.put("Cheater", new Integer(-3)); strategies.put("Prudent", new Integer(-1)); strategies.put("Fair", new Integer(0)); strategies.put("Generous", new Integer(2)); strategies.put("Martyr", new Integer(5)); }
…
… public class CreditLink extends DefaultEdge implements DrawableEdge {
private Color color;
public CreditLink() {}
public CreditLink(Node from, Node to, Color color, String label) {
super(from, to, label); this.color = color; }
public void setColor(Color c) { color = c; }
public void draw(SimGraphics g, int fromX, int toX, int fromY, int toY) {
g.drawDirectedLink(color, fromX, toX, fromY, toY); }
… …
… public class Model extends SimModelImpl {
//Model variables public int numBats = 150;
public int numRoosts = 10; public double successfulHunt = 0.93; //Th remaining 7% will starve public int numBatsGoodHunt=0; public int numBatsNoHunt=0; public int populationNum=0; public ArrayList population = null; public ArrayList roosts[] = null; public ArrayList nodesDisplay = null; //public DefaultGraphLayout graphlayout; public int worldXSize = 400; public int worldYSize = 400;
//Implementation variables private DisplaySurface surface; public Schedule schedule;
private OpenSequenceGraph graph;
public String[] getInitParam() { String[] params = { }; return params;
} … …
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 67
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 68
Altruism model
Agents play roles and pursue goals
Bat
Altruist
Recipient
Selfish
Cooperative
pick_box
drop_box
«WFPlays»
«WFPlays»
Mi = 0
Mi = 0.3
Mi = 0.5
Mi = 0.8
Mi = 1
«RoleInher»
«RoleInher»
«RoleInher»
«RoleInher»
«RoleInher»
«GTPursues»
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 69
Altruism model
Agent behaviour: conditional mental state pattern
success_evidence: int targets_received: int
links_in_out: int
«ApplicationEventSlots» MA_Network
Mi: int strategy: String targets_known: object
«ApplicationEventSlots» BehaviorFacts
Q
Runtime Agent
drop_box
Condition: Mi=Mi++
«ConditionalMentalState» PositiveFeedback
«AHasMS»
«AContainsME» «AContainsME»
success_evidence
F
«AContainsME» «AContainsME»
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 70
Altruism model
Agents’ organization
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 71
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 72
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 – 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 Project 03/2011 74
Case study Case study concepts
Domain Specific
Modelling language
MDE based tools
Agent Simulation Platform
customize code gen.
Case study Case study concepts
Domain Specific
Modelling language
MDE based tools
Agent Simulation Platform
customize code gen.
INGENME IDK
...
SiCoSSys methodology
Roles in SiCoSSys methodogy (1): UVA-INSISOC
SiCoSSys user: models and simulates
Modelling with domain specific language editor
Simulation and validation of models
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
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 77
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 'Anti-
simplistic' 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 78
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 (R. Axelrod, 1997)
KIDS: Keep It Descriptive, Stupid (B. Edmonds and S. Moss, 2004)
…
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 79
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 80
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 81
1: Facilitar el modelado (usando INGENIAS)
MAS Organization Metamodel
Agents Metamodel
Interaction Metamodel
Goals/Tasks Metamodel
Environment Metamodel
Code Generator
Agent-Grid Enabler Add-on
MAS Graphical Editor
INGENIAS Development Kit (IDE)
Social Phenomena to Model
Domain specific editors defined by
metamodels
Developed with INGENIAS Eclipse plugin
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 82
2: Ejecución en múltiples plataformas
Web Services Messaging, Security, Etc.
WS-Resource Framework
Core Services
Program Execution Data Services
Agent Info Grid Services
Java Execution Grid Services
Schedulers Grid Services
Monitor Agents
Simulation Agents
Simulation Manager
Globus Grid Infrastructure
ABSS Framework
SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 83
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
top related