Вы находитесь на странице: 1из 83

Simulacin de sistemas complejos con agentes

Xalapa, 13 de mayo 2011


Juan Pavn 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 Pavn and Jorge Gmez Sanz
Javier Arroyo, Rubn Fuentes, Celia Gutirrez Coso, Manuel
Ortega, Samer Hassan Collado, Milln Arroyo (Dep. Sociologa
IV)
Collaborators: Francisco Garijo, Jos R. Prez Agera

3 Assistant professors
Carlos Cervign, Eva Ulln, Diego Blanco, Lucila Finkel (Dep.
Sociologa IV)

7 PhD students (MEC, UCM, Conacyt, project fellowships):


Carlos Rodrguez, Jos M. Fdez de Alba, Albert Meco, Fernando
Burillo, Ghislain Atemezing, Adolfo Vzquez, Alvaro Alczar

Undergraduate students (MEC, UCM and companies


fellowships)

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

UCM-GRASIA Research Lines


INGENIASIDK

ICARO-T

INGENME

MDE
+
AOSE
SiCoSSys

Self-MML

SociAAL

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

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

Simulacin de sistemas complejos con agentes

Simulacin de sistemas complejos con agentes

Sistemas complejos

No linealidad

Complejidad

Emergencia

Auto-organizacin

Racionalidad limitada

Interaccin Local

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

No lineal

Lineal: el efecto sobre una variable dependiente es


proporcional a la suma de un conjunto de variables
independientes

No lineal:

Catico
Sensible a las condiciones iniciales
Similar a los sistemas depredador/presa o productor/consumidor

Juan Pavn Mestras


UCM 2005

Ingeniera del Software Orientada a Agentes

Compleja

Comportamientos simples y reglas simples dan lugar a


organizaciones complejas

Dunas
Avalanchas caticas
Formas predecibles

Hormigas

Organizaciones humanas

Juan Pavn Mestras


UCM 2005

Ingeniera del Software Orientada a Agentes

Emergente

Un fenmemo es emergente si requiere nuevas categoras


para describirlo que no son necesarias para describir el
comportamiento de sus componentes

Ejemplos:

Fsica y biologa
Temperatura
Hormigueros

Sistemas sociales
Las modas
Los atascos de trfico

Juan Pavn Mestras


UCM 2005

Ingeniera del Software Orientada a Agentes

Auto-organizacin

La organizacin global aparece sin planificacin central, a


partir de acciones individuales de los agentes

Bandadas o bancos de peces

Mercados

Internet

Juan Pavn Mestras


UCM 2005

Ingeniera del Software Orientada a Agentes

10

Racionalidad limitada

Los primeros modelos en teora econmica y teora


estadstica de la decisin asuman un hombre racional

Adopta decisiones ptimas en un ambiente muy especificado


y claramente definido

Desde Herbert Simon (1954) se asume una racionalidad


limitada:

Existen lmites prcticos a la racionalidad humana:


La informacin que tienen
Los lmites cognitivos de sus mentes
La cantidad finita de tiempo para tomar las decisiones

Juan Pavn Mestras


UCM 2005

Ingeniera del Software Orientada a Agentes

11

Interaccin Local

Las interacciones humanas estn infludas por su lugar en


el espacio

Las interacciones locales son ms importantes que las


distantes

Juan Pavn Mestras


UCM 2005

Ingeniera del Software Orientada a Agentes

12

Simulacin

Simulacin
Datos de
configuracin

SiCoSSys project, 2010

Modelo

Simulacin de sistemas complejos con agentes

Comportamiento
observable

13

Simulacin vs. Experimentacin

Experimentacin: implica la aplicacin 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

Cul sera el efecto de limitar el nmero de nios por familia en la demografa?


Cul es la mejor poltica de gestin del agua en una regin?
Cmo formar el mejor equipo de personas para desarrollar un proyecto?

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

Simulacin de sistemas complejos con agentes

14

Modelado y simulacin

Modelo

Abstraccin

Sistema
objetivo

Resultados de
la simulacin

Simulacin

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

Simulacin de sistemas complejos con agentes

15

Simulacin social

Sistema social

Una coleccin de individuos


Evolucin autnoma
Motivados por sus propias creencias y sus objetivos personales
Y su percepcin del entorno

Todos estos factores evolucionan en el tiempo


Plus: Evolucin demogrfica

Interacciones/comunicacin entre ellos (directa o a travs del


entorno)

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

16

y Sistemas Multi-Agentes

Un Sistema Multi-Agentes es

Una coleccin de individuos (agentes)


Autonoma
Motivados por sus creencias y objetivos personales

Conscientes de su entorno

Interactan entre ellos

Pueden formar organizaciones

Evolucionan en el tiempo

El paradigma de agentes es una buena abstraccin


para modelar sistemas sociales

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

17

Modelado basado en agentes

De: Jos M. Galn, EVALUACIN INTEGRADORA DE POLTICAS DE AGUA: MODELADO Y SIMULACIN CON SOCIEDADES
Simulacin de sistemas complejos con agentes
SiCoSSys project,
2010
ARTIFICIALES
DE AGENTES.
Tesis doctoral. Burgos 2007

18

Nuestro laboratorio social

De: Jos M. Galn, Simulacin basada en agentes de juegos evolutivos en redes de normas. Presentacin UCM 2009
SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

19

Simulacin social basada en agentes

La simulacin consiste en la ejecucin de agentes en un


entorno de simulacin (controlado)

Los agentes modelan tipos de comportamientos especficos

Los agentes interaccionan


Directamente (mensajes)
A travs del entorno (espacio compartido, feromonas, etc.)

Como resultado hay un comportamiento emergente


Visualizacin de la simulacin
Grficos de resultados
Logs de ejecucin

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

20

Movimiento e interaccin en el entorno

Relevancia de las interacciones locales

Las interaccinoes locales son ms importantes que las


distantes

Los agentes estn 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

Simulacin de sistemas complejos con agentes

21

Aplicaciones de la simulacin social con agentes

Mejor comprensin de fenmenos sociales

Observando su evolucin

Diagnsticos

Descubrimiento de comportamientos emergentes

Formalizacin y validacin de teoras sociales

Predicciones

Determinar cmo puede evolucionar una sociedad en aspectos


concretos bajo ciertas suposiciones

Formacin

Del texto informal al modelo computacional

Modelos econmicos: http://www.bized.co.uk/virtual/

Entretenimiento

Juegos

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

22

Herramientas para la simulacin 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/)
Evolucin de StarLogo
Basada en el lenguaje Log, fcil 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

Simulacin de sistemas complejos con agentes

23

Repast

Recursive Porus Agent Simulation Toolkit

Entorno open source de modelado y simulacin 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

Informacin y descargas: http://repast.sourceforge.net

SiCoSSys, 2011

Repast

24

Repast - Historia

Inicialmente Repast J (libreras 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 ejecucin Java con herramientas de


monitorizacin (grficos y logs)

Integracin de herramientas externas:

Espacios 2D y 3D

R, VisAD, Weka, hojas de clculo, MATLAB, iReport

Incluye integracin con librera de modelado de redes JUNG y


GIS

Planificador multi-hilo de eventos discretos

SiCoSSys, 2011

Repast

26

Repast Symphony 2.0

Libreras para algoritmos genticos, redes neuronales,


regresin, generacin de nmeros aleatorios y funciones
matemticas especiales

Simulacin Monte Carlo con mltiples modos de


optimizacin de resultados del modelo

Herramientas de integracin de modelos externos

SiCoSSys, 2011

Repast

27

Herramientas para la simulacin basada en agentes

Para ver ms:

http://www.econ.iastate.edu/tesfatsi/acecode.htm

http://www.grids.ac.uk/Complex/ABMS/ABMS.html

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

28

Ejemplos con netlogo

Historia

LOGO (Papert & Minsky, 1967)

Lenguaje sencillo derivado de LISP

Grficos con una tortuga y exploracin de micromundos

StarLogo (Resnick, 1991), MacStarLogo, StarLogoT

teora educativa basada en el constructivismo de Piaget


(creacin sobre la marcha y prueba de conceptos)

Lenguage de simulacin basado en agentes


Explorar el comportamiento de sistemas descentralizados con
la programacin concurrente de 100 tortugas

NetLogo (Wilensky, 1999)

Extensin de StarLogo (multi-plataforma, red, etc.)

El ms popular (librera de modelos cooperativa)

SiCoSSys project, 2010

Simulacin 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 mviles)
Un observer observa y controla lo que hacen los agentes

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

31

Netlogo agentes

Elementos conceptuales

Turtles: son los agentes en el modelo de simulacin


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

Simulacin de sistemas complejos con agentes

32

Simulacin: 1. Poner la configuracin inicial

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

33

Simulacin: 2. Ejecutar el modelo

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

34

Programacin 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

Simulacin de sistemas complejos con agentes

35

Rebellion

Modelo de la rebelin de poblacin sojuzgada contra una


autoridad central

Adaptacin 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 poblacin se mueve aleatoriamente

Si su nivel de malestar contra la autoridad central es


suficientemente alto y su percepcin de los riesgos
involucrados suficientemente baja, se rebelan abiertamente
Una parte de la poblacin (polica) acta a favor de la
autoridad central, busca para reprimir la rebelin: se mueven
aleatoriamente y arrestan aquellos que se rebelan

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

36

Rebellion

SiCoSSys project, 2010

Simulacin 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, aversin 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 ms o menos eficacia para atrapar sospechosos
]
;; atributos del entorno
patches-own [
vecindad
; patches alrededor en el rango de visin
]

SiCoSSys project, 2010

Simulacin 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
;; clculo del malestar
to-report malestar
report percepcion-dureza * (1 - legitimidad-gobierno)
end
;; clculo del riesgo de ser arrestado
;; en funcin del nmero 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

Simulacin 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

Simulacin de sistemas complejos con agentes

40

Rebellion
;; Inicializacin 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

Simulacin de sistemas complejos con agentes

41

Rebellion
;; Ejecucin de la simulacin
to go
ask turtles [
; 1) Mover a un sitio dentro del rango de visin
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 rebelin dentro de su radio de accin


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 visualizacin de la simulacin
ask personas [ pinta-persona ]
ask polis [ pinta-poli ]
; Avanza el reloj de la simulacin y actualiza grficas
tick
update-plots
end
Simulacin 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

Actan en un entorno simulado

Las propiedades de nivel macro emergen de las


interacciones entre agentes

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

44

Ejemplo: Simulacin de control de trfico areo

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 trfico areo se puede AUTO-ORGANIZAR

Objetivo:
Maximizar la capacidad del trfico areo planificando las
trayectorias de mltiples aviones evitando colisiones entre
ellos

Mecanismos:
Aviones son agentes con un alto grado de autonoma
Interaccin sofisticada entre los aviones en tiempo real

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

45

Ejemplo: Simulacin de control de trfico areo

Los agentes planifican sus rutas:

..\..\..\Agentes\Simulacin\Michal Pechouzek
\af_01_operator.avi

Los agentes cooperan:

..\..\..\Agentes\Simulacin\Michal Pechouzek
\mlca_with_history.avi

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

46

Domestic water management in Valladolid


Jos Manuel Galn (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
Simulacin de sistemas complejos con agentes

47

Domestic water management in Valladolid

SiCoSSys project, 2010

Simulacin 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.
Evaluacin integradora de polticas de agua: modelado y simulacin con
sociedades artificiales de agentes. Servicio de Publicaciones de la Universidad
de Burgos. 2007.

SiCoSSys project, 2010

Simulacin 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

Simulacin 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

Simulacin 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 funcin del
comportamiento de los precios en el mercado, el problema de la falta de
convergencia de los precios y la reduccin de la eficiencia se corrigen

Publications:

Posada, M., Lpez-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., Hernndez, C., Lpez-Paredes, A. (2005) Learning in Continuous
Double Auction. Lecture Notes in Economics and Mathematical Systems, 564,
41-52

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

52

TEAKS: Work team formation


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

Simulacin de sistemas complejos con agentes

53

TEAKS: Architecture

SiCoSSys project, 2010

Simulacin 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

Simulacin 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

Simulacin 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

Simulacin 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

Simulacin de sistemas complejos con agentes

58

Scheduling in multi-project environments


(UVa INSISOC, 2008)

Caso de estudio: seleccin, programacin y control de proyectos


en un entorno multi-proyecto dinmico.

Se reciben propuestas de proyecto dinmicamente, cada uno de ellos


con unos plazos de entrega, una valoracin 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 slo
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 dinmica un conjunto de


proyectos (de entre los propuestos) intentando maximizar los
beneficios totales.
De acuerdo con la aproximacin multi-agente la solucin debe obtenerse
de forma distribuida. Cada agente elaborara y controlar sus propios
planes y programas.

SiCoSSys
Juan
Pavn
project,
Mestras,
2010
UCM 2009-10

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


asignacin 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
Pavn
project,
Mestras,
2010
UCM 2009-10

Simulacin
Simulacin
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 dinmicamente. Ayuda adems a la
toma de decisin sobre la conveniencia de rechazar algn proyecto teniendo en cuenta el
valor aportado el estado del sistema.
Los precios aportan informacin 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 ms recursos de un tipo durante un cierto periodo de tiempo, o si se debe tratar de
dotar con capacidades adicionales a ciertos recursos.
Esta aproximacin contribuye a rellenar el hueco de literatura existente entre la gestin de
cartera de proyectos generalmente centrada en estrategia corporativa y finanzas y el
trabajo en direccin de proyectos fundamentalmente dedicado a aspectos operacionales
como la asignacin de recursos y la programacin .

Publicaciones relevantes:

Arazo-Arazo, J.A., Galn-Ordax, J.M., Pajares-Gutirrez, J. and Lpez-Paredes, A. (2009),


Gestin eficiente de carteras de proyectos. Propuesta de un sistema inteligente de soporte a
la decisin para oficinas tcnicas y empresas consultoras, DYNA Ingeniera e Industria, 84
(9), pp. 761-772
Arazo, J.A., Galn, J.M., Pajares, J., Lpez-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., Pavn, J., Corchado, J.M., Bajo,
J. Berlin Heidelberg: Springer

SiCoSSys
Juan
Pavn
project,
Mestras,
2010
UCM 2009-10

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

Simulacin de sistemas complejos con agentes

62

Evolution of social values

SiCoSSys project, 2010

Simulacin 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:523532, 2008

SiCoSSys project, 2010

Simulacin 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

Simulacin 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;
}

Simulacin
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

Simulacin 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

Simulacin de sistemas complejos con agentes

68

Altruism model

Agent behaviour: conditional mental state pattern


drop_box

success_evidence

Runtime
Agent

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

Simulacin de sistemas complejos con agentes

69

Altruism model

Agents organization

SiCoSSys project, 2010

Simulacin 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

Simulacin de sistemas complejos con agentes

71

Conclusiones

El modelado grfico puede ser ms cercano a las


necesidades de los usuarios

Casos de estudio usando un lenguaje de modelado de


agentes
Desde SMA simples a complejos
Definicin de lenguajes especficos del dominio

Framework flexible que pueda adaptarse a diferentes


plataformas finales

Tcnicas de generacin de cdigo automtico


Permite la replicacin [Sansores and Pavn, MICAI 2005]
Reutilizacin de patrones

Necesidad de aprender y entender a los socilogos

Cmo modelar los problemas y teoras de la sociologa y la


economa?

SiCoSSys project, 2010

Simulacin 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

Bibliografa

Bsica:

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

Simulacin de sistemas complejos con agentes

77

Research issues: complexity

Complejidad de los modelos

Todos los modelos hacen una abstraccin (ignoran) algunas


caractersticas de la realidad
Cuanto ms complejo sea el modelo
Ms complicado ser construirlo y validarlo
Ms cercano ser a la realidad

Qu nivel de abstraccin adoptar?

KISS: Keep It Simple and Stupid

KIDS: Keep It Descriptive, Stupid

SiCoSSys project, 2010

(R. Axelrod, 1997)


(B. Edmonds and S. Moss, 2004)

Simulacin 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

Simulacin de sistemas complejos con agentes

79

Cuestiones a investigar: Modelado vs. programacin

Herramientas de modelado

Los expertos en ciencias sociales


No son expertos en informtica
Dificultad para utilizar las herramientas existentes
Requieren conocimientos de programacin (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 simulacin social
Y luego generar cdigo en plataformas de simulacin usando
tcnicas de Model Driven Development

SiCoSSys project, 2010

Simulacin 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

Simulacin de sistemas complejos con agentes

81

2: Ejecucin en mltiples 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

Simulacin de sistemas complejos con agentes

82

Cuestiones a investigar: Escalabilidad

(Cioffi-Revilla 2002) demuestran empricamente que

El tamao depende del tiempo en muchos sistemas sociales


Y el tamao de un grupo o sistema influye en la evolucin de
sistemas o procesos con accin colectiva
Por ejemplo, el concurso del dilema del prisionero iterado

Por esta razn es necesario poder escalar los modelos, sin limitar
su tamao

Hemos hecho pruebas con RePast para un modelo de simulacin


de la bolsa (IBEX35) y soporta hasta 13000 agentes aprox.

Es importante la definicin de un planificador avanzado para mejorar


la eficiencia
Pero hay limitaciones de gestin de memoria

Conclusin: es necesaria la distribucin de la simulacin

Una posibilidad es usar grid computing

SiCoSSys project, 2010

Simulacin de sistemas complejos con agentes

83