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