Simulación de sistemas complejos con agentes - uv.mx · Los primeros modelos en teoría económica...

83
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

Transcript of Simulación de sistemas complejos con agentes - uv.mx · Los primeros modelos en teoría económica...

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

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

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

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

Ejemplos con netlogo

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

Rebellion

SiCoSSys project, 2010 Simulación de sistemas complejos con agentes 37

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

Modelado basado en agentes

Ejemplos

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 54

TEAKS: Architecture

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 63

Evolution of social values

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