3 El concepto de confianza en

Ramón Hermoso Traba 3 El concepto de confianza en sistemas organizativos: Un enfoque de coordinación para agentes software Publicaciones CETINIA Un

1 downloads 96 Views 6MB Size

Recommend Stories


GENERANDO CONFIANZA: EL CONSENTIMIENTO INFORMADO EN VETERINARIA
G ENERANDO CONFIANZA: EL CONSENTIMIENTO INFORMADO EN VETERINARIA Este trabajo ha sido elaborado por la Comisión de Ética de AVEPA: Comisión de Étic

Objetivos: Confianza. confianza. competencia ICF
Confianza Objetivos: 1. Identificar los componentes de la confianza 2. Reconocer el impacto de la confianza en los resultados 3. Distinguir la confian

Story Transcript

Ramón Hermoso Traba

3

El concepto de confianza en sistemas organizativos: Un enfoque de coordinación para agentes software

Publicaciones CETINIA Universidad Rey Juan Carlos

El concepto de confianza en sistemas organizativos: un enfoque de coordinaci´ on para agentes software

El concepto de confianza en sistemas organizativos: un enfoque de coordinaci´ on para agentes software

Tesis presentada por Ram´ on Hermoso Traba Departamento de Arquitectura y Tecnolog´ıa de Computadores, Ciencias de la Computaci´ on e Inteligencia Artificial para la obtenci´ on del t´ıtulo de Doctor en Inform´atica

Agradecimientos En primer lugar agradezco a mis directores, Holger y Sascha, su dedicaci´on, apoyo y consejos durante la elaboraci´ on de esta tesis, as´ı como la confianza que siempre han mostrado en m´ı. Tambi´en quiero dar las gracias a todos aquellos que forman o han formado parte del grupo durante los u ´ltimos a˜ nos, por el ejemplo que dan en cuanto a docencia e investigaci´ on, pero especialmente por su apoyo y su tiempo cuando los he necesitado. Dentro de este grupo, aparte de grandes investigadores y profesores hay grandes personas: Ana, Alberto, C´esar, Jorge, Jos´e Miguel, JuanMa y Matteo. Gracias tambi´en a toda la gente que ha compartido horas de laboratorio (aunque fuese en la distancia) conmigo y que ha contribuido a hacer un ambiente de trabajo extraordinario (en el que uno puede puede practicar su ingl´es siempre que quiera): ´ Alvaro, Carlos, Cliff, Eva, Helena, Jos´e Javier, Jos´e Santiago, Levan, Lu´ıs, M´ıchel, Moser y Radu. Me gustar´ıa, asimismo, agradecer a Viviane su apoyo e inter´es por nuestro trabajo, as´ı como la facilidad que siempre nos ha dado para colaborar (nos vemos en Rio). A Rub´en y Sergio por ense˜ narme todo lo importante de la inform´atica y por todos los d´ıas en los que han sido mi ”familia”. Especialmente a Roberto, por compartir gran parte de esta tesis conmigo y por los cientos de horas que hemos pasado en el laboratorio, las malas y las buenas. Ojal´ a sigamos trabajando juntos. Gracias a Cristiano, a Luca y, especialmente, a Marco, Jola y Kleidi (Ci vediamo presto! ) por acogerme en Roma como uno m´ as. A Harko y Tessy por hacer m´as c´alida la primavera en Estocolmo (Tack! ). A Alicia, Elena, Ismael, Javi, Kike, Marta, Paco y Ra´ ul por su amistad incondicional despu´es de tantos a˜ nos y por estar donde tienen que estar en cada momento. Os debo mucho tiempo, y todo el tiempo que os debo os lo voy a devolver. A mi familia. A mi padre Fernando, a mi madre Puri y a mi hermano Fernando, por regalarme lo m´ as importante que se le puede dar a alguien: mucho cari˜ no y mucho animo en todo lo que he hecho. ´ Y a Violeta, por todo el amor, comprensi´ on y tiempo que me ha dado los u ´ltimos a˜ nos, sin los cuales, este trabajo no tendr´ıa ning´ un sentido. Gracias.

A Violeta.

Resumen Hoy en d´ıa, la naturaleza distribuida de las aplicaciones inform´aticas ha hecho que cada vez sea m´ as frecuente encontrarse con entornos rodeados de incertidumbre. En particular, en los sistemas multi-agente en los que, debido a la sociabilidad de los agentes y la necesidad de coordinaci´ on, los agentes deben interactuar con otros, presenta en muchos casos, que ´estos se encuentren con escasa informaci´on a la hora de razonar sobre la bondad que los otros pueden manisfestar con respecto a interacciones futuras. La exploraci´ on de nuevos mecanismos para abordar esta cuesti´on se ha convertido en una corriente de investigaci´ on muy prol´ıfica durante los u ´ltimos a˜ nos. Los modelos de confianza y reputaci´ on han sido com´ unmente usados para inferir expectativas sobre el comportamiento futuro de otra entidades a partir de informaci´on basada en experiencias pasadas. Estos modelos son de particular relevancia cuando los agentes deben decidir con qu´e otros individuos interactuar en un momento dado, para llevar a cabo una determinada acci´ on. Sin embargo, cuando un agente se une a un sistema, normalmente no tiene forma de obtener la informaci´on sobre el comportamiento de los otros participantes en el mismo, puesto que dicha informaci´on no suele estar disponible. En este trabajo se aborda el uso de estructuras organizativas para afrontar este problema y mejorar as´ı la eficiencia de los modelos de confianza. Se trata de proporcionar a los agentes una informaci´on adicional para que ´estos puedan elegir a los mejores agentes con los que interaccionar. En este contexto, se describe c´ omo ciertas propiedades estructurales de los sistemas multi-agente orientados a tareas pueden usarse para construir un modelo de confianza basado en informaci´on local de los agentes. Adem´ as, se introduce una herramienta llamada TOAST, que permite analizar diferentes modelos de confianza. Otra corriente que ha sido ampliamente investigada durante los u ´ltimos a˜ nos es la de los sistemas multi-agente abiertos, es decir, aquellos sistemas en los que los agentes participantes pueden haber sido dise˜ nados por personas distintas, propiciando as´ı una m´ as que posible disparidad en sus comportamientos. Adem´as, en este tipo de sistemas los agentes tienen la capacidad de entrar o abandonar el mismo a su voluntad, lo que hace muy complicado el aplicar mecanismos de coordinaci´on dise˜ nados a priori para cumplir alg´ un tipo de objetivo global del sistema. Para hacer frente a este problema, en este trabajo se presenta un mecanismo que intenta proporcionar a los agentes xi

Ram´ on Hermoso Traba

informaci´ on para que ´estos puedan elegir de manera m´as fiable otros individuos con los que interaccionar, a partir de la evoluci´ on y adaptaci´on de la taxonom´ıa de roles que estructura el sistema. Adem´ as, se proporciona una base experimental exhaustiva que prueba la bondad de su uso.

xii

Abstract Today’s distributed nature of computing environments is increasing the need of dealing with uncertainty. In particular, multi-agent systems, in which agents must interact with other individuals with scarce information to reason about their goodness, seem to be a suitable benchmark to explore new mechanisms to solve this problem. Trust and reputation mechanisms are commonly used to infer expectations on future behaviour from past interactions. They are of particular relevance when agents have to choose appropriate counterparts for their interactions. However, when agents join a system information about past interactions is usually not available. The use of organisational structures can tackle this problem and can improve the efficiency of trust models by endowing agents with some extra information to choose the best agents to interact with. In this context, we present how certain structural properties of task-oriented multi-agent systems can be used to build an efficient trust model in a local way. Furthermore, we introduce a testbed tool (TOAST) that allows to analyse different trust and reputation models in situations where agents act within task-oriented multi-agent systems. We experimentally evaluate our approach and show its validity. Another unstoppable stream in computing is the one related to open systems, in which agents may have been designed by different developers, so possibly endowing them with different behaviours. Furthermore, in open systems, agents can enter or leave the system at their will, what makes even more complicated to regulate any overall desired behaviour for the system. In order to tackle this problem, we present a mechanism that attempts to endow agents with reliable information to allow them to better choose their counterparts, following role evolution of the system, regarding changes in the population. We test the mechanism in different scenarios, trying to pointing out the goodness – in terms of obtained utility – of its use.

xiii

´Indice general 1. Introducci´ on ´ 1.1. Ambito de la investigaci´ on . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.3. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . .

6

2. Estado del arte

3

7

2.1. El concepto de organizaci´ on en SMAs . . . . . . . . . . . . . . . . . .

7

2.1.1. Modelos organizativos en SMAs . . . . . . . . . . . . . . . . . .

8

2.2. El concepto de rol en SMAs . . . . . . . . . . . . . . . . . . . . . . . .

16

2.2.1. Los roles en metodolog´ıas de desarrollo de sistemas basados en agentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

2.2.2. Estructuras organizativas y su din´amica . . . . . . . . . . . . .

24

2.2.3. Sem´ antica en el concepto de rol . . . . . . . . . . . . . . . . . .

26

2.3. Modelos de confianza

. . . . . . . . . . . . . . . . . . . . . . . . . . .

27

2.3.1. Confianza y Reputaci´ on . . . . . . . . . . . . . . . . . . . . . .

30

2.3.2. Modelos de Confianza . . . . . . . . . . . . . . . . . . . . . . .

32

2.3.3. Revisi´ on de modelos de confianza . . . . . . . . . . . . . . . . .

37

2.3.4. Otro tipo de modelos

. . . . . . . . . . . . . . . . . . . . . . .

46

. . . . . . . . . . . . . . . . . . . . . . . . . . .

47

2.4.1. Teor´ıa de Coleman sobre la relaci´on de causalidad micro-macro

47

2.4.2. Teor´ıa de Birk sobre colaboraci´on . . . . . . . . . . . . . . . . .

49

2.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

2.4. Aspectos Sociol´ ogicos

3. Modelo

de

confianza

para

agentes

basado

en

estructuras

organizativas

53

3.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

xv

Ram´ on Hermoso Traba

3.1.1. SMAs orientados a tareas . . . . . . . . . . . . . . . . . . . . .

54

3.1.2. Agentes orientados a tareas . . . . . . . . . . . . . . . . . . . .

55

3.1.3. Descripci´ on del problema . . . . . . . . . . . . . . . . . . . . .

56

3.2. Modelo de Confianza basado en Estructuras Organizativas . . . . . . .

57

3.2.1. Niveles de Confianza . . . . . . . . . . . . . . . . . . . . . . . .

58

3.2.2. Modelo b´ asico de confianza para T-MAS . . . . . . . . . . . . .

58

3.2.3. Inferencia de la confianza a partir de similitudes en estructuras organizativas . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

3.2.4. Proceso de toma de decisiones del agente . . . . . . . . . . . .

67

3.3. Evaluaci´ on

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

3.3.1. Trust Organisational Agent System Testbed (TOAST) . . . . .

70

3.3.2. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

3.4. Discusi´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

94

4. Mecanismo de especializaci´ on de roles

101

4.1. Introducci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.1.1. Descripci´ on del Problema . . . . . . . . . . . . . . . . . . . . . 105 4.1.2. Caracter´ısticas generales del mecanismo . . . . . . . . . . . . . 108 4.1.3. Informaci´ on organizativa. Taxonom´ıas de roles. . . . . . . . . . 109 4.2. Mecanismo

adaptativo

para

la

evoluci´on

de

taxonom´ıas

de

especializaci´ on de roles . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.2.1. Creaci´ on de taxonom´ıas de roles . . . . . . . . . . . . . . . . . 113 4.2.2. Evoluci´ on y adaptaci´ on de taxonom´ıas de roles . . . . . . . . . 124 4.2.3. Uso de la taxonom´ıa resultado del mecanismo . . . . . . . . . . 130 4.2.4. Din´ amica del mecanismo . . . . . . . . . . . . . . . . . . . . . . 134 4.3. Evaluaci´ on

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

4.3.1. Caso de estudio: News Feeding . . . . . . . . . . . . . . . . . . 139 4.3.2. Configuraci´ on experimental . . . . . . . . . . . . . . . . . . . . 145 4.3.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 4.3.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.4. Discusi´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 5. Conclusiones

174

6. Conclusions

179 xvi

´ Indice general

A. Otros resultados

184

B. Publicaciones

197

C. Glosario de par´ ametros

201

Bibliograf´ıa

215

xvii

´Indice de figuras 2.1. Mecanismos de coordinaci´ on seg´ un Centeno et al. . . . . . . . . . . . .

16

2.2. M´ odulo de toma de decisiones t´ıpico de un agente . . . . . . . . . . . .

29

2.3. Diagrama de capas de confianza . . . . . . . . . . . . . . . . . . . . . .

33

2.4. Ejemplo de intercambio de reputaci´ on entre tres agentes sobre un tercero 35 2.5. Las tres relaciones entre confianza, miedo y autoridad (18) . . . . . . .

38

2.6. Ejemplo de distribuciones Beta . . . . . . . . . . . . . . . . . . . . . .

43

2.7. Diagrama causal de Coleman de la relaci´on de niveles micro y macro en un sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

2.8. Ciclo de Confianza de Birk . . . . . . . . . . . . . . . . . . . . . . . .

50

3.1. Ejemplo de funci´ on de exploraci´ on con ω = 0.10 . . . . . . . . . . . . .

69

3.2. Diagrama de los elementos del SMA . . . . . . . . . . . . . . . . . . .

72

3.3. Fragmento de la taxonom´ıa de roles utilizada. . . . . . . . . . . . . . .

78

3.4. Fragmento de la taxonom´ıa de tareas utilizada. . . . . . . . . . . . . .

79

3.5. Resultados de experimentos con similitud correlada y usando la f´ormula de Li et al. para el c´ alculo de similitud de conceptos . . . . . . . . . .

89

3.6. Porcentaje de mejora con similitud correlada y usando la f´ormula de Li et al. para el c´ alculo de similitud de conceptos . . . . . . . . . . . .

90

3.7. Utilidad individual obtenida por un agente usando similitud correlada y la f´ ormula de Li et al. para el c´ alculo de similitud de conceptos . . .

91

3.8. Resultados de experimentos con disimilitud (β = 0.8, γ = 0.2 y ϑ = 0.15) 93 4.1. Ciclo de evoluci´ on de los roles y del uso de los modelos de confianza de la poblaci´ on. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.2. Esquema de la relaci´ on entre los niveles micro y macro con la confianza como catalizador de interacciones. . . . . . . . . . . . . . . . . . . . . 113 xix

Ram´ on Hermoso Traba

4.3. Proceso de evoluci´ on de la taxonom´ıa de roles. . . . . . . . . . . . . . 116 4.4. Ejemplo de agrupamiento de agentes . . . . . . . . . . . . . . . . . . . 121 4.5. Ejemplo de creaci´ on de roles con k = 3 . . . . . . . . . . . . . . . . . . 124 4.6. Ejemplo de una modificaci´ on de un rol . . . . . . . . . . . . . . . . . . 128 4.7. Ejemplo de una eliminaci´ on de un rol

. . . . . . . . . . . . . . . . . . 129

4.8. Relaci´ on de entradas y salidas del mecanismo . . . . . . . . . . . . . . 132 4.9. Nubes de noticias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 4.10. Ejemplo de espacio de noticias antes de usar el mecanismo de especializaci´ on de roles . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 4.11. Ejemplo de espacio de noticias tras usar el mecanismo de especializaci´ on de roles . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 4.12. Utilidad media para diferentes per´ıodos de ejecuci´on del mecanismo con Θ = 0.7 y Υ = 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4.13. Utilidad con heterogeneidad en la poblaci´on de agentes usuario . . . . 158 4.14. Utilidad media para E/S de agentes usuarios del 5 % . . . . . . . . . . 159 4.15. Utilidad media para E/S de usuarios del 10 % . . . . . . . . . . . . . . 160 4.16. Utilidad media para E/S de usuarios del 30 % . . . . . . . . . . . . . . 161 4.17. Adaptaci´ on del modelo de Coleman a SMAs . . . . . . . . . . . . . . . 168 5.1. Mecanismo de selecci´ on de estrategias . . . . . . . . . . . . . . . . . . 176 6.1. Strategy selection mechanism . . . . . . . . . . . . . . . . . . . . . . . 181 A.1. Resultados de experimentos con similitud correlada y usando la f´ormula de Li et al. (comparaci´ on de par´ ametros del modelo) . . . . . . . . . . 185 A.2. Resultados de experimentos con similitud correlada y la f´ormula de Leacock & Chodorow para el c´ alculo de similitud de conceptos . . . . 187 A.3. Utilidad individual obtenida por un agente usando similitud correlada y la f´ ormula de Leacock & Chodorow para el c´alculo de similitud de conceptos (β = 0.8, γ = 0.2 y ϑ = 0.15) . . . . . . . . . . . . . . . . . 188 A.4. Porcentaje de mejora con similitud correlada y usando la f´ormula de Li et al. para el c´ alculo de similitud de conceptos . . . . . . . . . . . . 189 A.5. Resultados de experimentos con similitud correlada y usando la f´ormula de Leacock & Chodorow (comparaci´ on de par´ametros del modelo) . . 190 A.6. Comparaci´ on entre el uso del modelo de Li et al. y el modelo de Leacock & Chodorow (β = 0.5, γ = 0.5 y ϑ = 0.15) . . . . . . . . . . . . . . . . 191 xx

´ Indice de figuras

A.7. Convergencia al ´ optimo de los modelos b´ asico e inferencia . . . . . . . 192 A.8. Utilidad media para diferentes per´ıodos de ejecuci´on del mecanismo con Θ = 0.85 y Υ = 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 A.9. Utilidad media para diferentes per´ıodos de ejecuci´on del mecanismo con Θ = 0.85 y Υ = 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 A.10.Utilidad media para E/S (usuarios y proveedores) del 5 % . . . . . . . 195 A.11.Utilidad media para E/S (usuarios y proveedores) del 10 % . . . . . . 196 A.12.Utilidad media para E/S (usuarios y proveedores) del 30 % . . . . . . 196

xxi

´Indice de tablas 2.1. Relaci´ on entre la estimaci´ on de la confianza usando informaci´on local y reputaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.1. Ejemplo de una tabla de interacciones local (LITA ) . . . . . . . . . . .

60

3.2. Tabla de interacciones locales del agente (LITA ) para el Ejemplo 1 . .

64

3.3. Tabla de interacciones locales del agente (LITA ) para el Ejemplo 2 . .

65

3.4. Tabla resumen de los experimentos realizados . . . . . . . . . . . . . .

85

3.5. Tabla de significaci´ on de los resultados (Li et al.) . . . . . . . . . . . .

92

4.1. Resumen de casos posibles de resultado aplicando el mecanismo sucesivamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.2. Configuraci´ on de experimentos (influencia de Θ y Υ) . . . . . . . . . . 151 4.3. Tabla de significaci´ on de los resultados correspondientes a la variaci´on de Θ y Υ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 4.4. Configuraci´ on de experimentos (Heterogeneidad – tipo a vs. tipo b)

156

4.5. Tabla de significaci´ on de los resultados correspondientes a la variaci´on de la heterogeneidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4.6. Configuraci´ on de experimentos (Dinamismo – Ratio E/S) . . . . . . . 159 4.7. Tabla de significaci´ on de los resultados correspondientes a la variaci´on de la entrada/salida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

xxiii

Cap´ıtulo 1

Introducci´ on The beginning is the most important part of the work. The Republic Plato, s. IV aC.

Los conceptos de agente y Sistema Multi-Agente (SMA), y su difusi´on y auge como campo de investigaci´ on en la Inteligencia Artificial se han puesto de manifiesto, principalmente, desde mediados de la d´ecada de los noventa. Tanto es as´ı, que su espectro de teor´ıa y aplicaci´ on es muy amplio, abarcando desde la teor´ıa de juegos (99) hasta las redes de sensores (86). Asimismo, la dimensi´on ortogonal de los sistemas multi-agente con otras disciplinas est´ a muy extendida, puesto que existen numerosas ramas del conocimiento que hacen uso de estos conceptos, tales como la sociolog´ıa, la psicolog´ıa, dado que los agentes tienden en muchos casos a mostrar capacidades antropomorfas, la econom´ıa, etc. Generalmente, el concepto de agente conlleva el calificativo de inteligente, lo que permite estudiar aspectos antropom´orficos de estos entes. Algunos de estos aspectos son la autonom´ıa, la sociabilidad, la reactividad y la proactividad (132), que permiten que el estudio y la aplicaci´on de sistemas formados por este tipo de entidades sea muy variado. Son precisamente la riqueza y el potencial de estos factores los que hacen a los agentes y sistemas multi-agente un campo de investigaci´ on con una gran popularidad en los u ´ltimos a˜ nos como disciplina de la inteligencia artificial. Sin embargo, a´ un hoy en d´ıa la comunidad investigadora no ha llegado a un acuerdo sobre la definici´ on de agente inteligente, hecho que hace que encontremos en la literatura una gran cantidad de definiciones diversas, bastante 1

Ram´ on Hermoso Traba

parecidas en cuanto a significado, pero sin llegar a convertirse en una base de com´ un aceptaci´ on. La siguiente definici´ on de agente fue propuesta por Wooldridge en (131): An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives. Esta definici´ on destaca el aspecto de situaci´on del agente dentro de un entorno dado, as´ı como la autonom´ıa que presenta para tomar sus propias decisiones sobre c´ omo actuar de acuerdo a las percepciones captadas a su alrededor. La siguiente definici´ on es la ofrecida por Russell y Norvig en (109) para agentes racionales: En cada posible secuencia de percepciones, un agente racional deber´ a emprender aquella acci´ on que supuestamente maximice su medida de rendimiento, bas´ andose en las evidencias aportadas por la secuencia de percepciones y en el conocimiento que el agente mantiene almacenado. Si bien estas definiciones son bastante generales, permiten hacerse una idea del potencial que tienen este tipo de entidades para atacar la resoluci´on de problemas complejos. Los SMAs son sistemas en los que participan varios agentes (ya sean software o humanos (121)) destinados a la resoluci´on de problemas complejos. Teniendo en cuenta la propiedad de autonom´ıa que posee cada agente, es f´acil de imaginar lo rica que puede ser la investigaci´ on en esta disciplina. Desde un punto de vista social, podemos encontrar problemas en la resoluci´on de conflictos, en la organizaci´ on de los agentes, en la toma individual y conjunta de decisiones, en la negociaci´ on de soluciones, en la comunicaci´ on de los agentes, etc. Los SMAs permiten crear sistemas distribuidos donde, al menos, algunos de los componentes disponen de autonom´ıa y racionalidad para actuar en el entorno para el que est´ an dise˜ nados. Precisamente estas propiedades, junto con la de sociabilidad, plantean una gran cantidad de desaf´ıos a la hora de dise˜ nar y desarrollar este tipo de sistemas. La gran variedad de interacciones que se producen en estos sistemas, la escalabilidad de los mismos, la coordinaci´ on necesaria entre los distintos agentes participantes, as´ı como las intenciones y capacidades de los agentes en cuanto a objetivos se refiere, hacen que la investigaci´ on en el campo de los SMAs sea muy heterog´enea, as´ı como muy extensa. Dentro de todos estos desaf´ıos, encontramos la necesidad de estructurar los agentes dando forma al contexto social existente, catalizando las interacciones de los individuos, emergiendo de este modo el concepto 2

Cap´ıtulo 1. Introducci´ on

de organizaci´ on. Organizaci´ on es un concepto tomado de otras ciencias, como la sociolog´ıa o la pol´ıtica, clave para la definici´on de sociedades humanas. Las abstracciones organizativas que se usan para construir SMAs, en gran medida tomadas de analog´ıas que se encuentran en la sociedad humana permiten, por una parte, construir de manera m´ as intuitiva y con abstracciones de muy alto nivel – como son grupos, roles, normas, etc. – sistemas que de otra forma implicar´ıan un an´alisis y dise˜ no m´ as complejo; y por otra parte, proporcionan en s´ı mismas unas facilidades para los propios agentes que se desenvuelven en ella en cuanto a la relaci´on con su entorno y su coordinaci´ on.

1.1.

´ Ambito de la investigaci´ on

Los sistemas abiertos hacen hoy en d´ıa que las interacciones entre distintas entidades computacionales est´en rodeadas de cierta incertidumbre, debida principalmente a la falta de conocimiento del entorno en el que habitan, as´ı como a la heterogeneidad en el dise˜ no de las mismas. En nuestro caso las entidades computacionales que trataremos ser´ an agentes software, y las interacciones entre los mismos ser´ an tareas a realizar, que podr´ an ser delegadas entre los primeros. De esta forma, cuando un agente precisa de otro para realizar una tarea en concreto, debe usar alg´ un tipo de mecanismo o mecanismos que le ”aseguren” en cierta medida que su decisi´ on es la m´ as correcta posible. Es decir, la pregunta se reduce a: De entre los agentes potenciales que pueden llevar a cabo la tarea que le interesa al agente, ¿cu´ al de ellos es el que el propio agente estima como el mejor para realizarla? La selecci´ on de compa˜ nero de interacci´ on ha sido un tema muy tratado desde el punto de vista computacional, en especial en el campo de los sistemas multiagente, donde la autonom´ıa de los propios agentes convierte dicha selecci´on en un problema complejo. Desde este enfoque surgen diversos tipos de mecanismos para tratar la incertidumbre en la toma de decisiones. Uno de estos es la incorporaci´on de modelos de confianza, que tienen como objetivo ayudar al agente a mantener una serie de expectativas sobre el resto de individuos incluyendo, cuando es necesario, esta informaci´ on al modelo de toma de decisiones. En sistemas multi-agente abiertos, la creaci´ on de modelos de confianza se convierte en un asunto de mayor importancia, puesto que tanto la potencial heterogeneidad de los agentes participantes, as´ı como 3

Ram´ on Hermoso Traba

un posible entorno no cooperativo pueden provocar que el comportamiento de los distintos agentes sea muy variable. Los SMAs pueden estar dotados de ciertas estructuras organizativas para mejorar la coordinaci´ on entre los distintos agentes que participan en el sistema. Estas estructuras, tales como roles, interacciones, tareas, protocolos de actuaci´on, etc´etera, normalmente se usan para restringir de alguna forma las posibles acciones que los agentes pueden llevar a cabo en un momento concreto en la ejecuci´on del SMA. Nuestro trabajo intenta ir m´ as all´ a, considerando algunas de estas estructuras – trabajaremos con roles y tareas – como fuentes de informaci´on que se incorporen al razonamiento del agente (m´ as concretamente al modelo de confianza) para seleccionar compa˜ neros de interacci´ on lo m´ as apropiados posibles. Por otro lado, y dada la posibilidad de que los SMAs sean abiertos – aspecto cada vez m´ as habitual hoy en d´ıa –, es importante recalcar el dinamismo que ´estos presentan. Por ello, tambi´en estamos interesados en estudiar, por un lado, c´omo los cambios tanto en la poblaci´ on como en el comportamiento de los individuos afectan al sistema y, por otro, c´ omo dichos cambios deben provocar una adaptaci´on de las estructuras organizativas para, a su vez, seguir permitiendo a los agentes realizar selecciones acertadas usando sus propios modelos de confianza. De hecho, veremos c´ omo el concepto de confianza tendr´ a una doble funci´on. Por un lado, la de estimador de la bondad de otros individuos para diversas situaciones (a partir del modelo de confianza del agente) y, por otro, la de par´ ametro que cataliza los cambios en las estructuras organizativas a lo largo del tiempo.

1.2.

Objetivos

El dise˜ no de mecanismos para la coordinaci´on de sistemas multi-agente ha sido estudiado ampliamente a lo largo de los u ´ltimos a˜ nos. El car´acter prescriptivo de la mayor´ıa de estos mecanismos para SMAs cerrados dejan de tener validez cuando hablamos de SMAs abiertos, donde la heterogeneidad de los agentes y los cambios en la poblaci´ on del sistema hacen que estos deban adaptarse para seguir facilitando la coordinaci´ on. En nuestro caso, el inter´es se centra en el estudio de estos mecanismos en entornos con alg´ un tipo de abstracci´ on organizativa, como son los roles y las tareas. Algunos trabajos como (21) intentan definir los distintos tipos de mecanismos de coordinaci´ on en entornos organizativos que se pueden desarrollar. En cambio, uno de 4

Cap´ıtulo 1. Introducci´ on

los principales problemas encontrados es la falta de continuaci´on en cuanto al dise˜ no e implementaci´ on de mecanismos concretos. Dentro de la comunidad de computaci´ on basada en agentes los modelos de confianza se consideran como factor clave en los procesos de toma de decisiones. C´omo un individuo eval´ ua la confianza sobre otro agente del sistema se podr´ıa considerar como una estrategia a nivel micro, pues son los propios individuos quienes la aplican, para estimar las expectativas que el resto de agentes les genera para una hipot´etica interacci´ on con ellos. Estas expectativas, como ya veremos, podr´an estar basadas en diferentes tipos y fuentes de informaci´ on. Desde nuestro punto de vista, el concepto de confianza puede servir como nexo de uni´ on entre los niveles micro y macro, puesto que, al igual que ocurre desde una visi´ on sociol´ogica, la confianza individual puede influir de alguna manera en la confianza colectiva de un grupo. As´ı pues, la confianza calculada por un agente afectar´ a, no s´ olo al propio agente, sino a toda la sociedad. De esta forma, podemos especificar el primer objetivo de este trabajo como sigue: Dise˜ nar y validar un modelo de confianza para agentes software que aproveche el uso de estructuras organizativas como fuentes de informaci´on, mejorando as´ı la eficiencia de los agentes a la hora de elegir compa˜ neros de interacci´ on. Sin embargo, cuando tratamos con entornos abiertos donde, tanto la poblaci´on como el comportamiento de la misma pueden cambiar a lo largo del tiempo, las estructuras organizativas deben evolucionar a lo largo del tiempo para permitir una coordinaci´ on m´ as aproximada. Proponemos, pues el siguiente objetivo: Dise˜ nar e implementar un mecanismo evolutivo y adaptativo que, sensible a los participantes en un sistema multi-agente, sea capaz de crear nuevos roles y distribuir a los agentes en ellos, bas´andose en las relaciones sociales que mantienen los agentes – en t´erminos de confianza – y en la especializaci´ on que ´estos tienen para las distintas tareas posibles que pueden llevar a cabo. Este mecanismo basar´a su din´amica en las expectativas que los agentes obtienen para cada tipo de acci´on a partir de sus modelos de confianza individuales. En l´ınea con las propuestas anteriores, por u ´ltimo, tendremos el siguiente objetivo: Realizar una evaluaci´ on exhaustiva de las propuestas anteriores. 5

Ram´ on Hermoso Traba

1.3.

Estructura de la memoria

La estructura propuesta para este trabajo es la siguiente: En el Cap´ıtulo 2 se muestra el estado del arte sobre los trabajos que han motivado la tesis que aqu´ı se presenta. En particular, nos centraremos en modelos organizativos que se han realizado durante los u ´ltimos a˜ nos para intentar estructurar sistemas multi-agente, mostrando especial atenci´on al papel que juega el concepto de rol en los mismos. Tambi´en haremos un repaso a los modelos de confianza, vistos como gu´ıas que usan los agentes para la toma de decisiones en cuanto a la selecci´ on efectiva de compa˜ neros de interacci´on. Asimismo, veremos algunos aspectos te´oricos tomados de la sociolog´ıa que motivan el di´ alogo micro-macro que se ve en los cap´ıtulos siguientes. El Cap´ıtulo 3 describe el dise˜ no de un modelo de confianza. Dicho modelo estar´ a basado en la inferencia a partir de la informaci´on local que ha experimentado el agente en el pasado m´as la influencia de las estructuras organizativas existentes en un sistema multi-agente orientado a tareas. Este modelo ser´ a evaluado utilizando simulaciones llevadas a cabo con la herramienta TOAST (Trust Organisational Agent System Testbed). El Cap´ıtulo 4 explica la creaci´ on de un mecanismo para la evoluci´on y adaptaci´on de una taxonom´ıa de roles a partir de la red de confianza que desarrollan los agentes dentro de un sistema multi-agente orientado a tareas. Este mecanismo, dotar´ a de informaci´ on sobre los roles del sistema y su comportamiento esperado al agente, sirvi´endole para seleccionar otros individuos a los que delegar tareas de una forma m´ as efectiva. Su evaluaci´on ser´a llevada a cabo utilizando la herramienta usada en el Cap´ıtulo 3. Por u ´ltimo, el Cap´ıtulo 5 mostrar´ a las aportaciones de este trabajo, e incidir´a en las l´ıneas de investigaci´ on futuras que se pretenden seguir. Adem´ as, se ha incorporado a esta memoria dos anexos. El Anexo A muestra m´ as resultados obtenidos en los experimentos de los Cap´ıtulos 3 y 4, mientras que el Anexo B detalla un conjunto de las publicaciones m´as relevantes que se han desarrollado en relaci´ on a este trabajo.

6

Cap´ıtulo 2

Estado del arte You know more than you think you know, just as you know less than you want to know. Oscar Wilde, s. XIX

En este cap´ıtulo se presenta un repaso de los principales trabajos que ofrece la literatura relacionados con esta tesis y que han propiciado su realizaci´on. En primer lugar, estudiamos aspectos relacionados con la organizaci´on de sistemas multi-agente, tales como modelos organizativos o mecanismos organizativos, para despu´es pasar a profundizar en trabajos sobre el concepto de confianza y modelos presentados hasta la fecha. Por u ´ltimo, haremos un breve repaso por algunos aspectos sociol´ogicos que sirven para fundamentar los siguientes cap´ıtulos.

2.1.

El concepto de organizaci´ on en SMAs

Seg´ un la definici´ on que proporciona la RAE1 en una de sus acepciones, una organizaci´ on es: ”Acci´ on y efecto de establecer o reformar algo para lograr un fin, coordinando las personas y los medios adecuados”. Si extrapolamos dicha definici´ on al contexto de SMAs, seg´ un Ferber (47), una organizaci´ on es: 1 Real

Academia Espa˜ nola de la Lengua

7

Ram´ on Hermoso Traba

”[...] a collection of roles, that stand in certain relationships to one another, and that take part in systematic institutionalised patterns of interactions with other roles.” Con esta definici´ on, Ferber propone que la organizaci´on es la coordinaci´on de las interacciones por medio del uso de etiquetas o roles, que marcan la funcionalidad que proporcionan los agentes que los desempe˜ nan en cada una de ellas. En la siguiente secci´ on hacemos un repaso por los principales modelos organizativos sobre SMAs que existen en la literatura.

2.1.1.

Modelos organizativos en SMAs

Mientras que la mayor´ıa de los seres humanos tenemos una idea intuitiva de lo que es una organizaci´ on, cuando se nos pregunta que lo definamos expl´ıcitamente, nos encontramos con que existe un gran n´ umero de respuestas ”correctas” (34). Algunos trabajos relevantes en la literatura sobre organizaciones las han definido incluyendo conceptos tales como agente, que a su vez juega roles, que est´an especificados mediante una estructura que define las relaciones entre los mismos (114). Existen dos perspectivas desde las cuales se puede considerar que las abstracciones organizativas pueden ser interesantes para construir sistemas multi-agente. En primer lugar, hay una gran cantidad de aplicaciones software que modelan organizaciones, como por ejemplo comunidades virtuales, aplicaciones corporativas de empresas, etc. Es decir, a partir de modelos organizativos se crean aplicaciones que tienden a reflejar la realidad de una organizaci´ on humana. En cambio, el uso de estos conceptos organizativos puede ir m´ as all´ a, en el sentido de que pueden convertirse en piezas de primer nivel a la hora de construir cualquier tipo de software social – como son los sistemas multi-agente. Es decir, aunque no se est´e tratando de modelar una organizaci´ on del mundo real, conceptos como norma, rol o grupo se presentan como interesantes para facilitar a los dise˜ nadores la creaci´on de nuevas aplicaciones. Centr´ andonos en esta segunda opci´ on, desde un punto de vista ingenieril, los conceptos organizativos ayudan en el proceso de construcci´on de los sistemas multiagente. Por ello, en los u ´ltimos a˜ nos se han desarrollado un gran n´ umero de modelos organizativos, que ayudan al dise˜ nador de software basado en agentes a construir SMAs de manera m´ as sencilla. La re-utilizaci´ on de conceptos, as´ı como la propuesta de nuevas herramientas de ingenier´ıa del software capaces de modelar aplicaciones a partir de los mismos ha hecho que se adopten como piezas fundamentales para dise˜ nar 8

Cap´ıtulo 2. Estado del arte

los comportamientos sociales que pueden existir en un SMA. Los modelos organizativos han sido utilizados recientemente en el campo de la teor´ıa de agentes con el fin de facilitar la coordinaci´on en sistemas abiertos y para asegurar el orden social en SMAs (38). El concepto de organizaci´on est´a altamente vinculado con la noci´ on de sistema abierto, cuyas caracter´ısticas principales son el dinamismo en la poblaci´ on de la organizaci´ on, es decir, los agentes pueden entrar y salir de la misma en tiempo de ejecuci´ on, y la heterogeneidad en el dise˜ no de los distintos agentes participantes, incluyendo la integraci´on de las perspectivas organizativa e individual y la adaptaci´ on din´amica de modelos a cambios en la organizaci´ on y en el entorno (37). Durante los u ´ltimos a˜ nos se han desarrollado un alto n´ umero de modelos organizativos, en su mayor´ıa como soporte en metodolog´ıas de construcci´on de SMAs. Uno de los primeros modelos desarrollados fue el creado por Ferber y Gutknecht, llamado AALAADIN (46), extendido m´ as adelante con el modelo AGR (47). Este modelo se basaba en los conceptos de agente, grupo y rol. La mayor parte de los modelos organizativos desarrollados con posterioridad a ´este toman tambi´en estos conceptos. El modelo MOISE+ (70) a˜ nade a la noci´on de organizaci´on tres aspectos tales como: el estructural, el funcional y el de´ ontico. El modelo Gaia (136), que sirve como modelo para la metodolog´ıa del mismo nombre para la construcci´on de SMAs, considera la organizaci´ on en t´erminos de agentes, grupos y roles que, a su vez, tienen responsabilidades, permisos, actividades y protocolos. Otro modelo relevante es OperA (36), basado en la herramienta ISLANDER (41) para creaci´ on de instituciones electr´ onicas. Este modelo da soporte a la heterogeneidad de los agentes cuando entran en la organizaci´ on. La heterogeneidad viene dada por las posibles diferencias en cuanto a sus objetivos, creencias y capacidades, sin necesidad de asumir que los agentes participantes son necesariamente cooperativos. El siguiente es un breve repaso de algunos de los modelos organizativos m´as importantes desarrollados en la comunidad de SMAs en los u ´ltimos a˜ nos.

Instituciones Electr´ onicas Las instituciones electr´ onicas (107)(40) son un modelo organizativo representativo y caracter´ıstico dentro de la comunidad de SMAs. Se trata de un modelo que proporciona una especificaci´ on formal para dise˜ nar e implementar – mediante las herramientas desarrolladas para ello, tales como ISLANDER y AMELI 9

Ram´ on Hermoso Traba

(41)(42) – organizaciones electr´ onicas institucionalizadas, m´as com´ unmente llamadas instituciones electr´ onicas. Las instituciones electr´onicas se fundamentan en los siguientes conceptos: Agentes y roles: los agentes son los actores principales de una instituci´on electr´ onica, si bien es cierto, que estos agentes no tienen por qu´e ser u ´nicamente artificiales, sino que podr´ıan ser tambi´en seres humanos. Los agentes interaccionar´ an por medio del intercambio de ilocuciones o actos de habla (del t´ermino angl´ ofono illocution), es decir, por medio de actos ling¨ u´ısticos con alg´ un tipo de intenci´ on predefinida. Marco de di´ alogo: los actos de habla que hemos citado anteriormente deben estar soportados por un lenguaje de comunicaci´on y ontolog´ıas comunes. Escenas: las interacciones entre los agentes est´an articuladas y estructuradas a trav´es de grupos de encuentro – group meetings –, llamados escenas, que dipondr´ an de unos protocolos de comunicaci´on bien definidos. As´ı pues, se considera un protocolo de una escena como una especificaci´on de los posibles di´ alogos que los agentes pueden llevar a cabo. Estructura performativa: las escenas pueden ser conectadas, formando as´ı una red de escenas que describe procesos de di´alogo entre agentes m´as complejos. Esta estructura performativa describe formalmente c´omo los agentes pueden moverse entre distintas escenas, por medio de pre-condiciones para unirse o abandonar cada una de ellas. Reglas normativas: estas reglas intentan mantener a los agentes que participan en la instituci´ on dentro de un comportamiento esperado, imponiendo obligaciones o prohibiciones acerca de determinadas acciones dentro de la instituci´ on. Para ello, usan agentes institucionales, llamados governors cuya funci´ on consistir´ a en regular de una forma directa el comportamiento de aquellos agentes no-institucionales que se unen a la instituci´on. MOISE+ MOISE+ (Model of Organisations for multI-agent SystEms) (70) es un modelo organizativo que, de manera expl´ıcita, distingue entre tres aspectos del modelado de una organizaci´ on de agentes: 10

Cap´ıtulo 2. Estado del arte

El aspecto estructural : que define las relaciones de los agentes, en t´erminos de roles, grupos, y relaciones sociales; El aspecto funcional : que describe cu´ ales son los objetivos globales del SMA que modela la organizaci´ on, y c´ omo son los planes necesarios para que aqu´ellos sean alcanzados. Este aspecto tambi´en modela la distribuci´on de estos planes entre los agentes por medio de misiones; Por u ´ltimo, el aspecto de´ ontico describe los permisos, obligaciones y prohibiciones de cada uno de los roles para ejecutar las distintas misiones asignadas dentro de un contexto espec´ıfico. AGR El modelo organizativo AGR (Agent/Group/Role) (47) es una extensi´on del modelo AALAADIN (46). AGR propone que una organizaci´on debe ser especificada imponiendo una estructura de grupos y roles sobre los agentes. Como su nombre indica, este modelo organizativo se basa en tres conceptos fundamentales: agente, grupo y rol. Un agente se define como una entidad activa, capaz de desempe˜ nar diversos roles en distintos grupos. Un grupo se define como un conjunto de agentes que comparten una serie de caracter´ısticas comunes. Por u ´ltimo, un rol es una representaci´ on abstracta de una posici´ on funcional de un agente en un grupo. GAIA II Este modelo, propuesto en (136), especifica una organizaci´on como una colecci´on de roles que, a su vez, son definidos en t´erminos de: responsabilidades, que describen su funcionalidad; permisos, es decir, los derechos y obligaciones que permiten al rol llevar a cabo sus responsabilidades, as´ı como el acceso al entorno; actividades, acciones concretas que un rol puede llevar a cabo; y protocolos, que definen las reglas de interacci´ on entre los roles. Adem´ as, proponen que un sistema puede dividirse en distintas sub-organizaciones, cada una de las cuales puede estar centrada en perseguir un objetivo de la organizaci´ on. As´ı pues, los agentes podr´ıan formar parte de varias sub-organizaciones, jugando uno o m´ as roles en cada una de ellas. Introducen, asimismo, el concepto de recurso en el entorno, que instrumentan algunas de las interacciones de los agentes en el sistema. 11

Ram´ on Hermoso Traba

Por u ´ltimo el modelo GAIA define las llamadas reglas organizativas, divididas a su vez en reglas de safety, invariantes y que necesariamente debe respetar la organizaci´on, y reglas de liveness, que determinan la din´ amica de la organizaci´on, es decir, cu´ando y c´ omo los agentes entran en la organizaci´ on y c´omo ´estos pueden desempe˜ nar un rol en concreto. OperA OperA (36) es un modelo para dise˜ nar organizaciones basadas en agentes que permite la especificaci´ on de pol´ıticas organizativas (organisational policies), tales como objetivos y normas. Un factor importante es que asume que la organizaci´on es un sistema abierto, por lo que no incluye la especificaci´on real de los agentes participantes en la misma, sino que considera a ´estos como ”cajas negras”. Las organizaciones son descritas en t´erminos de roles, y las dependencias entre ´estos, grupos, interacciones y normas globales. El modelo que plantea OperA se divide en tres sub-modelos interrelacionados: El modelo organizativo: describe el comportamiento deseado de la organizaci´on, determinado por los actores del sistema, en t´erminos de objetivos, normas, roles, interacciones y ontolog´ıas. Asimismo, dentro de este sub-modelo se contemplan tres tipos de mecanismos de coordinaci´ on: i) de mercado; ii) de jerarqu´ıa; y iii) y de red; El modelo social : relaciona los roles de la organizaci´on con agentes espec´ıficos, por medio de contratos sociales que describen los acuerdos y compromisos que los agentes adquieren al tomar los distintos roles, as´ı como las condiciones de participaci´ on como miembro de la organizaci´on; El modelo de interacci´ on: describe los acuerdos y compromisos para los roles que participan en una interacci´ on o, lo que es lo mismo, para los agentes que juegan dichos roles en esa interacci´ on. Para ello, se utilizan contratos que describen las condiciones y restricciones de cada interacci´on entre los agentes implicados. OperA fue extendido con el modelo OMNI (Organisational Model for Normative Institutions) (128), que integra los conceptos normativos de HarmonIA (127) con los conceptos organizativos de OperA. OMNI constituye as´ı un modelo integrado adecuado para modelar tanto SMAs abierto como cerrados, ya que permite especificar los objetivos globales de manera independiente a los agentes que forman la poblaci´on 12

Cap´ıtulo 2. Estado del arte

del sistema. Tambi´en permite modelar las normas que regulan la interacci´on entre los agentes, as´ı como el significado contextual de las mismas. TROPOS TROPOS (15) es una metodolog´ıa de desarrollo de sistemas basados en agentes ´ software. Esta adopta la met´ afora organizativa poniendo un especial empe˜ no en la especificaci´ on de la estructura organizativa. De esta forma, propone la utilizaci´on de las organizaciones humanas para distinguir entre distintos patrones de sociedades basadas en agentes, en base a las teor´ıas de dise˜ no de organizaciones. El metamodelo que subyace a la metodolog´ıa de desarrollo contiene tambi´en ciertos conceptos organizativos, tales como agente, rol, dependencias entre ´estos, objetivos, planes, recursos, etc. PASSI PASSI (a Process for Agent Societies Specification and Implementation) (29) es una metodolog´ıa para dise˜ nar y desarrollar sociedades de agentes. Si nos centramos en el meta-modelo que soporta la metodolog´ıa PASSI vemos que est´a dividido en tres dominios bien diferenciados: i) dominio del problema (problem domain), que especifica los detalles concretos del problema, usando para ello los requisitos, escenarios, ontolog´ıas y recursos del sistema; ii) dominio de agentes (agency domain), que describe los agentes participantes, los roles que juegan, los protocolos de comunicaci´on, y su funcionalidad, es decir, los servicios que ofrecen; iii) dominio de soluci´ on (solution domain), que describe la implementaci´on final del sistema, incluyendo las descripciones de los servicios. SODA SODA (Societies in Open and Distributed Agent spaces) (94) es una metodolog´ıa que permite dise˜ nar sociedades abiertas por medio del uso de mecanismos de coordinaci´ on y reglas sociales adecuados. Los agentes se definen en t´erminos de sus comportamientos observables. Es compatible con el meta-modelo A&A (Agents & Artifacts) propuesto en (97), donde el concepto de ”artefacto” se usa para representar las distintas entidades que pueblan el sistema donde los agentes act´ uan. Algunos de los conceptos organizativos del meta-modelo que utiliza son los siguientes: rol, sociedad, agente, interacci´ on, tarea, etc. 13

Ram´ on Hermoso Traba

OMACS En (34) los autores proponen un modelo que permite que un sistema dise˜ ne su propia organizaci´ on en tiempo de ejecuci´ on. M´as concretamente, proponen dotar al sistema con un conocimiento organizativo suficiente y permitirle que se auto-organice bas´ andose en los objetivos actuales y las capacidades de la poblaci´on actual. Por un lado, el dise˜ nador del sistema proporciona cierta informaci´on a priori de car´acter organizativo, mientras que el sistema usar´ a dicha informaci´on para re-organizarse dependiendo del estado del sistema. El meta-modelo que presentan es OMACS (Organization Model for Adaptive Computational Systems). Este modelo define los conceptos de metas u objetivos (goals), roles y agentes. Estos conceptos son bastante usados, como hemos visto, en otros muchos modelos organizativos. Lo novedoso de ´este es que, adem´as, a˜ nade cuatro entidades adicionales: capacidades, asignaciones, pol´ıticas (policies) y un modelo del dominio. Las capacidades son la parte central del modelo, puesto que permiten determinar qu´e agentes juegan qu´e roles en el sistema, y c´omo de bien lo hacen. Las pol´ıticas (o policies) permiten a˜ nadir restricciones a estas asignaciones seg´ un el estado del sistema. El modelo del dominio define la ontolog´ıa para representar las pol´ıticas y permitir la comunicaci´ on entre los agentes de manera efectiva. Mecanismos organizativos en SMAs La mayor´ıa de las propuestas que hemos observado anteriormente consideran una organizaci´ on como una entidad que tiene un prop´osito global bien definido que, a su vez, puede o no estar alineado con los objetivos individuales de los agentes que participan en ella. As´ı pues, estos trabajos utilizan conceptos organizativos tales como roles, normas, grupos, interacciones, etc., para ejercer un control y modificar as´ı la din´ amica en el comportamiento de los agentes, de tal forma que los individuos no se desv´ıen del comportamiento deseado por el dise˜ nador del sistema. Por lo general, estos conceptos tienen un car´ acter prescriptivo, es decir, limitan de alguna forma la libertad de acci´ on de los agentes, haciendo de esta manera, que se comporten de una manera ”esperada”. Para Centeno et al. (21), ´esa es s´olo una posible visi´on de lo que es una organizaci´ on. En particular, el concepto de organizaci´on no tiene por qu´e estar restringido a la existencia de una entidad que tiene un objetivo o prop´osito, o conjunto de ellos, concreto. Las estructuras organizativas tambi´en pueden existir – o emerger – como un medio para ayudar a los agentes en sus procesos de toma de decisiones en un 14

Cap´ıtulo 2. Estado del arte

entorno donde existe cierta incertidumbre. Desde este punto de vista, los conceptos organizativos pueden proporcionar informaci´ on o modificar el entorno, de tal forma que ayuden a los agentes a estimar mejor las expectativas sobre las posibles acciones que pueden llevar a cabo. Para estos autores los mecanismos organizativos pueden influenciar el comportamiento de los agentes hacia una mayor efectividad con respecto a ciertos objetivos. Esta caracter´ıstica puede observarse desde dos puntos de vista: i) desde una perspectiva micro, o ii) desde una perspectiva macro. Desde la perspectiva micro (la de los agentes como individuos), un mecanismo organizativo puede ayudar a los agentes a tomar decisiones m´as acertadas con respecto a sus propias funciones de utilidad que modelan sus preferencias. Desde un punto de vista macro (el del propio SMA), un sistema puede tener una cierta funci´ on de utilidad que modele su relaci´ on de preferencias sobre los estados del entorno. Esta relaci´ on de preferencias podr´ıa estar previamente definida por alguna autoridad (como por ejemplo el dise˜ nador del SMA) o bien se podr´ıa corresponder con alguna funci´ on de bienestar social. Con respecto a una funci´on de utilidad global del sistema, un mecanismo organizativo puede mejorar la utilidad del sistema induciendo o imponiendo a los agentes un comportamiento determinado. En relaci´ on con estas dos perspectivas, se considera que existen dos formas de influenciar el comportamiento de los agentes: Desde una perspectiva micro, proporcionando a los agentes la informaci´on que les ayude en sus procesos de toma de decisiones. Para ello se definen los llamados mecanismos informativos (informative mechanisms); Desde una perspectiva macro, manipulando el entorno para regular las posibles acciones que los agentes pueden llevar a cabo, o bien, las consecuencias que ´estas pueden acarrear. Los mecanismos regulativos (regulative mechanisms) se ocupar´ an de ´esto. Todos los mecanismos informativos tienen en com´ un que su uso por parte de los agentes no es obligatorio. Los agentes son libres de usar estos mecanismos a su propia voluntad. De hecho, dada la asunci´ on de racionalidad que hacen los autores sobre los agentes, ´estos deben ser capaces de discernir si el uso de los mecanismos informativos influye positivamente en la utilidad obtenida o, si por el contrario, no afecta o afecta negativamente a la misma. 15

Ram´ on Hermoso Traba

ORGANISATIONAL MECHANISMS REGULATIVE MECHANISMS INFORMATIVE MECHANISMS

COERCIVE MECHANISMS

INCENTIVE MECHANISMS

Figura 2.1: Mecanismos de coordinaci´on seg´ un Centeno et al. Por otro lado, existen dos tipos de mecanismos regulativos, que se definen de la siguiente manera: Un mecanismo regulativo incentivo para un SMA es una funci´on que, dada una posible descripci´ on parcial del estado del entorno del SMA, produce cambios en la distribuci´ on de la probabilidad de transici´on de los agentes participantes. Un mecanismo regulativo coercitivo es una funci´on que, dada una posible descripci´ on parcial del estado del entorno produce cambios en la funci´on de capacidad de los agentes. Son los mecanismos coercitivos aquellos en los que se encuadran la mayor´ıa de los modelos organizativos que se han analizado anteriormente, ya que en ellos se prescriben los comportamientos de los agentes que participan en el sistema. La Figura 2.1 muestra un esquema de los distintos mecanismos organizativos.

2.2.

El concepto de rol en SMAs

El concepto de rol es com´ unmente aceptado entre los desarrolladores de software. Sin embargo, en la literatura podemos encontrar diversas definiciones sobre el mismo. En esta secci´ on nos proponemos repasar algunas de esas definiciones. En general, la noci´ on del concepto de rol se introduce para ”situar” a los agentes dentro de un contexto social (119). Los roles son una abstracci´on recurrente tanto en metodolog´ıas orientadas a objetos como en metodolog´ıas orientadas a la construcci´on de agentes. Algunos trabajos en este campo proponen los roles como una entidad 16

Cap´ıtulo 2. Estado del arte

de primera clase tanto en dise˜ no como en implementaci´on (78) (83). Incluso algunos autores, como Fowler discuten la implementaci´on de roles en programaci´on orientada a objetos (OOP) a trav´es del uso de diversos patrones de dise˜ no (50). Kendall muestra en (79) c´ omo la orientaci´ on a aspectos puede introducir un comportamiento en los objetos por medio de los roles, durante el proceso de desarrollo del software. Los roles son encapsulados en aspectos que, a su vez, son integrados en la estructura de la clase. Adem´ as de en OOP, los roles son pieza fundamental de bastantes trabajos sobre programaci´ on orientada a agentes (AOP) y, en particular, de aquellos que tratan sobre metodolog´ıas para la construcci´ on de organizaciones basadas en agentes (como ya hemos visto en la Secci´ on 2.1.1). Existen dos corrientes en lo que se refiere a la independencia de los roles como entidad propia. Por un lado trabajos como los de Kendall (78) o Kristensen (83) encapsulan los roles como entidades de implementaci´on cuya existencia est´ a necesariamente ligada a la de los objetos a los que est´an asociados. Desde un punto de vista ”agentivo” un rol, teniendo en cuenta esta visi´on, estar´ıa ligado necesariamente al agente que lo desempe˜ na, terminando su ciclo de vida cuando dicho agente deja de utilizarlo. Un enfoque alternativo es el adoptado por Baldoni et al. en (5) donde los roles se observan desde un punto de vista centrado en la organizaci´ on, como elemento de coordinaci´ on. De esta forma, la identidad de un rol, as´ı como su existencia, deriva directamente de la propia organizaci´ on, que define roles y asociaciones entre ellos. El rol pasa as´ı a ser una entidad persistente y estable dentro de la estructura organizativa, donde los distintos actores del sistema podr´ an conectarse a ellos para ejecutar diversas acciones. As´ı pues, un rol puede ser jugado a trav´es de sus diferentes instancias por distintos agentes incluso al mismo tiempo, pudiendo un agente desempe˜ nar distintos roles. Este enfoque centrado en organizaciones se puede considerar en gran medida an´ alogo a las caracter´ısticas de los roles en las organizaciones humanas, tales como la administraci´ on p´ ublica o el ´ ambito empresarial. En estos casos los roles son entidades organizativas formando parte del proceso de la organizaci´on. Desde este punto de vista organizativo, el rol define la participaci´ on en un proceso, mientras que el agente es el responsable de ejecutar dicho proceso. Por lo tanto, agentes y roles se enmarcan en distintos niveles ontol´ ogicos. Desde esta perspectiva organizativa las relaciones se dise˜ nan o imponen sobre los mismos roles en lugar de sobre los agentes (u objetos), convirti´endose la red de 17

Ram´ on Hermoso Traba

relaciones entre los roles en la base de la estructura organizativa. Si consideramos roles como nodos dentro de esta red, entonces un rol puede estar relacionado con m´as de un nodo. La visi´ on de rol m´ as usada es la de rol funcional, es decir, los roles definen las posiciones que pueden desempe˜ nar los agentes (96). Pueden existir muchos roles distintos al mismo tiempo dentro de una organizaci´on. Desde un punto de vista funcional, a la organizaci´ on no le importa qu´e agente juegue cada rol, sino que la funcionalidad asociada a cada uno de los roles la desarrolla un agente que tiene una cierta capacidad para ello. Colman y Han en (27) proponen dos caracter´ısticas fundamentales cuando hablamos de roles en entornos organizativos: 1. Independencia del agente: los roles que forman la estructura de una organizaci´on no dependen de los agentes que pueden desempe˜ narlos para existir. Los roles dependen de la propia organizaci´ on para su existencia. 2. Independencia de identidad : los roles tienen una identidad organizativa independiente de los agentes. Dignum propone en (36) que un rol es la representaci´on abstracta de una pol´ıtica, servicio o funci´ on. Los roles t´ıpicamente describen una restricci´on – a nivel organizativo – de alg´ un tipo de actividad de los agentes en el sistema (57). Es ´ decir, los roles de alguna forma intentan regular un grupo de agentes. Esto puede hacerse de diversas formas. Por un lado, puede hacerse de manera prescriptiva, puesto que los roles permiten definir restricciones sobre su uso, as´ı como protocolos de interacci´ on entre los agentes que los desempe˜ nan. Esto es muy u ´til cuando t´ıpicamente tratamos de ”organizar” un sistema est´ atico, en cuanto a poblaci´on y, sobre todo, en cuanto a objetivos globales; Adem´ as, este tipo de sistemas suelen disponer de alg´ un individuo con ”autoridad” suficiente para ”imponer” el comportamiento deseado sobre los agentes. En cambio, cuando nos centramos en sociedades de agentes (98)(69), normalmente no existe un objetivo global claro, ni tampoco una autoridad para imponer un hipot´etico comportamiento deseado. En este tipo de sistemas, que ser´an en los que nos basemos en esta tesis, los agentes est´an embebidos en un entorno en el que deber´ an interaccionar con otros agentes para mejorar sus utilidades individuales. El objetivo de coordinaci´ on en este tipo de sistemas no est´a en usar un conjunto de roles – en cualquier forma en que se presente – como una estructura prescriptiva que impone un comportamiento determinado en los participantes, sino en que los agentes 18

Cap´ıtulo 2. Estado del arte

puedan obtener el m´ aximo rendimiento a trav´es de sus interacciones (64). Es decir, el rol pasa de ser ”prescriptor” a ser ”catalizador” de las interacciones de los agentes en el sistema.

2.2.1.

Los roles en metodolog´ıas de desarrollo de sistemas basados en agentes

Una vez hemos repasado de manera breve algunos de los modelos organizativos basados en agentes m´ as importantes, vamos a pasar a profundizar en la importancia y significado que los roles tienen en cada uno de ellos. Instituciones Electr´ onicas Seg´ un (114) la identificaci´ on de los roles se considera parte del proceso de formalizaci´ on de cualquier organizaci´ on. Un agente dentro de una instituci´on electr´ onica necesita adoptar una serie de roles. Una de las principales ventajas que toma este modelo – as´ı como la mayor parte del resto de modelos – es el desacoplamiento que existe entre los agentes y las acciones. Es decir, los roles pueden ser actualizados sin necesidad de actualizar las acciones de manera individual para cada agente en el sistema. En las instituciones electr´ onicas existen dos tipos de roles: institucionales y no institucionales. Los primeros son considerados internos a la instituci´on y los segundos externos, siendo los roles que juegan los agentes llamados institucionales y no institucionales, respectivamente. Los roles institucionales son aquellos que velan por garantizar las reglas de la instituci´ on; en cambio, los roles no institucionales son aquellos que deben ajustarse para cumplir las reglas de la instituci´on. Otra muestra que ofrece las ventajas del dise˜ no basado en roles es la creaci´on de escenas. El protocolo de comunicaci´ on que define las posibles interacciones dentro de una escena est´ a basado en roles y no en agentes. Es decir, una escena est´a definida en base a los roles que los agentes pueden desempe˜ nar en ella, sea cual sea la poblaci´on actual del sistema. As´ı pues, los roles permiten abstraerse de los individuos que pueden poblar la instituci´ on. En las instituciones electr´ onicas, un agente est´a obligado a adoptar al menos un rol. Adem´ as, a partir de ese momento, se compromete a ajustarse al patr´on de comportamiento que conlleva ese rol. De esta manera, todos los agentes que adopten una misma clase de rol adoptan, a su vez, los mismos derechos, deberes y obligaciones. 19

Ram´ on Hermoso Traba

Las instituciones electr´ onicas se nos presentan de este modo como sistemas puramente prescriptivos, puesto que ”obligan” a los agentes que se conectan a ella a seguir el comportamiento especificado a trav´es de los roles. MOISE+ En este modelo un rol representa las restricciones sobre la funcionalidad, los objetivos, los planes y las relaciones con otros roles que un agente debe adoptar cuando desempe˜ na dicho rol en un grupo. Es decir, la din´amica de las acciones de los agentes viene determinada por la definici´ on de los roles (aspecto funcional ). Otra caracter´ıstica b´ asica de los roles en este modelo es que, dentro del aspecto de´ ontico de la organizaci´ on, las normas, es decir, permisos, prohibiciones y obligaciones se prescriben sobre el concepto de rol. AGR Los roles en el modelo AGR son representaciones asbtractas de posiciones funcionales de un agente en un grupo. De este modo, los roles son locales a cada grupo, y son lo agentes los que solicitan su desempe˜ no. Un grupo contiene un n´ umero finito de roles. Un grupo puede ser creado por cualquier agente, que pasa a desempe˜ nar, autom´ aticamente, el rol de manager del grupo. Este rol tendr´a la responsabilidad de gestionar las solicitudes de admisi´ on en el grupo y de adquisici´on de roles por parte de otros agentes. Cada agente puede desempe˜ nar varios roles y, asimismo, un mismo rol puede ser asignado a distintos agentes. Aqu´ı tambi´en se hace la distinci´on entre tipo – o clase – de rol e instancia de rol. Varios agentes pueden desempe˜ nar diferentes instancias de un mismo tipo de rol (pero nunca la misma instancia). Una de las principales caracter´ısticas de AALAADIN (metodolog´ıa de los mismos autores) es que un agente puede crear nuevos grupos con roles. Esto a˜ nade dinamismo a la estructura organizativa del sistema. GAIA II En el modelo GAIA (136), las organizaciones son definidas como una colecci´on de roles. Los roles presentan ciertas similitudes con los modelos anteriores, puesto que se especifican por medio de cuatro atributos: i) responsabilidades de los agentes que los desempe˜ nan; ii) permisos o derechos que les proporciona; iii) actividades que pueden 20

Cap´ıtulo 2. Estado del arte

llevar a cabo mediante el uso del mismo; y iv) protocolos. Al igual que ocurr´ıa con las instituciones electr´ onicas, los protocolos de interacci´on est´an definidos mediante el uso de los roles. As´ı pues, no debemos hablar de protocolos de interacci´on de agentes, sino de protocolos de interacci´ on de roles. En la metodolog´ıa de desarollo que se propone usando este modelo, la fase de an´ alisis se basa en tres pasos fundamentales, en lo referente a los roles: 1. Identificaci´ on de los roles en el sistema. Esto proporciona una estructura de roles inicial, definida como un esquema. Cada uno de los esquemas contiene responsabilidades, permisos, actividades y protocolos, asociados a cada rol; 2. Identificaci´ on y documentaci´ on de protocolos de interacci´on entre roles. Esto proporciona un modelo de interacci´ on del sistema, que captura los patrones de interacci´ on entre los distintos roles para la consecuci´on de las diversas tareas en el sistema; 3. Elaboraci´ on completa del modelo de roles, usando los protocolos elaborados en 2. Para (100), los sistemas desarrollados mediante la metodolog´ıa Gaia tienen una estructura organizativa fija y est´ atica, por lo que no puede ser aplicada en entornos din´ amicos. OperA Para Dignum, desde un punto de vista organizativo la principal funci´on de un agente individual es la de desempe˜ nar un rol que contribuye a los objetivos globales de la sociedad (36). Es decir, los objetivos de la organizaci´on condicionan y determinan los roles que toman los agentes as´ı como las reglas de interacci´on. Son las propias capacidades del agente y sus objetivos individuales los que determinan de manera espec´ıfica c´ omo un agente juega un rol. Como ya hemos comentado, el modelo OperA est´a compuesto por tres submodelos. A continuaci´ on, repasamos c´ omo el concepto de rol es utilizado en cada uno de ellos: El modelo organizativo especifica las caracter´ısticas organizativas en t´erminos de cuatros estructuras diferenciadas: social, de interacci´ on, normativa y comunicativa. La estructura social determina los objetivos de la sociedad de 21

Ram´ on Hermoso Traba

agentes, sus roles y el tipo de modelo que gobierna la coordinaci´on. La estructura de interacci´ on determina el protocolo de interacci´on entre los roles participantes para llevar a cabo una tarea determinada. La estructura normativa define las normas y las regulaciones de la sociedad, expresadas en t´erminos de roles e interacciones. Por u ´ltimo, la estructura comunicativa establece las ontolog´ıas para la descripci´on del dominio y las ilocuciones comunicativas. El modelo social establece de manera fija c´omo es el desempe˜ no de los roles por parte de los agentes. Es decir, los agentes que juegan un rol se comprometen mediante contratos sociales a tener una serie de capacidades as´ı como a asumir una serie de responsabilidades. El modelo de interacci´ on crea las escenas de interacci´on de los agentes de manera din´ amica, a partir de los roles que desempe˜ nan y de los contratos sociales que han acordado para adquirir esos roles. TROPOS La extensi´ on de la metodolog´ıa TROPOS (81) adopta la met´afora organizativa, poniendo un especial empe˜ no en la especificaci´on de la estructura organizativa. En la metodolog´ıa TROPOS los actores representan agentes, ya sean f´ısicos o software, roles o incluso grupos de roles. Mediante diagramas de actores permite definir los actores principales en las distintas interacciones posibles en el sistema, as´ı como las relaciones que existen entre ellos para cumplir as´ı sus objetivos, ejecutar sus planes o suministrar recursos. En este caso, el desacoplamiento que repas´abamos en otros modelos y metodolog´ıas es a´ un m´ as abstracto, puesto que el concepto de actor engloba una sem´ antica m´ as gen´erica que el rol en su relaci´on con las acciones posibles en el sistema (protocolos, permisos, etc.). SODA Dentro de la fase de an´ alisis en la metodolog´ıa SODA se deben definir tres modelos distintos: el modelo de roles, el modelo de recursos y el modelo de interacci´ on. El primero de ellos, y el que m´ as nos interesa en esta secci´on, describe los objetivos de la aplicaci´ on en base a las tareas a realizar que, a su vez, est´an especificadas en funci´on de los roles y grupos. Las tareas se expresan mediante las responsabilidades que tienen 22

Cap´ıtulo 2. Estado del arte

asociadas, las competencias que requieren y los recursos de los que dependen. Existen dos tipos de tareas posibles: individuales, que necesitan recursos o competencias limitados, y que estar´ an asociadas a roles individuales; y sociales, que requieren de diversas competencias, el acceso a varios recursos, estando asociadas a grupos. El modelo de interacci´ on, como ya hemos visto en otras metodolog´ıas modela las interacciones posibles entre los agentes participantes en el sistema a trav´es de: i) protocolos, que indicar´ an la informaci´ on requerida y suministrada por los roles y los recursos; y ii) reglas de interacci´ on, que regulan las interacciones entre los roles y recursos dentro de los grupos. Durante la fase de dise˜ no se construyen otros tres modelos: el modelo de agente, modelo social y modelo del entorno. El primero define la asignaci´on de clases de agentes a roles (tanto sociales como individuales). De esta forma se define el comportamiento observable del agente en base a sus interacciones con el entorno.

OMACS En OMACS cada organizaci´ on contiene un conjunto de agentes R que puede usar para alcanzar sus objetivos. Un rol define una posici´on dentro de una organizaci´ on, cuyo comportamiento esperado conlleva el acercamiento o consecuci´on de alg´ un objetivo o conjunto de ellos. De esta forma, un rol define un conjunto de responsabilidades. Agentes espec´ıficos ocupar´ an estas posiciones seg´ un las necesidades de la organizaci´ on. En OMACS, el uso que el agente hace del rol, cuando asume su posici´on, no est´ a restringido; es decir, lo puede usar en la manera que quiera. Sin embargo, el hecho de que juegue el rol hace que existan unas expectativas referentes a un objetivo conocido. OMACS asume, por tanto, que un rol implica un m´ınimo comportamiento esperado m´ as que una prescripci´ on sobre el mismo. Ser´a este comportamiento esperado lo que defina la funcionalidad del rol. As´ı pues, este modelo se diferencia del resto de modelos presentados anteriormente en que, mientras estos u ´ltimos contemplan el rol como un concepto de prescripci´on del comportamiento del agente, OMACS describe una serie de expectativas sobre los agentes que lo desempe˜ nan. 23

Ram´ on Hermoso Traba

Otros modelos formales Existe tambi´en un grupo de trabajos que formalizan el concepto de rol. Por ejemplo, en (45) se formalizan las relaciones que pueden existir entre los distintos roles del sistema mediante el predicado RoleOf (a, R), que representa que el rol a es uno de los participantes en la relaci´ on de tipo R. Un ejemplo de tipo de relaci´on podr´ıa ser alumno − prof esor, donde tanto el rol alumno como el rol prof esor se podr´ıan formalizar de la forma anterior. La adopci´ on de un rol por parte de un agente implica

la adopci´ on de un compromiso social hacia otro agente, que juega un rol distinto en la misma relaci´ on. En el ejemplo anterior, cuando un agente adopta el rol estudiante asume un compromiso social (en t´erminos de responsabilidades, derechos y deberes) con el agente que desempe˜ ne el rol prof esor. En (20) los autores argumentan que la adopci´on de un rol por parte de un agente fuerza al agente a adoptar las metas (o goals) asociados a priori a dicho rol. Barbuceanu (6) propone que cada rol describe una funci´on importante para el desarrollo de los agentes, as´ı como una serie de obligaciones, prohibiciones y permisos asociados a los mismos. Asimismo propone en su trabajo que la estructura de roles puede expresarse por medio de una jerarqu´ıa.

2.2.2.

Estructuras organizativas y su din´ amica

Este apartado tiene como finalidad poner al lector en situaci´on del estado de la investigaci´ on, presentado en la literatura, acerca de estructuras organizativas y su din´ amica. Esta secci´ on proporciona una base para el contenido que se presenta en el Cap´ıtulo 4. En (68) los autores afirman lo siguiente: ”An organizational structure defines different elements in an organization and relations between them. The dynamics of these different elements can be characterized by sets of dynamic properties. An organizational structure has the aim to keep the overall dynamics of the organization manageable.” o lo que es los mismo, una estructura organizativa define los distintos elementos en una organizaci´ on y las relaciones que existen entre ellos. La din´amica de dichos elementos se puede caracterizar a partir de conjuntos de propiedades din´amicas. Una estructura organizativa tiene el objetivo u ´ltimo de hacer que la din´amica global de la organizaci´on 24

Cap´ıtulo 2. Estado del arte

sea posible. Lomi y Larsen proponen en (88) que es importante poner ´enfasis en la importancia de estas relaciones, haci´endose las siguientes preguntas: ”... dado un conjunto de asunciones sobre el comportamiento individual de los distintos participantes en la organizaci´ on, ¿pueden las propiedades agregadas de un sistema ser determinadas (o al menos predichas) de tal forma que sean generadas a partir de la interacci´ on repetida de esas unidades individuales? ”... dadas unas regularidades observables en el comportamiento de un sistema compuesto, ¿qu´e reglas y procedimientos (si ´estos fueran adoptados por las unidades individuales) inducen y sostienen estas regularidades?” Estas preguntas nos llevan a plantearnos problemas distintos. El enfoque que subyace a la primera pregunta ser´ a la base de nuestro trabajo en el Cap´ıtulo 4, mediante la elaboraci´ on de un mecanismo que trata de adaptar y evolucionar una de estas estructuras organizativas, como son los roles. La segunda pregunta no se trata en este trabajo, y versa sobre la necesidad que existe de elaborar mecanismos de incentivo y control para hacer que los individuos de una organizaci´on presenten un comportamiento beneficioso para los objetivos de la misma. Como ya se ha visto en secciones anteriores la mayor parte de los modelos organizativos que hemos visto, permiten dise˜ nar la din´amica del sistema a partir de las estructuras organizativas. Por ejemplo, MOISE+ (70) dedica parte del modelado de las organizaciones a describir la din´ amica de la organizacion por medio de la estructura organizativa, a trav´es del uso de objetivos, acciones, planes y recursos. Otro ejemplo es AGR (46), modelo que permite la agregaci´on de tres niveles de abstracci´ on, organizaci´ on, grupo y rol, y sus relaciones. En (68) se propone un modelo basado en componentes para el dise˜ no (y re-dise˜ no) de organizaciones. Este modelo se basa en adoptar la organizaci´on como una entidad de primer orden en la fase de dise˜ no de organizaciones, y las restricciones que modelan los objetivos de la misma como requisitos, que pueden ser din´amicos o no. Este enfoque est´ a principalmente orientado a la ingenier´ıa del software supervisada, es decir, los objetivos del sistema est´ an claramente definidos y cualquier cambio en las estructuras organizativas son dise˜ nados, a priori, por humanos. Desde esa perspectiva ingenieril, encontramos otra aproximaci´ on, como la de Dastani et al. (32), para sociedades abiertas basadas en agentes, donde resulta necesario dise˜ nar mecanismos para comprobar la compatibilidad de ciertos agentes con los roles que existen en 25

Ram´ on Hermoso Traba

el sistema. De esta forma, presentan un estudio sobre la determinaci´on de algunas condiciones necesarias bajo las que un agente puede desempe˜ nar un rol y tambi´en lo que significa para un agente el hecho de jugar dicho rol.

2.2.3.

Sem´ antica en el concepto de rol

De acuerdo a la definici´ on de la RAE2 , un rol es un cargo o funci´ on que alguien o algo cumple en alguna situaci´ on o en la vida. Esta definici´on no dista mucho de la que nos ofrece el Cambridge dictionary 3 que dice que un rol es la posici´ on o el prop´ osito que alguien o algo tiene en una situaci´ on, organizaci´ on, sociedad o relaci´ on 4 . Cuando hablamos de SMAs con alg´ un tipo de estructura organizativa una de las abstracciones que suele aparecer es la de rol. Si bien es utilizado en gran n´ umero de modelos organizativos – como se ha repasado en las secciones anteriores – no siempre significa lo mismo. A continuaci´ on, podemos establecer una visi´on propia del significado de los roles en los SMA a partir de tres nociones distintas, pero complementarias. 1. Existe un nivel abstracto, donde el rol describe una funcionalidad primitiva que todos los agentes poseen y que se instancia en una determinada interacci´on. Estas clases abstractas subsumen a las otras dos siguientes nociones. Dentro de este noci´ on encontrar´ıamos los roles m´ as gen´ericos posibles, tales como requester y requestee, informer e informee, etc. ligados todos ellos a interacciones sociales tambi´en primitivas (115). 2. Habr´ıa otro nivel distinto, aquel donde dentro de un sistema organizado se etiquetan las distintas posiciones que un agente puede tomar. Def´ınase posici´ on como ”Categor´ıa o condici´ on social de cada persona respecto de las dem´ as”5 ; sirve, sobre todo, desde el punto de vista funcional, es decir para asignar atribuciones y responsabilidades (derechos y deberes) a los distintos participantes dentro de una organizaci´on. Proporciona los conceptos de funcionalidad y responsabilidad ligados al rol. Seg´ un Dastani et al. (32), un rol es una representaci´ on abstracta de una pol´ıtica (policy), un servicio, o una funci´ on. Las descripciones de los roles en un modelo organizativo identifican las 2 httt://www.rae.es 3 http://dictionary.cambridge.org 4 Traducci´ on 5 Definici´ on

del autor de la RAE.

26

Cap´ıtulo 2. Estado del arte

actividades y servicios necesarios para lograr ciertos objetivos de una sociedad y permitir la plena abstracci´ on de los individuos que finalmente desempe˜ nar´an dicho rol. Adem´ as, los roles deben describir las capacidades necesarias que deben ser respetadas por todo agente que juegue un rol. Adem´as, los roles deben organizarse en alg´ un tipo de red de relaciones entre los mismos. 3. Se podr´ıa definir tambi´en como un conjunto de una o m´as expectativas sobre un conjunto de una o m´ as acciones disponibles en un sistema. Es decir, un rol determina una serie de expectativas con respecto a los comportamientos en determinadas acciones. Por ejemplo, una ni˜ nera proporciona unas expectativas cuidando ni˜ nos totalmente distintas a las que genera un soldado realizando la misma acci´ on. Esto determina las capacidades m´ınimas esperadas para un agente para hacer una acci´ on determinada. Desde un punto de vista de teor´ıa de organizaciones en SMAs, la noci´on 2 es la m´ as usada, puesto que se centra en la definici´ on prescriptiva del rol, como restricci´on en las acciones que el agente puede realizar. En realidad, las nociones 2 y 3 est´ an fuertemente enlazadas, puesto que un rol caracteriza a los individuos en una sociedad respecto a sus capacidades y funciones. Esto, inevitablemente genera unas expectativas en la poblaci´on. Por ejemplo, si bien un m´edico es aquel que ha demostrado cualidades para serlo, precisamente por esas presupuestas cualidades genera unas expectativas hacia el resto de la sociedad. A lo largo de este trabajo, nos adherimos a la noci´on 3 para gestionar los roles como entidades que generan expectativas sobre los agentes en un cierto SMA organizado.

2.3.

Modelos de confianza

El concepto de confianza est´ a presente en la vida real en toda situaci´on, pero al mismo tiempo, es un t´ermino complejo de explicar en cuanto a su significado, ya que ´este se puede manifestar de diversas formas. La literatura existente acerca de este concepto tambi´en puede llevarnos a equ´ıvoco puesto que recoge muchas y muy diversas definiciones (93). Una de las definiciones m´ as conocidas es la de Gambetta (54): Trust is the subjective probability by which an individual, A, expects that another individual, B, performs a given action on which its welfare depends. 27

Ram´ on Hermoso Traba

Esta definici´ on incluye el concepto de dependencia en la parte confiada, y de fiabilidad tambi´en en la parte confiada. Sin embargo, la definici´ on de confianza puede ser m´as compleja que la propuesta por Gambetta. Por ejemplo, Falcone y Castelfranchi (43) exponen que el tener una alta fiabilidad en una persona no necesariamente conlleva el decidir establecer una relaci´ on de dependencia con la misma. Arguyen que existen ciertos factores, como el riesgo, por ejemplo, pueden llevar a una persona a decidir no interaccionar con otra, incluso si la fiabilidad de esta u ´ltima es elevada. Al hilo de este argumento, McKnight y Chervany proponen la siguiente definici´ on en (93): Trust is the extent to which one party is willing to depend on something or somebody in a given situation with a feeling of relative security, even though negative consequences are possible. La definici´ on anterior es mucho m´ as general. De manera directa e indirecta incluye aspectos de naturaleza m´ as amplia sobre la confianza, como son la dependencia en la entidad en la que se conf´ıa; la fiabilidad de la misma, la utilidad ; en el sentido de que una utilidad positiva es consecuencia de un resultado positivo de la interacci´on, y al contrario, una utilidad negativa es consecuencia de un resultado negativo; la actitud del agente hacia el riesgo, es decir, el riesgo que desea asumir el agente en una situaci´ on determinada, a partir de los factores anteriores. Sin embargo esta propuesta de considerar factores como el riesgo como parte de la confianza es algo que puede llevar a confusi´on. En (18), Castelfranchi y Falcone proponen que existe una clara distinci´ on entre la confianza y la acci´on de confiar. El primer concepto se refiere a un estado mental del agente, que se podr´ıa identificar como, siguiendo la definici´ on de Gambetta, la fiabilidad de la entidad en la que se conf´ıa; mientras que el segundo concepto se separa del primero, consistiendo en un acto en el que se delega cierta acci´ on sobre otro individuo, teniendo en cuenta factores como la confianza – sea cual sea el modelo cognitivo del individuo –, la aversi´on al riesgo del mismo, las relaciones de dependencia entre los actores, etc. En otras palabras, un alto valor de confianza no implica necesariamente que un individuo conf´ıe el realizar determinada acci´ on o tarea a otro. Para (95) la confianza se define como sigue: Trust is a subjective expectation an agent has about another’s future behavior based on the history of their encounters 28

Cap´ıtulo 2. Estado del arte

Figura 2.2: M´ odulo de toma de decisiones t´ıpico de un agente Esta definici´ on de confianza se basa en la experiencia local del individuo evaluador, a partir de los encuentros que ha tenido a lo largo del tiempo con otros. Para (58) la confianza tiene la siguiente definici´on: Trust is the firm belief in the competence of an entity to act dependably, securely, and reliably within a specified context. Esta definici´ on introduce el concepto de contexto y, adem´as, se refiere a la competencia de una entidad para realizar una determinada acci´on, en lugar de a la acci´ on en s´ı misma. En nuestro caso, la noci´on de contexto ser´a importante para definir las situaciones en las que se puede evaluar la confianza, como ya veremos m´as adelante. T´ıpicamente, los modelos de confianza son utilizados para obtener un valor, calculado en el estado mental del agente, que le sirve a ´este, como catalizador de potenciales interacciones. Es decir, la confianza es un valor que impulsa al agente a tomar decisiones. An´ alogamente a la confianza, existen otros factores, como por ejemplo: el riesgo que asume el agente ante la incertidumbre en los resultados a obtener en las acciones posibles, la dependencia entre los roles que desempe˜ nan los agentes, etc. En nuestro caso, s´ olo la confianza parametrizar´a el proceso de toma de decisiones, aunque cualquier otro mecanismo que actualizase otros par´ametros distintos que influyeran en el agente ser´ıa complementario. La Figura 2.2 muestra c´ omo son diversos los factores que pueden influir en la toma de decisiones de los agentes. La figura muestra la informaci´ on que un agente re´ une cuando se dispone 29

Ram´ on Hermoso Traba

a tomar una decisi´ on. El m´ odulo de decisi´ on tendr´a como entradas el conjunto de percepciones que el agente realiza en el entorno y el conocimiento previo y adquirido durante su estancia en el sistema. Adem´ as de estos factores, existen ciertos modelos que el agente tiene incorporados – ya sea pre-compilados o en tiempo de ejecuci´on – que tambi´en influyen en sus decisiones sobre qu´e acci´on realizar a continuaci´on, de entre un conjunto disponible.

2.3.1.

Confianza y Reputaci´ on

El concepto de reputaci´ on est´ a ´ıntimamente ligado a la confianza. Sin embargo, existen ciertas diferencias que es necesario aclarar. Seg´ un el diccionario de la RAE la reputaci´ on se define como: 1. Opini´ on o consideraci´ on en que se tiene a alguien o algo. 2. Prestigio o estima en que son tenidos alguien o algo Ambas acepciones se refieren a una opini´ on acerca de una entidad. En general, se considera la reputaci´ on como una medida colectiva de confianza basada en referencias o evaluaciones de los miembros de una comunidad. El concepto de confianza es una medida subjetiva de cada individuo. Este valor se deriva de la combinaci´ on de la experiencia local del individuo acerca de la entidad y situaci´ on que est´ a evaluando, con las opiniones recibidas de otros individuos. La ecuaci´ on 2.1 muestra el c´ alculo t´ıpico de la confianza: conf ianza = experiencia local ⊗ reputacion

(2.1)

En la ecuaci´ on 2.1 se observa c´ omo la confianza es el resultado de combinar la experiencia local con las opiniones provenientes de otros individuos. Para Abdul-Rahman y Hailes (1) la reputaci´on tiene la siguiente definici´on: The reputation of an agent is an expectation of its behaviours based on the other agents’ observations, or information about the agent’s past behaviours. Puesto que la informaci´ on sobre reputaci´ on se observa desde el punto de vista del proveedor que act´ ua como fuente de informaci´on, normalmente es menos fiable que la informaci´ on que un agente puede observar y juzgar de manera individual. Por esta raz´ on, lo m´ as com´ un es que esta u ´ltima tenga un peso mayor a la hora de calcular la confianza. 30

Cap´ıtulo 2. Estado del arte

Fuente

End´ ogeno

Info. Local



Reputaci´ on

Ex´ ogeno

Fiable





No fiable



Directo

Indirecto





Tabla 2.1: Relaci´ on entre la estimaci´ on de la confianza usando informaci´on local y reputaci´ on Informaci´ on Local

Representa la expectativa que el agente tiene sobre otro acerca

de una determinada situaci´ on, en la que el u ´ltimo ha intervenido, y de la que el agente tiene informaci´ on directa. En otras palabras, se podr´ıa decir que la informaci´on local estima la confianza a partir resultados de interacciones pasadas en las que ambas partes, tanto el poseedor de este valor como aquel al que se le aplica, han participado. Cuando existen varias interacciones del mismo tipo con el mismo agente, el modelo de confianza de cada agente tendr´a que ser actualizado incorporando la nueva informaci´ on. Reputaci´ on

La reputaci´ on es un valor que, al contrario que ocurre con la

informaci´ on local, se recoge a trav´es de experiencias indirectas. La reputaci´on es una agregaci´ on que realiza el agente peticionario con las opiniones de una serie de agentes sobre una situaci´ on concreta. Por ejemplo, un agente a1 podr´ıa pedir opini´on acerca del comportamiento de un agente a2 en una situaci´on determinada s al conjunto de agentes {a3 , a4 , a5 }. Los diferentes valores que el agente a1 recibir´a pueden ser

agregados y combinados con la informaci´ on local que tiene el propio agente.

La Tabla 2.1 muestra las distintas propiedades que tienen las dos fuentes de informaci´ on en las que, t´ıpicamente, se basa el c´alculo de confianza en un agente. As´ı, vemos c´ omo la informaci´ on local recolectada por el agente a partir de interacciones pasadas es end´ ogena, ya que es procesada internamente. Es informaci´on que el agente recoge de primera mano. Adem´ as, es fiable, denotando este t´ermino la no existencia de manipulaci´ on de terceros sobre dichos valores; y es directo, puesto que es algo que el agente incorpora tras finalizar cualquier interacci´on. La reputaci´on, en cambio, presenta una serie de propiedades opuestas a las anteriores. La raz´on de su uso estriba en la necesidad de informaci´ on existente cuando los agentes no tienen apenas experiencias pasadas como para evaluar de forma correcta la confianza sobre terceros; 31

Ram´ on Hermoso Traba

as´ı pues, tendr´ an que valerse de las opiniones de otros agentes para formar una estimaci´ on de este valor. Mientras que la informaci´ on local es totalmente fiable, aunque se necesitan repetidas interacciones para que los agentes consideren u ´nicamente esta fuente, la reputaci´ on es muy necesaria en un gran n´ umero de casos. Fullam y Barber en (51) hablan precisamente sobre la relaci´ on existente entre el uso de la informaci´on local de los agentes y el de petici´ on de reputaci´ on. Se pretende conseguir un factor de equilibrio entre ambas fuentes de informaci´ on. Por un lado,la informaci´on que el agente obtiene de primera mano es mucho m´ as fiable que la que obtiene a trav´es de otros; adem´as, las opiniones que se transmiten en forma de reputaci´on por el sistema pueden tener un coste adicional asociado. Llamaremos modelo de confianza a la representaci´on conceptual del proceso para gestionar la confianza en la arquitectura interna de un agente. Por otro lado, llamaremos mecanismo de reputaci´ on a la representaci´on de la din´ amica del proceso que se encarga de describir el uso de la reputaci´on en modelos de confianza (b´ usqueda de fuentes de reputaci´on y gesti´on de las opiniones). As´ı pues, un mecanismo de reputaci´ on proporciona uno de los factores de entrada que alimenta el modelo de confianza de un individuo. En otras palabras, la reputaci´on es un par´ ametro de la confianza.

2.3.2.

Modelos de Confianza

Generalmente, los modelos de confianza se utilizan para dotar a los agentes de alg´ un tipo de informaci´ on aproximada para tomar decisiones en sistemas donde existe cierta incertidumbre sobre los resultados que se pueden esperar como consecuencia de realizar una determinada acci´ on. La Figura 2.3 muestra un esquema de los distintos niveles a partir de los cuales se pueden analizar los modelos de confianza: Nivel f´ısico. En este nivel la mayor parte de trabajos se centran en mecanismos tradicionales para garantizar la seguridad en sistemas, que abordan problemas para todo tipo de sistemas distribuidos, tales como mecanismos de autenticaci´on, mediante el uso de certificados, de autorizaci´on, mediante el uso de credenciales, etc. En esta tesis no estamos interesados en este tipo de mecanismos que ya han sido ampliamente investigados por la comunidad cient´ıfica (13). Nivel agentivo. Sobre el nivel f´ısico encontramos los agentes. Estos agentes 32

Cap´ıtulo 2. Estado del arte

Figura 2.3: Diagrama de capas de confianza tendr´ an alg´ un tipo de objetivos para los cu´ales realizar´an acciones sobre el entorno. Dependiendo del escenario, podemos encontrar distintos tipos de modelos de confianza para ayudar a los agentes a tomar decisiones en dicho entorno. Repasaremos, a continuaci´ on, algunos de los modelos propuestos hasta la fecha para ayudar a los agentes en sus interacciones. Nivel organizativo. Sobre el nivel ”agentivo”, y como hemos visto anteriormente, se sit´ uan abstracciones organizativas para facilitar el dise˜ no de SMAs. Nuestro trabajo se centra precisamente en el uso de estas abstracciones para afinar la evaluaci´ on de la confianza y determinar as´ı su valor en un contexto organizativo. Los modelos de confianza se han convertido en herramientas u ´tiles para los agentes en entornos en los que existe incertidumbre, especialmente, a la hora de seleccionar con qu´e otro individuo interactuar. La inclusi´ on de teor´ıas sociol´ogicas, procedentes del cognitivismo (18)(19)(43), as´ı como el impulso que produjeron los primeros modelos computacionales a mediados de los a˜ nos noventa (91) han hecho que la investigaci´on en este campo sea cada vez m´ as extensa. Algunos de los principales problemas que existen en los modelos de confianza actuales son los siguientes: En relaci´ on al uso de la reputaci´ on, cualquier intercambio de informaci´on entre agentes est´ a sujeto a una falta de precisi´on, en la mayor´ıa de los casos por 33

Ram´ on Hermoso Traba

una tendencia no cooperativa del agente que la env´ıa; dicho en otras palabras, ning´ un agente asegura a otro que la informaci´on que le transmite es fiable en cuanto al contenido. Esto engloba la posibilidad de falta de precisi´on cuando los agentes env´ıan sus opiniones, ya sea de manera inconsciente o deliberada. De hecho, existe una gran cantidad de trabajos que se centran en tratar de distinguir a aquellos agentes que mienten maliciosamente cuando intercambian sus opiniones. Tambi´en relacionado con la reputaci´ on, las distintas fuentes de informaci´on, incluso siendo veraces, pueden tener distintas visiones acerca de una misma situaci´ on para un mismo agente. Otro de los problemas que se plantean es la necesidad de que los agentes nuevos en un sistema puedan, lo antes posible, actualizar sus modelos de confianza. Es decir, que los agentes nuevos que no conocen el entorno (en ingl´es newcomers problem) puedan, lo m´ as r´ apidamente posible, interactuar con el resto de agentes del entorno de una manera provechosa para ellos. La Figura 2.4 muestra algunos de los problemas citados. El ejemplo planteado en la Figura 2.4 es el siguiente: una agente A pretende evaluar si debe confiar en el agente D para realizar cierta interacci´on a1. No tiene informaci´ on a priori con la que estimar el valor de confianza para dicho agente, luego decide preguntar a los agentes B, C y E acerca del comportamiento de D realizando a1. As´ı pues, A realiza sendas peticiones de reputaci´on a dichos agentes (req(D, a1)). Supongamos que la reputaci´ on se mide en el rango [0..1] y que cada agente mantiene un historial en el que apunta la confianza calculada hasta el momento para cada una de las situaciones pasadas6 . En el ejemplo podemos distinguir tres casos distintos: en primer lugar, el agente C contesta con un valor 0.7 que coincide con el valor de confianza que tiene en su historial. En este caso se trata de informaci´on acumulada durante varias experiencias repetidas de la situaci´on < D, a1 >; en segundo lugar, el agente B contesta con el valor 0.3, muy distinto del 0.8 que mantiene en su historial; por u ´ltimo, el agente E contesta con el valor 0.55, coherente con el valor que contiene su historial; sin embargo, este valor se basa en una u ´nica experiencia que ha tenido en el sistema. De estos tres intercambios de informaci´on podr´ıan considerarse las siguientes conclusiones: 6 Enti´ endase

por situaci´ on una interacci´ on con otro agente para una acci´ on determinada

34

Cap´ıtulo 2. Estado del arte

Figura 2.4: Ejemplo de intercambio de reputaci´on entre tres agentes sobre un tercero Si el agente C acumula un n´ umero significativo de experiencias para calcular el valor transmitido, podr´ıamos decir que responde de manera coherente, puesto que lo transmitido coincide con lo almacenado en su historial; El agente B, en cambio, haya o no calculado su valor de historial con un n´ umero de experiencias relativas lo suficientemente significativo como para estar bastante seguro del mismo, se considera que miente, pues no transmite el valor real que mantiene su modelo; El agente E transmite el mismo valor que mantiene en su historial. Sin embargo, este valor deber´ıa ser considerado m´ as d´ebil que C, puesto que se ha calculado habiendo contemplado una sola interacci´on pasada. El agente no puede estar muy seguro de la fiabilidad de dicho valor; Adem´ as, hay que contemplar la diversidad de valores que encontramos. El car´ acter subjetivo del c´ alculo de la utilidad por parte de los agentes, hace que en la mayor´ıa de los casos la agregaci´ on de la reputaci´on sea algo realmente complejo. 35

Ram´ on Hermoso Traba

El lector podr´ıa plantearse que, si bien los mecanismos de reputaci´on ofrecen m´as desventajas que el uso de la informaci´ on local, por qu´e se usan entonces de manera complementar´ıa a ´estos. En realidad, existen situaciones en las que un agente no puede hacer uso de la informaci´ on local para establecer la confianza en un determinado sujeto para una situaci´ on concreta. Diferenciamos en la siguiente lista las situaciones posibles: Si hablamos de sistemas abiertos, es muy razonable pensar en la situaci´on de un agente que acaba de entrar al sistema. Este agente no tendr´ıa experiencia previa para determinar la confianza en ning´ un otro. Imaginemos el caso en el que el mismo agente, habiendo interactuado varias veces en el entorno con distintos agentes dispone, pues, de cierta informaci´on local. Si bien esta informaci´ on la ha obtenido de forma directa, podr´ıa no ser suficiente para estimar si debe confiar en dichos agentes o no. Ya sea porque el sistema es abierto, o porque posee una alta escalabilidad, la exploraci´ on del sistema se debe presentar como algo habitual. Ya que nuevos agentes podr´ıan unirse al sistema y ´estos podr´ıan proporcionar mejor rendimiento para determinadas interacciones, ser´ıa razonable pensar que los agentes quisieran explorar el sistema, cada cierto tiempo, en busca de ”mejores” compa˜ neros. Tambi´en es importante resaltar el car´ acter temporal de la confianza. Los valores de confianza calculados internamente por un agente pierden vigencia seg´ un nos desplazamos en el tiempo sin producirse actualizaciones. Cada una de las situaciones planteadas anteriormente motiva por s´ı misma el uso de mecanismos de reputaci´ on en SMAs como soluci´on ”parcial”. En cambio, como hemos visto anteriormente, los mecanismos de reputaci´on conllevan una serie de problemas asociados. Nuestra propuesta se centra en tratar de proporcionar al agente un modelo de confianza que, dejando a un lado la reputaci´on, trate de evaluar al resto de agentes usando las estructuras organizativas presentes en muchos SMAs dise˜ nados hoy en d´ıa. M´ as concretamente, nos centramos en el uso de los roles y las tareas como conceptos que pueden ayudar al agente a inferir expectativas sobre otros agentes para distintas situaciones, especialmente cuando ´estas no se han producido antes. 36

Cap´ıtulo 2. Estado del arte

2.3.3.

Revisi´ on de modelos de confianza

Aunque existen algunos trabajos que recopilan algunos de los modelos de confianza m´ as importantes hasta la fecha (101)(118)(75)(4), nos disponemos en esta secci´on a repasar algunos de los m´ as relevantes para dar una idea de la tendencia que se ha seguido los u ´ltimos a˜ nos en este campo. Para ello, vamos a clasificarlos en tres categor´ıas diferentes, a saber: i) Modelos de confianza; ii) Mecanismos de reputaci´ on; y iii) Otros trabajos. Aunque las dos primeras categor´ıas est´an solapadas, recordemos que los mecanismos de reputaci´ on usualmente forman parte de un modelo de confianza, las consideramos como distintas dada la naturaleza de los trabajos que presentaremos. En general, la mayor parte de los trabajos que se encuentran en la literatura que versan sobre mecanismos de reputaci´on lo hacen de manera independiente a los modelos de confianza en los que se pueden incorporar. A continuaci´ on, veremos algunos de los modelos m´as representativos de cada una de estas categor´ıas. Modelos de confianza Los modelos de confianza tratan de estimar el comportamiento esperado de un agente ante una situaci´ on determinada. Existen distintos tipos de modelos de confianza. Como ya hemos apuntado anteriormente, la estimaci´on de la confianza suele ser una funci´ on como la siguiente: ta→hb,si : inf o local × reputacion × · · · → valor donde se eval´ ua de alguna forma c´ omo el agente a eval´ ua al agente b en una hipot´etica situaci´ on s, usando para ello la informaci´on local del agente, basada en experiencias pasadas y la reputaci´ on que b tiene entre el resto de participantes del sistema. Por lo tanto, la reputaci´ on es un factor relativo al c´alculo de confianza. Es decir, es un medio para evaluar la confianza. En cambio, el hecho de que exista una literatura propia sobre mecanismos de reputaci´ on, nos ha llevado a escribir una secci´on diferente para ambos aspectos. En ´esta, abordaremos trabajos que se centran en la descripci´on de modelos de confianza, y en la siguiente aqu´ellos que se fijan u ´nicamente en la creaci´ on de mecanismos de reputaci´ on. Existen un tipo de modelos de confianza, llamados modelos cognitivos que se basan en la necesidad de estudiar la confianza como una actitud mental (mental attitude) 37

Ram´ on Hermoso Traba

Autoridad Co

d ida

nf au ianz to a e rid n ad la

r uto

a do

a la

e Mi

proveedor

cliente Confianza en el proveedor

Figura 2.5: Las tres relaciones entre confianza, miedo y autoridad (18) de un agente. Para el grupo T 37 perteneciente al CNR italiano, los modelos sociocognitivos de confianza deben tener las siguientes caracter´ısticas: La confianza es una actitud mental del agente. Solamente un agente cognitivo puede confiar en otro agente. Un agente cognitivo es un agente dotado de objetivos (goals) concretos y de creencias (beliefs) que le permiten razonar. Un agente conf´ıa en otro en relaci´ on a un objetivo o meta (goal ), es decir, para lograr algo que quiere conseguir, algo que desea. La confianza se define como un estado mental (mental state) del agente, una actitud compleja de un agente X hacia otro agente Y acerca del comportamiento sobre la acci´ on A de Y , relevante para que X alcance el objetivo G. Es importante destacar el trabajo de Castelfranchi y Falcone (18), que definen las relaciones de confianza que se pueden dar entre dos individuos. Los autores adoptan la definici´ on de confianza enunciada por Gambetta, que ya hemos detallado anteriormente. Sobre esta definici´ on construyen un modelo cognitivo basado en: i) las creencias que un individuo debe mantener en su estado mental para que pueda creer que cierto agente llevar´ a a cabo una acci´ on; ii) tres posibles relaciones existentes entre los conceptos de confianza, miedo y autoridad (ver Figura 2.5). En la Figura 2.5 llamamos cliente al individuo que estima la confianza sobre cierto agente proveedor que le proporciona cierto servicio, o en el que puede delegar cierta tarea. 7 Trust

Theory Technology Group perteneciente al Istituto di Scienze e Tecnologie della

Cognizione.

38

Cap´ıtulo 2. Estado del arte

Las principales aserciones que consideran fundamentales para que exista una creencia de confianza son las siguientes: El cliente debe albergar la creencia que le lleve a pensar que el proveedor desea llevar a cabo la acci´ on; El cliente debe albergar la creencia que le lleve a pensar que el proveedor es capaz de realizar dicha acci´ on. Pero estas creencias, aun siendo fundamentales, pueden ser influenciadas por otras creencias. En general, podemos distinguir entre dos tipos distintos de creencias: internas (internal beliefs) o propias del estado mental del cliente, y externas (external beliefs), relativas a las condiciones del entorno. Falcone et al. (44) modelan un m´etodo formal que describe el proceso de razonamiento sobre confianza que realiza el agente. Se basan en teor´ıa de l´ogica difusa para construir las creencias sobre la confianza, el deseo del otro individuo de realizar la acci´ on, y la capacidad del mismo. Una de las cr´ıticas que recibe este modelo es que factores como la buena voluntad de otros individuos o su capacidad no son directamente observables y, por lo tanto, es complejo formar creencias concretas sobre los mismos. Como ya hemos comentado, no existe una definici´on est´andar sobre el t´ermino confianza. Por ello, a lo largo de los a˜ nos, se han creado modelos donde la confianza se interpreta de manera diferente. Existen, por ejemplo, modelos tanto cuantitativos como cualitativos para estimar la confianza, lo que nos da una idea del espectro de trabajos que podemos encontrar en la literatura. Un ejemplo de modelo de confianza cualitativo es el de Abdul-Rahman y Hailes (1). Proponen un conjunto de valores de confianza {−1, 0, 1, 2, 3, 4} posibles entre dos entidades. A estos valores les asocian etiquetas de lenguaje natural, que determinan cualitativamente la bondad de la entidad evaluada. De esta forma, el rango de confianza var´ıa de −1 (Distrust) o falta de confianza total, a 4 (Complete) o confianza total, pasando por 0 (Ignorance), etiqueta que representa la imposibilidad de evaluar a la otra entidad. Uno de los problemas que plantea este modelo es precisamente la discreci´on del conjunto de posibles evaluaciones. Existen algunos casos, en los que una evaluaci´on discreta de la confianza resta precisi´ on a las evaluaciones posibles. No obstante, este modo de evaluaci´ on ha sido y es muy usado, especialmente en sistemas en los que 39

Ram´ on Hermoso Traba

los agentes evaluadores se corresponden con seres humanos. Por ejemplo, p´aginas web tales como eBay8 o Amazon9 , los modelos de confianza permiten a los usuarios establecer evaluaciones sobre aquellos individuos con los que han realizado alg´ un tipo de negocio o sobre alg´ un objeto que han adquirido, respectivamente. La explicaci´on de estos modelos estriba en la mayor facilidad del ser humano para evaluar de forma discreta situaciones, en lugar de hacerlo de forma continua. En cambio, cuando lo que tratamos es un entorno artificial (una sociedad artificial por ejemplo, como es nuestro caso), donde los agentes automatizan el proceso de la evaluaci´on de la confianza, otro tipo de modelos son m´ as u ´tiles. La mayor´ıa de los modelos de confianza que se han dise˜ nado hasta la fecha son cuantitativos. Dos de los modelos pioneros son los de Marsh (91) y Zacharia et al. (135). En el primero, el autor intenta crear un modelo que unifique distintas propiedades sociales de la confianza, intentando presentar un enfoque que integre todos esos aspectos de la confianza tomados de campos como la sociolog´ıa o la psicolog´ıa. El problema que presenta es que la gran cantidad de fundamentos sociol´ ogicos empleados hacen del modelo algo complejo de implementar en sociedades artificiales. Uno de los modelos de confianza m´ as representativos es ReGreT (111), (113). En ´el, se incluyen tres dimensiones distintas del concepto de confianza: i) individual, ii) social y iii) ontol´ ogica. La dimensi´ on individual de la confianza se basa solamente en el conocimiento de primera mano que adquiere el agente, a partir de sus interacciones con otros. As´ı, el agente genera unas expectativas para futuros comportamientos del contrario. Estas expectativas pueden ser expl´ıcitas, basadas en los contratos que ambos agentes firman y que definen ciertas condiciones de la interacci´on, o impl´ıcitas, basadas en la perspectiva que el agente que calcula la confianza tiene sobre el mundo. El nivel de confianza individual de un agente sobre otro se calcula como resultado de una funci´ on que mide la diferencia entre la utilidad que el primero consigue si el segundo act´ ua conforme a sus expectativas, y la utilidad generada tras realizarse la interacci´ on. Adem´ as de calcular el valor de confianza, tambi´en se calcula un valor de fiabilidad ´ (o reliability) sobre la misma. Este se calcula como combinaci´on de los siguientes factores: 8 http://www.ebay.com 9 http://www.amazon.com

40

Cap´ıtulo 2. Estado del arte

La variaci´ on del comportamiento del individuo que est´a siendo evaluado a lo largo del tiempo; El n´ umero de ocurrencias sobre el que se ha calculado el valor de confianza. Nos basaremos en este m´etodo para calcular la fiabilidad de la confianza en el modelo que presentamos en el Cap´ıtulo 3. El modelo propuesto por Ramchurn et al. en (102), establece dos factores fundamentales para el c´ alculo de la confianza. Por un lado, existe la informaci´on de primera mano basada en experiencias propias del agente – tambi´en llamada confidence –, y por otro lado existe el concepto de reliability como fiabilidad que el agente tiene sobre ese valor de confidence. Uno de los aspectos m´as interesantes del modelo estriba en que el mecanismo para calcular la confianza se modifica por casos, en funci´on del escenario posible. Existen los siguientes casos en los que la confianza se calcula de forma diferente: Trust ≡ Confidence: cuando la informaci´on que posee un agente sobre otro

es suficientemente fiable para ´el, el valor de confidence estima en s´ı mismo la confianza en el otro individuo;

Trust ≡ Reputation: el caso contrario al anterior. Cuando no existe

informaci´ on en un agente para evaluar a otro (por ejemplo, porque no ha existido ninguna experiencia directa entre ambos), se usa la reputaci´ on, cuya agregaci´on se usa como estimaci´ on de la confianza; Trust ≡ Confidence + Reputation: es el caso intermedio. Cuando la

informaci´ on que tiene un agente sobre otro existe pero es escasa como para tomar la decisi´ on de confiar en ´el cierta tarea, se puede combinar con la informaci´on resultante de aplicar un mecanismo de reputaci´on. La combinaci´on de ambos valores estima la confianza de un agente sobre el otro.

Gran parte de los modelos de confianza existentes en la literatura se basan en teor´ıa de la probabilidad. La gran ventaja radica en que esta u ´ltima proporciona formalismos matem´ aticos para razonar sobre incertidumbre. Los modelos probabil´ısticos de confianza intentan valorar a los agentes para distintas interacciones, y comparten dos aspectos en com´ un: en primer lugar, representan el resultado de una interacci´on con otro agente como un evento dicot´ omico, es decir, el resultado es satisfactorio o no lo es. En segundo lugar, estiman la distribuci´on de probabilidad para esta variable 41

Ram´ on Hermoso Traba

binaria bas´ andose en observaciones tanto directas como indirectas (reputaci´on) sobre el comportamiento pasado del agente que se est´a evaluando. Un ejemplo de este tipo de modelos es el realizado por Wang y Vassileva (130). En este trabajo, el mecanismo de confianza se aplica a un entorno peer-to-peer en el dominio de compartici´ on de ficheros. La confianza para un proveedor espec´ıfico se calcula siguiendo varios atributos de calidad, tales como el tipo de fichero que se ha pedido, la velocidad de la descarga o la calidad del fichero. El mecanismo usa una red bayesiana, en la que la probabilidad de que se pueda confiar en un proveedor – modelado como una variable binaria – es dependiente de los atributos comentados anteriormente. Jøsang e Ismail (74) proponen en el Beta Reputation System que la confianza se modela como una distribuci´ on de probabilidad para eventos binarios (una distribuci´on de Bernoulli). Los modelos estad´ısticos, como ´este u ´ltimo, se caracterizan por una serie de par´ ametros que determinan su forma. Por simplicidad, los autores representan esta distribuci´ on como una distribuci´on Beta. Esta distribuci´on representa la incertidumbre en la evidencia sobre la probabilidad de que el agente que es evaluado coopere. El modelo TRAVOS (124) trata el problema de construir la confianza en organizaciones virtuales de agentes (OVs). Tambi´en en este caso la confianza se forma usando teor´ıa probabil´ıstica, teniendo en cuenta las experiencias en las interacciones pasadas entre los agentes y, cuando esta no es suficiente, recurriendo a la opini´on de terceros. Tambi´en adoptan el concepto de confidence como estimaci´on local que hace el agente a partir de sus experiencias previas. Para modelar la tendencia de un agente en cuanto a su comportamiento adoptan un modelo bayesiano para calcular el valor esperado dadas una serie de experiencias propias. Para determinar este valor esperado utilizan distribuciones de probabilidad Beta sobre una variable aleatoria Batr ,ate ∈ [0, 1]. As´ı, calcular la esperanza de dicha distribuci´on proporciona un valor

que estima el comportamiento del individuo. En la Figura 2.6 podemos observar curvas que modelan funciones de distribuci´ on Beta, donde el eje de las abcisas representa los posibles valores que puede tomar Batr ,ate y el de las ordenadas representa la probabilidad sobre la evidencia de cada uno de esos valores que puede tomar Batr ,ate . Este enfoque permite realizar c´ alculos u ´tiles, puesto que si integramos la funci´on de densidad de la probabilidad se pueden obtener valores esperados para intervalos de Batr ,ate . 42

Cap´ıtulo 2. Estado del arte Auton Agent Multi-Agent Sys (2006) 12: 183–198

187

Fig. 1 Example beta plots, showing how the beta curve shape changes with the parameters α and β

In the extreme case of α =2.6: β =Ejemplo 1, the distribution is uniform, with all values of Batr ,ate Figura de distribuciones Beta considered equally likely. α−1

β−1

(B ) (1−Batr ,ate ) , where α, β > 0 (Batr ,ate |α, β) = a!tr 1,ate α−1 (4) β−1 dU en en distribuciones Beta para estimar el Otro f enfoque que se0 Ubasan (1−U )tambi´

comportamiento de background, las fuentes n calculate es (95).the value of τatr ,ate based on the Against this wede nowreputaci´ show howoto

interaction outcomes observed by atr . First, we must find values for α and β that represent

Algunos modelos utilizan la teor´ ıa prior de Dempster-Shafer (117) para with manejar la the beliefs of atr about ate . Assuming that, to observing any interaction outcomes

ate , atr believes allıapossible for Bmecanismo atr ’s initial settings ate are equally likely, incertidumbre. Esta that teor´ proveevalues de un para then formar grados de creencia for α and β are α = β = 1. Based on standard techniques, the parameter settings in light of

sobre conjuntos hip´ otesis, a partir de oflasuccessful evidencia disponible. Por ejemplo, observations de are achieved by adding the number outcomes to the initial setting of α, and the number of unsuccessful outcomes to β. In our notation, this is given in Equa-

imaginemos unforconjuntos de hip´ tesis contradictorias {A, tion 5. que Then tenemos the final value τa ,a is calculated byoapplying the standard equation for B}, the de las tr

te

of aser betaverdadera. distribution (see these parameter settings. cu´ ales s´ oexpected lo una value puede LaEquation teor´ıa 6)deto Dempster-Shafer divide la creencia 10 total en αcada uno de1 los del conjunto de las hip´otesis = m a1:t + andconjuntos β = n a1:ttr ,atedel + 1power where tset is the time of assessment (5) (en el tr ,ate

α B}). La creencia en el conjunto {A} representa la evidencia ejemplo ∅, {A}, {B} y {A, E[Batr ,ate |α, β] =

(6)

α+β

que apoya a A como la hip´ otesis verdadera. Lo mismo se aplica a {B}. La creencia On its own, τatrB} not differentiate between cases which a truster has adequate ,ate does en el conjunto {A, es aquella que no puede serin dividida entre A y B.infor-

mation about a trustee and cases in which it does not. Intuitively, observing many outcomes of

given of event de is likely to lead tom´ a more accurate estimate of such an Uno ade lostype modelos confianza as conocidos que aplica laevent’s teor´ıaoutcome. de DempsterThis creates the need for an agent to be able to measure its confidence in its value of trust,

Shafer esforelwhich de Yu y Singh (133). metric, En ´el,γalos autores definen un conjunto de hip´otesis we define a confidence tr ,ate , as the posterior probability that the actual value of B lies within an acceptable margin of error a ,a binario, a saber: trsetepuede confiar en un agente o no.% about τatr ,ate . This is calculated using Equation 7, which can intuitively be interpreted as the proportion of the probability

lieslabetween (τatr ,ate −%) and (τ +%).seThe erroren % influences Otradistribution aplicaci´ othat n de teor´ıathe debounds Dempster-Shafer esatrla,ateque hace (74)(73), donde the confidence value an agent calculates for a given set of observations. That is, for a given

se usa una oobservations, gica, llamada subject para razonar sobre probabilidades set ofl´ a larger value oflogic % causes a larger proportion of the beta distribution toinciertas. fall in the range [τ − %, τ + %], so resulting in a large value for ,ate ,ateteor´ Esta l´ ogica se basa enatrparte enatrla ıa de Dempster-Shafer. γatr ,ate . γatr ,ate =

! τatr ,ate +%

α−1 (1 − X )β−1 dX τatr ,ate −% X !1 α−1 (1 − U )β−1 dU 0 U

(7)

Aprendizaje a partir de opiniones de terceros (Reputaci´ on) El recolectar y agregar al propio conocimiento opiniones de terceros es un acto que se produce fundamentalmente cuando existe poca evidencia local sobre un cierto 10 El

power set P(S) de un conjunto S se define como el conjunto de todos los subconjuntos que

lo forman, incluyendo el conjunto vac´ıo.

43

Ram´ on Hermoso Traba

fen´ omeno. En el caso de los modelos de confianza se recurre a la reputaci´on cuando no existe, o existe una baja evidencia sobre una expectativa con respecto a una situaci´on determinada. En (105) se define claramente que la reputaci´on es ”importante para fomentar la confianza entre extra˜ nos”. Dicho trabajo resalta las bondades del uso de la reputaci´on, especialmente en entornos online y en situaciones concretas, como por ejemplo, c´omo hallar la reputaci´ on que tiene un agente reci´en llegado al sistema. En ReGreT (111), (113) para tratar este escenario se usa la llamada dimensi´ on social de la confianza. Existen tres tipos de fuentes de informaci´on en esta dimensi´on: i) reputaci´ on basada en testigos (witness reputation), ii) reputaci´on basada en vecinos (neighbourhood reputation), y reputaci´ on del sistema (system reputation). La witness reputation se contruye en base a las opiniones de terceras partes acerca de un individuo en concreto. La influencia de cada testigo depende de la confianza que el evaluador tiene sobre cada fuente de informaci´on. La neighbourhood reputation asume que el agente evaluador mantiene un sociograma – o mapa que caracteriza una red social. Para calcular esta reputaci´on ReGreT aplica un conjunto de reglas de l´ ogica difusa, donde el antecedente de cada regla es una condici´ on de las relaciones que conectan al agente que se est´a evaluando con otros agentes. La system reputation se calcula tambi´en en base a reglas de l´ogica difusa. En este caso, las reglas se definen en base al rol que el agente que se est´a evaluando desempe˜ na dentro de una estructura institucional. Uno de los problemas que presenta este modelo es que asume que los agentes disponen de cierta informaci´ on, como pueden ser los sociogramas, que son una vista total del entorno en cuanto a relaciones entre agentes se refiere. Zacharia et al. (135) proponen un mecanismo de reputaci´on que usaron en el MIT based Kasbah multiagent C2C transaction system. Tras cada transacci´on, ambas partes pod´ıan valorar al contrario acerca de lo bien que se hab´ıa comportado en la operaci´on. Los agentes usaban la valoraci´ on de la reputaci´on para futuras negociaciones. Uno de los principales objetivos de este sistema era el intentar desanimar a los usuarios de cambiar de identidad f´ acilmente, lo que hac´ıa que el sistema penalizara deliberadamente a los usuarios nuevos que se conectaban (newcomers). Por lo tanto, la principal desventaja de este modelo es la dificultad de distinguir entre ”buenos” y ”malos” newcomers. En este trabajo se introducen dos modelos complementarios de reputaci´ on: HISTOS y SPORAS. SPORAS se utiliza cuando la informaci´on sobre el 44

Cap´ıtulo 2. Estado del arte

agente evaluado es escasa y se basa en que si un agente es bueno proveyendo servicios en general se asume que tambi´en lo es como fuente de informaci´on. HISTOS se usa cuando existe una mayor informaci´ on sobre el resto de agentes, construyendo una red social que pone de manifiesto las relaciones entre los agentes, a partir de las valoraciones bi-direccionales que realizan los agentes tras cada interacci´on. Al final, se obtiene un grafo dirigido, donde los nodos representan los agentes y las aristas representan la confianza entre los mismos. De esta forma exponen la posibilidad de calcular valores de confianza transitivos usando estos grafos. El modelo de Dellarocas (33) intenta prevenir el problema de la discriminaci´on negativa por medio del anonimato controlado (controlled anonymity), por el que la reputaci´ on es gestionada por una entidad centralizada que no revela la identidad de los participantes. La principal idea que subyace en este modelo, es que de esta forma una fuente de reputaci´ on no puede desacreditar a un agente (cuando le preguntan acerca de su opini´ on sobre ´el), porque no sabe qui´en es realmente. Yu y Singh en (134) aplican una versi´ on modificada del Weighted Majority Algorithm (WMA) para ponderar las distintas fuentes de reputaci´on a las que un agente consulta. El algoritmo es iterativo y trata de modificar los pesos sobre cada fuente de reputaci´ on teniendo en cuenta la diferencia entre las opiniones de cada una de ellas y el resultado final obtenido. El modelo FIRE (71) combina distintas fuentes de informaci´on para calcular la confianza: reputaci´ on, reglas basadas en el contexto y credenciales. La principal novedad de este modelo es el uso de ”referencias” (references) – avales de confianza provenientes de otros agentes – para los casos en los que no existe reputaci´on disponible acerca de un agente. El modelo TRAVOS (124) modela la reputaci´on en los agentes por medio, como hace al agregar experiencias propias, de distribuciones de probabilidad Beta. Demuestran que este modelo es considerablemente mejor, en t´erminos de error medio en la estimaci´ on, que el Beta Reputation System (74), especialmente cuando existe un porcentaje de agentes que mienten deliberadamente en sus opiniones. Wang y Singh proponen en (129) un modelo de confianza centrado en c´omo agregar la informaci´ on de diversas fuentes de reputaci´on. Los autores definen la confianza en base a creencias y certeza (beliefs y certainty). Modelan la certeza en t´erminos de evidencia basada en una medida estad´ıstica sobre una distribuci´on de la probabilidad de los resultados positivos obtenidos. Otro modelo interesante es el presentado por Carb´o et al. (16) (17), llamado 45

Ram´ on Hermoso Traba

AFRAS, donde se utiliza una visi´ on m´ as antropomorfa a la hora de estimar la ´ reputaci´ on de otros individuos. Esta se basa en conjuntos borrosos para representar y razonar la subjetividad e incertidumbre en entornos de comercio electr´onico, donde existen diversos tipos de actores: compradores, recomendadores y proveedores. Este modelo contrasta con los mecanismos puramente probabil´ısticos de estimaci´on de la reputaci´ on presentados anteriormente.

2.3.4.

Otro tipo de modelos

Otra alternativa diferente a calcular la confianza en base a la informaci´on obtenida es el llamado mechanism design o dise˜ no de mecanismos (31). Esta t´ecnica se centra en el dise˜ no del sistema de tal forma que lo m´as favorable para los agentes es actuar de manera benevolente los unos con los otros. Existe un modelo (30) que aplica mechanism design para gestionar la confianza, donde una entidad centralizada es quien realiza las asignaciones cliente-proveedor a partir de las preferencias que los agentes env´ıan. Seg´ un sean los resultados de las interacciones, los agentes reciben o deben pagar una cierta cantidad, dependiendo si el resultado ha sido positivo o negativo, respectivamente. Uno de los temas que no se ha tratado mucho en la literatura es la de los incentivos para actuar como fuente de reputaci´ on; es decir, qu´e le hace a un agente colaborar con otro enviando informaci´ on correcta. Es razonable pensar que si un agente comparte informaci´ on sobre el comportamiento de otro, su estima social aumenta, al menos para el agente al que le ha comunicado su opini´on. En cambio, esto no tiene por qu´e ser suficiente para impedir comportamientos no deseados (mentiras y abusos por parte de algunos agentes). Una soluci´ on a este problema se propone en (76), donde los autores introducen la noci´ on de payments o pagos por el intercambio de reputaci´on. Esto proporciona al agente un incentivo para proporcionar sus opiniones a otros. Existe tambi´en un conjunto de trabajos que estudian la confianza en sistemas peer-to-peer. Algunos destacables son (77) y (35), donde los autores establecen la confianza en los distintos peers del sistema usando el algoritmo PageRank y buscan la mayor escalabilidad posible usando an´ alisis estad´ıstico para determinar la confianza de los nodos, respectivamente. Otro trabajo interesante es el de Fullam y Barber (51) donde, en lugar de presentar otro modelo de confianza, estudian el equilibrio que debe haber entre las distintas fuentes de informaci´ on a la hora de calcular la confianza. M´as concretamente, estudian 46

Cap´ıtulo 2. Estado del arte

c´ omo la precisi´ on de los modelos basados en la experiencia local del agente y aquellos basados en reputaci´ on son influenciados por algunos par´ametros, tales como: la frecuencia de transacciones con un mismo agente, la honradez de los agentes, o la precisi´ on de las reputaciones proporcionadas. Presentan, asimismo, una t´ecnica para el aprendizaje din´ amico de la mejor fuente de reputaci´on de entre un conjunto de agentes potenciales, a partir de los par´ ametros anteriores. Sus resultados demuestran emp´ıricamente que el comportamiento de este algoritmo es tan bueno como la mejor selecci´ on que har´ıa un agente, bien bas´ andose en su experiencia local, o bien pidiendo reputaci´ on a otros individuos.

2.4.

Aspectos Sociol´ ogicos

En esta secci´ on se repasar´ an algunas de las teor´ıas provenientes del mundo de la Sociolog´ıa y que sirven como fundamento para la tesis que aqu´ı se presenta.

2.4.1.

Teor´ıa de Coleman sobre la relaci´ on de causalidad micro-macro

Los dos posibles niveles de estudio de los sistemas multi-agente son el nivel micro, centrado en los aspectos internos de un agente, y el nivel macro, relativo a la especificaci´ on y din´ amica de las distintas caracter´ısticas de la estructura social del sistema. En esta tesis no estamos interesados en los aspectos te´oricos referentes a la arquitectura interna del agente o a la especificaci´on formal del dise˜ no de las estructuras organizativas. Para las cuestiones a nivel micro existe un amplio conjunto de trabajos, sobre todo aquellos relacionados con el proceso de razonamiento de los agentes, como por ejemplo las teor´ıas sobre BDI, de creencias, deseos e intenciones (103), mientras que trabajos sobre la automatizaci´ on de procesos de negociaci´on (7)(82), coordinaci´ on (72)(120), lenguajes de comunicaci´on (84)(116), modelos organizativos (36)(70), instituciones electr´ onicas (40), etc. corresponder´ıan al nivel macro. En este trabajo estamos interesados en estudiar tanto el nivel micro, como el nivel macro en entornos organizativos. M´ as concretamente, nos centraremos en el estudio de la complementariedad de ambos niveles, por medio de dos tipos de mecanismos que permitir´ an, tanto a los participantes como al sistema, obtener un mejor rendimiento. Teor´ıas sociol´ ogicas como la que plantea Coleman (25), proponen una descripci´on causal para relacionar los niveles micro y macro. La Figura 2.7 describe el diagrama 47

Ram´ on Hermoso Traba

Nivel macro (sistema de acciones)

4

1

3

2

Nivel micro (actores y recursos)

Figura 2.7: Diagrama causal de Coleman de la relaci´on de niveles micro y macro en un sistema que pone en com´ un ambos niveles seg´ un su teor´ıa. Coleman propone una teor´ıa causal entre el nivel micro y el nivel macro, donde existen tres tipos de componentes: La causalidad social macro-micro; La emergencia micro-macro; La dial´ectica entre la emergencia social y la causalidad social. Si observamos la figura, cada uno de estos tres elementos se corresponde a flechas en el diagrama. En este diagrama con forma de barca, la parte superior (flecha 4) indica una causalidad social a nivel macro entre dos estados diferentes. Coleman, propone que cualquier transici´ on de estado a nivel macro se puede explicar con un proceso como el que se reproduce con la parte inferior de la ”barca” (flechas 1, 2 y 3). En este trabajo pretendemos utilizar esta teor´ıa, de tal forma que nos permita dise˜ nar mecanismos que reflejen cambios organizativos en un sistema multi-agente desde ambos niveles, proporcionando ciertas facilidades tanto a nivel macro como a nivel micro, utilizadas por los agentes para mejorar su rendimiento (flecha 1 del diagrama de la Figura 2.7); mientras que tambi´en estudiaremos la transici´on inversa, c´ omo las interacciones que los individuos del sistema llevan a cabo influyen a la hora de a˜ nadir o modificar estructuras a nivel macro (flecha 3 de la Figura 2.7). Si bien esta relaci´ on planteada por Coleman es v´alida y ciertamente observable en t´erminos de sociedades humanas, veremos c´omo nos permite fundamentar los 48

Cap´ıtulo 2. Estado del arte

mecanismos que presentaremos para SMAs dotados de alg´ un tipo de estructura organizativa. Por otro lado, esta relaci´ on micro-macro la trataremos usando el concepto de confianza como punto de uni´ on entre ambos niveles. Queremos, de esta forma, realizar los pasos 1 y 3 del diagrama de Coleman (Figura 2.7) con la confianza como catalizador entre los distintos niveles de coordinaci´ on. Como ya hemos comentado, los mecanismos a nivel macro deben facilitar la coordinaci´ on entre los agentes. Por consiguiente, estos u ´ltimos han de ser capaces de aprovechar las facilidades de estos mecanismos. Los resultados de esta utilizaci´ on junto con la din´ amica propia del sistema – altas y bajas, cambios de estrategia, etc. – pueden hacer que el mecanismo necesite actualizarse de nuevo, form´ andose un ciclo micro-macro que intenta siempre estabilizar el sistema, en t´erminos de rendimiento. Esta es la idea que subyace a partir de la figura de Coleman, y lo que vamos a tratar de abordar en esta tesis.

2.4.2.

Teor´ıa de Birk sobre colaboraci´ on

Birk expone en (12) que cualquier sociedad tiende a experimentar un ciclo en cuanto a la colaboraci´ on entre entidades participantes y el aprovechamiento individual. Para ello, describe el ejemplo del pago de impuestos en las sociedades humanas. Dada una sociedad cualquiera en la que todos los participantes pagasen estrictamente sus impuestos, el hecho de que uno de sus integrantes dejase de pagarlos no afectar´ıa apenas negativamente al bienestar social. En cambio, si hay un alto porcentaje de individuos que hacen lo mismo, el bienestar social se ver´a disminuido en gran medida, con lo que el bienestar individual de los propios participantes tambi´en decaer´ a notablemente. Una vez la sociedad se da cuenta de que la colaboraci´on es m´ as efectiva se invierte el ciclo, es decir, los individuos comienzan de nuevo a pagar sus impuestos para aumentar el bienestar social y, por lo tanto, el suyo propio. De esta forma, se llega de nuevo a la situaci´ on inicial. Este ciclo se repite hasta que el comportamiento de los individuos se estabiliza. En el caso de nuestro mecanismo, la informaci´on que aporta cada agente reporta en su propio beneficio de la misma manera que propone Birk en su ejemplo. A corto plazo, un agente podr´ıa evitar desvelar su informaci´on privada acerca de la confianza que estima en el resto; en cambio, a largo plazo si todos los agentes hacen esto la informaci´ on dejar´ıa de ser efectiva y tambi´en el mecanismo. La Figura 2.8 muestra el ciclo que propone Birk. 49

Ram´ on Hermoso Traba

Aprenden ( beneficio global)

Mayoría corrupta

Mayoría cooperativa

Explotan ( beneficio individual) Figura 2.8: Ciclo de Confianza de Birk

2.5.

Conclusiones

En este cap´ıtulo se han visto algunos aspectos fundamentales que forman la base de la presente tesis. En primer lugar, se ha repasado la importancia que han cobrado los modelos organizativos en los u ´ltimos a˜ nos en el dise˜ no de los SMAs. Hemos visto algunos de los modelos m´ as importantes que se han realizado hasta la fecha y, dentro de los mismos, nos hemos enfocado en el papel que tiene el concepto de rol en los mismos, puesto que esta abstracci´ on la usamos como punto de partida del trabajo que presentamos a continuaci´ on. Podemos destacar el rol, como concepto com´ un de todos los modelos, necesario para agilizar y hacer m´ as eficiente la din´amica de un SMA, no s´ olo desde el punto de vista del dise˜ no, durante su construcci´on, sino tambi´en desde el punto de vista de control. Si bien el car´ acter prescriptivo de las estructuras organizativas es necesario en muchos casos, existen otros en los que las estructuras en s´ı mismas pueden ser fuente de informaci´ on. Por ello, hemos repasado tambi´en el concepto de mecanismo organizativo (21). En especial, los mecanismos informativos nos servir´an para dotar a los agentes de cierta informaci´ on extra que les facilitar´ a tomar mejores decisiones en el futuro. Por otro lado, hemos repasado qu´e son y para qu´e se usan los modelos de confianza desde un punto de vista computacional. As´ı, hemos desglosado la confianza como un concepto factorizado, al menos, en informaci´on local e informaci´on proveniente de terceros. Hemos repasado algunos de los trabajos m´as importantes que se ha realizado sobre el tema hasta la fecha. Uno de los defectos encontrados en los modelos examinados est´ a en que se consideran u ´nicamente dos fuentes de informaci´on para calcular la confianza. Por un lado, est´ a la experiencia directa del agente y, por el otro, la reputaci´ on como agregaci´ on de opiniones de terceros. Desde nuestro punto 50

Cap´ıtulo 2. Estado del arte

de vista, las estructuras organizativas, en particular nuestro concepto de rol, pueden ser utilizadas, como veremos, no s´ olo como concepto prescriptivo, que ”manipula” de forma directa las interacciones entre los agentes, sino que puede proporcionar cierta informaci´ on a los mismos a la hora de razonar sobre si debe interactuar con cierto individuo o no. A˜ nadimos as´ı una nueva fuente de informaci´on sobre las dos cl´ asicas que hemos examinado. Los mecanismos organizativos nos proporcionan el marco propicio para generar esta informaci´ on y ponerla de esta forma a disposici´on de los agentes en el sistema.

51

Ram´ on Hermoso Traba

52

Cap´ıtulo 3

Modelo de confianza para agentes basado en estructuras organizativas All you need in this life is ignorance and confidence; then success is sure. Letter to Mrs. Foote, 1887 Mark Twain

3.1.

Introducci´ on

Como ya hemos repasado en el Cap´ıtulo 2, la mayor´ıa de los trabajos desarrollados hasta ahora sobre confianza se centran en el uso de la informaci´on local de un agentes y en el c´ alculo y la difusi´ on de la reputaci´ on (55) (122) (71) (112) (133), entendida ´esta como una agregaci´ on de las opiniones de un conjunto de agentes sobre un tercero. En este cap´ıtulo, propondremos c´ omo hacer uso de las estructuras organizativas disponibles presentes en muchos SMAs que, combinadas con la experiencia personal del agente, fomentar´ an la inferencia de expectativas sobre otros en lugar de usar mecanismos de reputaci´ on. Nuestro objetivo ser´ a el de dise˜ nar un modelo de confianza que haga uso 53

Ram´ on Hermoso Traba

de las estructuras organizativas como fuente de informaci´on para inferir alg´ un tipo de expectativa sobre el comportamiento futuro en una hipot´etica pr´oxima interacci´ on con otro agente, en el marco de un contexto organizativo. Este modelo mantendr´ a expectativas para el resto de participantes en el sistema, de tal forma que los valores de confianza calculados le servir´an al agente para incorporarlos en su proceso de toma de decisi´ on. En particular, estamos interesados en el uso de la confianza por parte del agente como medio para la selecci´on de compa˜ neros de interacci´ on, ante tareas que ´el solo no puede llevar a cabo.

3.1.1.

SMAs orientados a tareas

Sem´ anticamente un SMA orientado a tareas es un SMA en el que los agentes deben realizar un conjunto de tareas que le son asignadas. De entre este conjunto de tareas existir´ an algunas para las cuales ´este considera que es mejor delegarlas a otros agentes. El resultado de estas interacciones, en t´erminos de utilidad, depender´a exclusivamente de la elecci´ on que el agente lleva a cabo del individuo al que realizar la delegaci´on. Un sistema multiagente orientado a tareas (a partir de ahora T-MAS1 ) se define como sigue2 : Definici´ on 3.1. Un T-MAS se define como una tupla T M = hAg, T , U, EOi, donde: Ag es el conjunto de agentes participantes en el sistema; T es el conjunto de tareas que pueden ser realizadas en el sistema; U es una funci´ on que mide la utilidad global del sistema en cada instante k. La

funci´ on U se define como sigue:

U(k) =

P

ai ∈Ag

Uai (k) |Ag|

siendo el promedio de las utilidades de los agentes que participan en el T-MAS en el instante k. Uai (k) denota la utilidad del agente ai en el instante k. Se define matem´ aticamente en la Secci´ on 3.1.2. EO ⊆ EO es la estructura organizativa de la que dispone el T-MAS. 1 del

ingl´ es Task-oriented Multi-Agent System definici´ on de T-MAS se fundamenta, aunque con ciertos cambios, en la propuesta por

2 Esta

Zlotkin y Rosenschein en (137).

54

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

El funcionamiento del sistema se detalla a continuaci´on: 1. En cada instante k cada agente ai ∈ Ag debe realizar un conjunto de tareas Tk,ai ⊆ T .

2. Cada agente ai puede, o bien realizar la tarea por s´ı mismo, si cree que es el m´ as indicado para ello, o bien asignar o delegar la tarea a otro agente aj ∈ Ag. 3. En funci´ on de la tarea t ∈ Tk,ai y del agente aj seleccionado para realizar finalmente la tarea, ai recibe una cierta utilidad uai (t, aj ).

No se considera en este trabajo limitaci´ on alguna en los recursos de los que los agentes disponen para realizar tareas; la capacidad de un agente para llevar a cabo una tarea depende del propio agente y de la tarea en cuesti´on. No se tiene en cuenta aspectos tales como la cantidad y/o el tipo de tareas que un agente podr´ıa realizar de manera simult´ anea. Se considera, adem´ as, que todas las tareas se completan en un plazo fijo de tiempo.

3.1.2.

Agentes orientados a tareas

Una vez que hemos definido un T-MAS, pasamos a detallar en qu´e consisten los participantes que en ´el se encuentran. Sea T M = hAg, T , U, EOi un T-MAS. Sea

Ξ = {T → Ag} el conjunto de posibles pol´ıticas de delegaci´on de tareas que pueden seguir los agentes en T M .

Definici´ on 3.2. Un agente orientado a tareas (tambi´en llamado t-agent) consiste en una tupla hξ0 , u, f i, donde ξ0 ∈ Ξ es la pol´ıtica inicial que tiene el agente para delegar tareas. u : T × Ag → R es una funci´ on que representa la utilidad que el agente percibe

tras delegar una tarea t ∈ T a cierto agente aj ∈ Ag. La expresi´on ueai (t, aj ) denota la utilidad esperada para la delegaci´on de la tarea t al agente aj .

La funci´ on u es estoc´ astica, por lo tanto podr´ıa entenderse como una funci´on no determinista. Asimismo, consideramos la funci´on como estacionaria. f : Ξ × T × R × Ag × EO → Ξ es la funci´on que representa la evoluci´on de la

pol´ıtica de asignaci´ on de tareas. El agente ai , tras delegar una tarea t ∈ T al

agente aj , y percibir la utilidad u(t, aj ), y en base a las estructuras organizativas 55

Ram´ on Hermoso Traba

(EO) de T M y de la pol´ıtica actual ξ ∈ Ξ, actualiza su pol´ıtica de la siguiente forma:

ξ 0 ← f (ξ, t, u(t, aj ), aj , EO) Definimos Uai como la utilidad del agente ai en el instante k. Sea Tk,ai ⊆ T el

conjunto de tareas que debe realizar el agente ai en el instante k y ξ la pol´ıtica actual

del agente ai . Uai (k) se define como el promedio de las utilidades percibidas al asignar las tareas en Tk,ai de la siguiente forma:

Uai (k) =

X u(t, ξ(t)) |Tk,ai | t∈T

(3.1)

k,ai

En el caso de los entornos no-deterministas estacionarios, el problema del agente consiste en encontrar una pol´ıtica que maximice la utilidad esperada del agente. De esta forma, definimos una pol´ıtica ξ ´ optima de la siguiente forma: Definici´ on 3.3. Una pol´ıtica ξ es ´ optima si se cumple que:

∀ξ 0 ∈ Ξ, ∀t ∈ T 3.1.3.

ue(t, ξ(t)) ≥ ue(t, ξ 0 (t))

Descripci´ on del problema

En este trabajo estamos interesados en sistemas en los que no toda la informaci´on est´ a disponible. Las siguientes caracter´ısticas describen un escenario m´as realista sobre el que trabajamos a lo largo de esta tesis: El valor de la funci´ on de utilidad uai es desconocido para las distintas tareas y los diferentes agentes en el sistema. Es decir, la distribuci´on que modela la utilidad recibida al delegar cierta tarea a un agente determinado no se conoce. El conocimiento del agente va cambiando a lo largo del tiempo, a partir de la experiencia que adquiere a trav´es de las distintas delegaciones de tareas que realiza con el resto de agentes. En cada instante de tiempo, el agente necesitar´a delegar un conjunto arbitrario T 0 ⊂ T de tareas. En nuestro caso, adem´ as, la estructura organizativa estar´a compuesta por una taxonom´ıa de roles y una taxonom´ıa de tareas. 56

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

Definici´ on 3.4. Sea R un conjunto de conceptos que denotan roles y 4R una relaci´ on

de orden parcial en R, reflexiva, transitiva y anti-sim´etrica, se define una taxonom´ıa de roles como una dupla ∆R = (R, 4R ).

Definici´ on 3.5. Sea T el conjunto de tareas que existen en un T-MAS cualquiera, y

sea 4T una relaci´ on de orden parcial en T , reflexiva, transitiva y anti-sim´etrica, se define una taxonom´ıa de tareas como una dupla ∆T = (T , 4T ).

El escenario propuesto para nuestro problema es un T-MAS, en el que existe un conjunto de agentes (t-agents) participando en ´el que desean optimizar la utilidad esperada en cada una de las delegaciones de tareas que llevan a cabo. Por lo tanto, necesitan alcanzar una pol´ıtica ´ optima de delegaci´on de tareas lo antes posible. El objetivo de este cap´ıtulo se centra en el estudio de una soluci´on para alcanzar esta pol´ıtica ´ optima, usando para ello un modelo de confianza que permita al agente estimar la utilidad esperada de las delegaciones de las tareas, bas´andose en la experiencia local del propio agente y de cierta capacidad de inferencia a partir de las taxonom´ıas tanto de roles como de tareas que ofrece el T-MAS.

3.2.

Modelo de Confianza basado en Estructuras Organizativas

Cualquier estructura organizativa con la que se dota a un SMA sirve, desde su dise˜ no, para regular el comportamiento de los participantes en el sistema, con la intenci´ on de conseguir un objetivo fijado. Aunque la extensi´on de estas estructuras, en cuanto a su poder sobre los agentes puede ser amplio, ´estos siempre tienen cierto margen de maniobra a la hora de decidir qu´e hacer. As´ı pues, las abstracciones organizativas tienen por definici´ on una naturaleza presciptiva. En este trabajo pretendemos hacer ver que, aunque tengan car´acter prescriptivo, las estructuras organizativas pueden emplearse por parte de los agentes para inferir conocimiento sobre el entorno, en especial sobre otros agentes, para mejorar localmente en t´erminos de utilidad obtenida a trav´es de las acciones realizadas. En particular, nos centramos en las estructuras que regulan de alg´ un modo las interacciones: los roles. As´ı pues, en esta secci´ on presentamos un modelo de confianza donde se usan los roles como elemento de razonamiento que ayuda a los agentes a evaluar las expectativas en otros para futuras interacciones. 57

Ram´ on Hermoso Traba

3.2.1.

Niveles de Confianza

Cuando analizamos la confianza desde un punto de vista antropol´ogico, observamos que existen tres tipos de confianza: en objetos, en individuos y en grupos. El primer tipo se centra en c´ omo un individuo eval´ ua la confianza en objetos del entorno cuyo uso le puede reportar alg´ un tipo de beneficio en el futuro; el segundo tipo representa la confianza de los individuos sobre otros, es decir, confianza inter-personal; el tercero de los tipos, la confianza sobre grupos, representa distintas agregaciones sobre los valores de confianza en individuos. As´ı pues, podr´ıamos determinar la confianza de un grupo de individuos a partir de la agregaci´on de la confianza que generan individualmente. De esta forma, podr´ıamos hablar de confianza en grupos, en organizaciones, en instituciones, en regiones, etc. En los T-MAS distinguiremos entre dos tipos de confianza: Confianza en agentes Este nivel de confianza describe c´omo los agentes eval´ uan a otros agentes como individuos o partes de un sistema. Es decir, la confianza de un agente en otro representa una expectativa del primero sobre c´ omo el segundo se comporta en general en el sistema. Confianza en situaciones En este caso, podr´ıa ocurrir que al agente le interese distinguir la confianza que debe tener en otro para distintos tipos de situaciones. Por ejemplo, la confianza sobre un individuo para llevar a cabo tareas distintas puede ser muy diferente. Tiene una analog´ıa directa con lo que ocurre en la vida real. Un individuo A podr´ıa tener una confianza alta en otro individuo B en la acci´ on conducir, pero podr´ıa tener un nivel de confianza muy bajo sobre ´el cuando ´este cocina. Este u ´ltimo tipo de confianza es el que manejaremos a lo largo de este cap´ıtulo y que se define en la siguiente secci´ on.

3.2.2.

Modelo b´ asico de confianza para T-MAS

Cuando hablamos de estructuras organizativas nos referimos a elementos que se establecen en tiempo de dise˜ no para guiar el comportamiento de los agentes participantes en un SMA hacia la consecuci´ on de un prop´osito u objetivo. En nuestro caso, se examinar´ an dos de estos elementos, como son los roles y las tareas, en torno a los cuales girar´ a el modelo de confianza que a continuaci´on se presenta.

58

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

Se considerar´ an las siguientes asunciones para delimitar el trabajo: Tanto los roles como las tareas estar´ an estructuradas en forma de taxonom´ıas o jerarqu´ıas de conceptos. Ambas taxonom´ıas, y la informaci´ on que incluyen, deben ser p´ ublicas y directamente accesibles para los agentes. Cuestiones t´ ecnicas del modelo En l´ınea con otros trabajos (71)(102), el modelo de confianza que se presenta se basa en los conceptos de confidence y reliability. Nos referimos a confidence como la confianza basada en experiencias locales que el agente ha experimentado de primera mano, mientras que la reliability o fiabilidad es un valor que representa lo seguro que est´ a el agente sobre su propio valor de confidence sobre una determinada situaci´on. As´ı pues, el modelo de confianza tratar´ a de estimar el comportamiento de otros agentes en potenciales interacciones con el propio agente que usa el modelo. Una situaci´on t´ıpica en un T-MAS es la siguiente: un agente A pretende evaluar la confianza que tiene en otro agente B, jugando este u ´ltimo el rol R en la tarea T . La confianza se denotar´ a como tA→hB,R,T i – del ingl´es trustworthiness –, con tA→hB,R,T i ∈ [0..1].

Dentro de este rango, valores cercanos a 1 representar´an para un agente confianzas m´ as altas que valores cercanos a 0. Definici´ on 3.6. Una situaci´ on sit es una tupla hX, Y, Zi que representa un agente X jugando un rol Y realizando una tarea Z para la cual Y es uno de los roles que permite realizar Z, donde X ∈ Ag y Z ∈ T en un T-MAS. La definici´ on 3.6 representa la tupla at´ omica con la que nuestro modelo de confianza representa y articula la din´ amica de la delegaci´on de tareas en un T-MAS. El valor de confidence, denotado como cA→hB,R,T i , se obtiene de la propia experiencia de A a partir de repetidas interacciones con el agente B jugando este

u ´ltimo el rol R y realizando tareas del tipo T . Estos valores de confidence ser´an almacenados en la memoria del agente en lo que llamamos LIT (Local Interactions Table). Esta tabla contiene una entrada por cada agente que haya realizado una tarea con el agente actual, jugando un rol particular. La notaci´on LITA representa la tabla de interacciones local del agente A. La Tabla 3.1 muestra un ejemplo de este tipo de tablas. 59

Ram´ on Hermoso Traba

hX, Y, Zi

cA→hX,Y,Zi

rA→hX,Y,Zi

ha9 , r2 , i3 i

0.2

0.75

ha2 , r7 , i1 i .. .

0.7 .. .

0.3 .. .

ha9 , r2 , i5 i

0.3

0.5

Tabla 3.1: Ejemplo de una tabla de interacciones local (LITA ) Definici´ on 3.7. Se define una LIT como una tabla de triplas hsit × [0..1] × [0..1]i donde un agente almacena sus experiencias pasadas.

Dependiendo de las restricciones computacionales, esta tabla puede contener o bien todas las entradas pertenecientes a la totalidad de las experiencias pasadas, o bien puede almacenar s´ olo aqu´ellas mas recientes. En nuestro caso, asumimos que la memoria del agente es infinita y que puede almacenar toda su experiencia pasada 3 . Cada entrada en una LIT contiene los siguientes elementos: Un identificador hX, Y, Zi de situaci´ on; Un valor de confianza – confidence – cA→hX,Y,Zi ; Un valor de fiabilidad de la confianza – o reliability – denotado por rA→hX,Y,Zi . El agente obtendr´ a el valor de confidence usando una funci´on que eval´ ue las experiencias pasadas en una misma situaci´ on hX, Y, Zi. Cada experiencia que un

agente tiene con respecto a una situaci´ on determinada (hX, Y, Zi) har´a que su valor de confidence cA→hX,Y,Zi se actualice. En este sentido, suponemos que cada agente

posee una funci´ on de evaluaci´ on a partir de la cu´al eval´ ua su utilidad al delegar una tarea a cierto agente. Definici´ on 3.8. Sea g : Ag × R × T → R ∈ [0..1] una funci´ on que eval´ ua la utilidad

para el agente a que se produce cuando un agente en Ag realiza (por petici´ on de a) una particular tarea en T jugando cierto rol en R.

Esta funci´ on g es una particularizaci´ on simplista de la funci´on de utilidad uai del agente. Para este trabajo, consideramos uai (t, aj ) = gai (aj , r, t), siendo r el rol empleado por aj para realizar t. 3 Se

ha realizado un estudio sobre el efecto de la memoria en este modelo de confianza en (67)

60

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

Sea Z 0 una nueva instancia de la tarea del tipo Z, en la que el agente a ha participado requiri´endole alg´ un tipo de servicio al agente X, jugando este u ´ltimo el rol Y en dicha interacci´ on, el agente a actualizar´a su confidence ca→hX,Y,Zi de la siguiente forma:

ca→hX,Y,Zi =  · ca→hX,Y,Zi + (1 − ) · ga (X, Y, Z 0 )

(3.2)

donde  es un par´ ametro que especifica la importancia que el agente le da al valor de confidence calculado anteriormente con respecto a la evaluaci´on actual. Es decir, modela la importancia de la nueva informaci´ on sobre la ya existente4 . Es importante resaltar que, aunque la realizaci´on de la situaci´on hX, Y, Z 0 i fuese

exactamente igual por parte de X para dos peticiones de individuos distintos, la

evaluaci´ on de la utilidad que reporta el resultado de la consecuci´on de la tarea es subjetivo, es decir, corresponde u ´nicamente al agente que delega la tarea. El valor de fiabilidad rA→hX,Y,Zi representa la fiabilidad que un agente posee en el valor de confidence cA→hX,Y,Zi . En otras palabras, este valor mide lo seguro que est´ a el agente de su propia estimaci´ on de la confianza. El valor rA→hX,Y,Zi se encuentra en el intervalo [0, 1]. Adem´ as, asumimos que rA→hX,Y,Zi = 0 para toda situaci´ on hX, Y, Zi que no se corresponda con una entrada en la LITA . Puesto que

cada valor de confidence almacenado en la LIT lleva asociado su correspondiente valor de fiabilidad, es necesaria una funci´ on que actualice este valor en el agente. La f´ ormula que usaremos para ello se ha tomado del modelo de confianza ReGreT de Sabater (110), y actualiza la fiabilidad bas´ andose fundamentalmente en dos factores: i) el n´ umero de ocurrencias en que el agente ha reproducido la misma situaci´on, es decir, el n´ umero de veces que el agente ha interaccionado con el otro en la misma situaci´ on, y ii) la variabilidad de los valores de confidence, coleccionados a lo largo del tiempo. Para calcular cada uno de estos factores por separado se han usado las siguientes f´ ormulas, adaptadas de (110), y aplicadas para el agente a evaluando la situaci´on ¯ hX, Y, Zi: ( γint = 4Z0

si

1

sin( π·N 2·θ ) e.o.c.

representa una instancia de la tarea Z

61

N ≥θ

(3.3)

Ram´ on Hermoso Traba

donde N es el total de experiencias acumuladas por el momento para la situaci´on actual (hX, Y, Zi) y θ es un valor umbral para determinar cu´ando el agente acepta un valor de confidence como totalmente fiable. Esta f´ormula expresa la sensibilidad de la fiabilidad del agente ante una situaci´ on a partir de la repetici´on de la tarea contenida en la misma a lo largo del tiempo. Por otro lado, el otro factor que influye en el c´alculo sobre la fiabilidad de una determinada acci´ on es la variabilidad de los resultados que ´esta ha tenido en el tiempo para el propio agente que realiza el c´ alculo. Es decir, c´omo de dispersos son los resultados obtenidos por el agente ante una misma situaci´on. La siguiente f´ormula expresa este factor:

γdev =

1 X i · |ga (X, Y, Z) − cia→hX,Y,Zi | N i

(3.4)

donde gai (X, Y, Z) representa las evaluaciones de utilidad reales obtenidas por el agente a para la ocurrencia i de la situaci´ on hX, Y, Zi y cia→hX,Y,Zi es la estimaci´on

del resultado esperado (en forma de valor de confidence) para dicha ocurrencia. La ecuaci´ on 3.4 parametriza la sensibilidad que tiene el agente hacia la desviaci´on de los

resultados obtenidos en sucesivas repeticiones de la misma interacci´on. Cuanto m´as diversos sean los valores de confidence calculados para cada interacci´on, menor ser´a la fiabilidad de dicho valor. Estos dos factores se combinan para, finalmente, obtener un valor de fiabilidad de la siguiente forma:

ra→hX,Y,Zi = γint · (1 − γdev )

(3.5)

Modelo b´ asico de confianza Como ya hemos apuntado anteriormente, la mayor parte de los modelos existentes en la literatura muestran la agregaci´ on de informaci´on local basada en experiencias pasadas con otros individuos, con mecanismos de reputaci´on cuando los primeros tienen poca evidencia del comportamiento de ´estos. Nuestro trabajo se centra en la exploraci´ on de modelos de confianza que intentan explotar al m´aximo la experiencia local que poseen los agentes, primando ´esta sobre la petici´on de informaci´on a terceras partes. 62

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

De esta forma, podr´ıamos construir un modelo b´asico, en el que el agente estima la confianza en una situaci´ on determinada a partir de las entradas de confidence que tiene en su LIT. Se describe en la Definici´ on 3.9. Definici´ on 3.9. Dada una situaci´ on hX, Y, Zi y un agente A, la confianza que estima

A sobre hX, Y, Zi utilizando el modelo b´ asico se define como: tA→hX,Y,Zi = cA→hX,Y,Zi

Es decir, la confianza se estima por el valor de confidence que existe para esa situaci´ on en la LIT del agente. Cuando el agente no tiene una entrada en su LIT igual a la situaci´ on que busca, ser´ a necesario realizar exploraci´on aleatoria del sistema.

3.2.3.

Inferencia de la confianza a partir de similitudes en estructuras organizativas

Aunque hemos terminado la secci´ on anterior hablando de un modelo b´asico de confianza basado en experiencia local, este cap´ıtulo pretende buscar una alternativa – que no deja de ser complementaria a los actuales modelos –, tanto a la ignorancia en el modelo b´ asico de tratar con situaciones que el agente no conoce, como al uso de la reputaci´ on, a partir de la explotaci´ on de la informaci´on local que el agente acumula a lo largo del tiempo m´ as ciertas facilidades que la estructura organizativa puede proveer. Por ejemplo, en los mecanismos de reputaci´on, la opini´on que transmite un agente cuando es preguntado puede no ser fiable, como ya comentamos en la Secci´on 2.3.2 del Cap´ıtulo 2. Adem´ as, este intercambio de informaci´on supone un coste computacional tanto para el agente que pide la reputaci´on como para aquellos que son preguntados. Otro de los problemas que acarrea la reputaci´on es la dificultad existente en la agregaci´ on de las opiniones vertidas por los agentes consultados. Esta agregaci´ on podr´ıa tener diferentes implementaciones: podr´ıa estar ponderada en base a la confianza que el agente tiene en las distintas fuentes de informaci´on, o podr´ıa ser uniforme para todas ellas; En esta secci´ on se propone, pues, un m´etodo local para construir la estimaci´on de la confianza bas´ andonos u ´nicamente en experiencia local del agente. En general, los modelos de confianza se centran en escenarios donde existe cierta incertidumbre ante potenciales interacciones con otros participantes. En particular, nos centraremos en 63

Ram´ on Hermoso Traba

Tabla 3.2: Tabla de interacciones locales del agente (LITA ) para el Ejemplo 1 hX, Y, Zi

cA→hX,Y,Zi

rA→hX,Y,Zi

hB, Cocinero, Cocinar Tarta de Quesoi

0.9

0.75

hC, Conductor de autobuses, Conducir Autobusi

0.9

0.75

···

···

···

lo que sucede cuando los agentes no tienen informaci´on previa – o la que tienen no es suficiente – sobre situaciones concretas. Partiremos de la siguiente hip´otesis: Los agentes se comportan de manera similar desempe˜ nando roles similares en tareas similares. Esta hip´ otesis se extrae del mundo real, donde las capacidades de los agentes para realizar acciones est´ an relacionadas en cierta manera. Los siguientes ejemplos ilustran esta hip´ otesis: Ejemplo 1. Sup´ ongase el agente A quiere delegar una serie de tareas a otros individuos. Por otro lado, los agentes B y C juegan los roles de Cocinero y Conductor de autobuses. La informaci´ on que tiene el agente A en su LIT se muestra en la Tabla 3.2. Si la siguiente tarea que pretende delegar A es ”cocinar una tarta de manzana”, consultar´ a su LIT y constatar´ a que no tiene ninguna entrada correspondiente a la situaci´ on hXi , Ri , Cocinar T arta de M anzanai, donde Xi y Ri son cualquier agente y

cualquier rol en el sistema. Siguiendo la hip´ otesis que hemos planteado anteriormente, el agente delegar´ıa la tarea en el agente B, puesto que la tarea Cocinar Tarta de Queso que mantiene en su historial es m´ as similar a Cocinar Tarta de Manzana que la tarea Conducir Autobus. El mismo razonamiento se puede aplicar de forma an´aloga a los roles. Ejemplo 2. Sup´ ongase ahora que A busca un cocinero para la tarea Cocinar Tarta de Manzana, y A no posee ninguna entrada donde ni el rol ni la tarea coincidan con la situaci´ on pretendida. La Tabla 3.3 muestra la informaci´on que posee el agente A en su LIT . Siguiendo de nuevo la hip´ otesis que hemos planteado, A deber´ıa escoger al agente B para interaccionar con ´el, puesto que el rol P astelero es m´as similar al rol Cocinero que el rol Conductor Autobus. Por ello, el agente A estima que B, que es bueno (0.9) como Pastelero en la tarea Cocinar Croissant, tambi´en lo ser´a como cocinero para Cocinar Tarta de Manzana – o, al menos, mejor que el agente C del que s´ olo tiene informaci´ on de su bondad conduciendo autobuses. 64

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

Tabla 3.3: Tabla de interacciones locales del agente (LITA ) para el Ejemplo 2 hX, Y, Zi

cA→hX,Y,Zi

rA→hX,Y,Zi

hB, Pastelero, Cocinar Croissanti

0.9

0.75

hC, Conductor de autobuses, Conducir Autobusi

0.9

0.75

···

···

···

En el mundo real esta hip´ otesis es asumible, puesto que los seres humanos tienden a relacionar de alguna forma las interacciones en las que se ven inmersos. En cambio, para realizar este razonamiento en sociedades computaciones de agentes software, tanto los roles como las tareas o servicios que los agentes proporcionan deben estar expl´ıcitamente relacionadas en forma de taxonom´ıas o jerarqu´ıas de conceptos. En este trabajo asumimos que estas taxonom´ıas son producidas en tiempo de dise˜ no de tal forma que todos lo agentes participantes las conocen y son capaces de usar la informaci´ on que contienen. Tambi´en en cuanto a sem´antica se considera que todos los agentes comparten una misma visi´ on y significado sobre cada concepto y relaci´on en las mismas. En este trabajo se estudia el efecto entre la similitud de las tareas y de los roles en el c´ alculo de la confianza. Cuanto mas similares son dos tareas Z e Z 0 , se supone que m´ as similar ser´ a el comportamiento de los agentes que las proveen, es decir, los valores cA→hX,Y,Zi y cA→hX,Y,Z 0 i , respectivamente. Lo mismo se aplica para los roles, cuanto m´ as similares sean ´estos, m´ as similares ser´ an los valores de confianza calculados sobre ellos. Usando esta asunci´ on, los valores de confidence acumulados para tuplas h agente,

rol, tarea i similares puede proporcionar evidencia para el c´alculo de la confianza en

la situaci´ on hB, R, Ii. Bas´ andonos en esta idea, podemos calcular la confianza – valor

tA→hB,R,Ii – teniendo en cuenta las experiencias pasadas que el agente almacena en su LIT y, a su vez, combin´ andolas con el grado de similitud que existe entre cada una de ellas y la situaci´ on pretendida hB, R, Ii. M´as concretamente, la confianza se

calcula como una media ponderada sobre el conjunto de valores de confidence que el agente ha acumulado en su LIT . La Definici´ on 3.10 muestra este c´alculo.

Definici´ on 3.10. Dada una situaci´ on hB, R, Ii y un agente A, la confianza que estima A sobre hB, R, Ii utilizando el modelo de inferencia se define como: 65

Ram´ on Hermoso Traba

P tA→hB,R,Ii =

hX,Y,Zi∈LITA

cA→hX,Y,Zi · wA→hX,Y,Zi

P

(3.6)

wA→hX,Y,Zi

hX,Y,Zi∈LITA

donde wA→hX,Y,Zi es el peso al valor de confidence del agente A en la situaci´on hX, Y, Zi. Los pesos, a su vez, combinar´ an la fiabilidad de este valor de confidence

con la similitud entre la situaci´ on explorada y aquella que se est´a evaluando. Esta combinaci´ on se realiza como se describe en la ecuaci´on 3.7. wA→hX,Y,Zi = rA→hX,Y,Zi · sim(hX, Y, Zi, hB, R, Ii)

(3.7)

La ecuaci´ on 3.6 no est´ a definida cuando LITA est´a vac´ıa, puesto que los valores rA→hX,Y,Zi son, por defecto, 0. Se trata, pues, de la primera interacci´on del agente en el sistema. Esta primera interacci´ on la consideramos aleatoria. La funci´ on de similitud sim(hX, Y, Zi, hB, R, Ii) se eval´ ua como una suma

ponderada de las similitudes de los elementos individuales de cada situaci´on (hX, Y, Zi) con la situaci´ on de la que se quiere obtener informaci´on hB, R, Ii.

Aunque la similitud entre los agentes podr´ıa ser interesante en el c´alculo de la

similitud total en entornos donde, por ejemplo, ´estos se encuentran relacionados mediante estructuras sociales entre ellos, en nuestro caso no la usamos, puesto que consideramos que los individuos son independientes. La siguiente ecuaci´ on define la funci´ on de similitud: 8 < β · sim (Y, R) + γ · sim (Z, I) R T sim(hX, Y, Zi, hB, R, Ii) = : 0

si B = X

(3.8)

e.o.c.

donde simR (R, Y ), simT (I, Z) ∈ [0..1] miden la similitud entre los roles y las tareas,

respectivamente, y β y γ, con β +γ = 1, son par´ametros que especifican la sensibilidad de cada una de estas similitudes de manera individual. Como ya hemos dicho, este modelo asume que el T-MAS incluye taxonom´ıas de roles y de tareas, a partir de las cuales se pueden calcular las similitudes entre los elementos que las componen. Existen numerosas formas de definir similitudes sobre taxonom´ıas mediante funciones de cercan´ıa, que estiman la similitud entre dos conceptos en base a la distancia que tienen sus posiciones en la taxonom´ıa. Ya que existe una gran cantidad de trabajos que hablan sobre el c´alculo de similitudes en estructuras jer´ arquicas, tales como (56) (87) (49), en la secci´on de experimentos 3.3.2 propondremos dos de ´estas t´ecnicas y evaluaremos su comportamiento. 66

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

La idea principal del modelo se basa en el uso de la ecuaci´on 3.6 como m´etodo alternativo para calcular la confianza. Adem´ as, ser´a de especial inter´es ver su uso en casos en los que un agente no tiene experiencia ”fiable” – o, simplemente no la tiene – sobre una situaci´ on concreta hagente, rol, interaccioni. La ventaja principal del modelo subyace en que se puede estimar la confianza sin necesidad

de recurrir obligatoriamente a opiniones de terceros. En determinados dominios, la informaci´ on del agente, aunque sea aproximada, puede ser m´as fiable que la que viene proporcionada por otros desde fuera. Por ello, el modelo trata de inferir expectativas sobre situaciones que no ha vivido en primera persona, a partir de experiencias similares. Este enfoque hace al agente menos dependiente del resto. En cualquier caso, este modelo no se presenta como una alternativa al uso de la reputaci´on, sino que se presenta como un complemento. El uso de reputaci´on como mecanismo para obtener informaci´ on acerca de situaciones de incertidumbre sigue siendo b´asico en muchos casos y podr´ıa ser usado junto con el modelo que hemos presentado, tal y como se especificaba en el apartado 3.2.2.

3.2.4.

Proceso de toma de decisiones del agente

Uno de los problemas que se presenta al intentar experimentar con mecanismos de confianza es el establecer qu´e significa bueno en t´erminos de utilidad que el agente obtiene. An´ alogamente, como sucede en el ser humano, este concepto se obtiene por comparaci´ on de valores. As´ı pues, se establece una relaci´on de relatividad entre distintos resultados. Por ejemplo, como ya hemos se˜ nalado, un agente prefiere una utilidad en un agente de 0.9 frente a una de 0.5 en un intervalo entre 0 y 1. Un agente racional, al decidir por comparaci´on de expectativa con qui´en interactuar, debe buscar aquel agente cuya utilidad para una determinada situaci´on sea la m´ as alta posible de entre todos los participantes. ¿C´omo sabe el agente que ha llegado al m´ aximo de utilidad que puede conseguir en el sistema? En realidad, en entornos din´ amicos o suficientemente grandes (en sistemas peque˜ nos o cerrados esto no ocurre), dado el conocimiento parcial del que dispone el agente, ´esto es algo que nunca puede llegar a saber a ciencia cierta, ya que nunca conoce si ha explorado lo suficiente el espacio de los participantes del sistema. Por ello, dotaremos al agente de cierta capacidad para explorar la red de individuos que participan a su alrededor. Cada agente incorporar´a a su algoritmo de decisi´on – basado en la confianza que generan unos en otros – una funci´ on de exploraci´ on. 67

Ram´ on Hermoso Traba

Esta funci´ on tratar´ a de establecer un equilibrio entre exploraci´ on y explotaci´ on de tal forma que el agente explore en cierta medida los participantes, intentando a su vez, aprovechar el conocimiento sobre aquellos que considera ”buenos” para realizar ciertas interacciones. El uso de esta funci´ on de exploraci´ on vendr´a motivado por dos razones fundamentales: 1. Cuando un agente es nuevo en el sistema y no tiene experiencias previas, necesita explorar para encontrar ”buenos” agentes en los que pueda delegar tareas. 2. Incluso cuando el agente ha explorado lo suficiente como para estar satisfecho de la red de confianza que ha establecido a partir de su conocimiento parcial, puede seguir siendo interesante explorar cada cierto tiempo, puesto que: Los agentes pueden haber cambiado su comportamiento a lo largo de su vida en el SMA. Esto se puede deber a, por ejemplo, una sobrecarga de tareas, que hace que la utilidad obtenida al interactuar con ellos fluct´ ue. Tambi´en podr´ıa deberse a un intencionado cambio en sus metas, con la consecuente falta de cooperatividad por su parte. En caso de que se trate de un sistema abierto, nuevos agentes podr´ıan incorporarse al sistema, sin que los individuos ya existentes tengan ning´ un conocimiento sobre ello. En este trabajo, para los experimentos que se presentan a lo largo de esta memoria se ha elegido la funci´ on descrita en la ecuaci´on 3.9. Esta funci´on describe la probabilidad de exploraci´ on en cada instante en el que el agente debe tomar una decisi´ on acerca de a qu´e otro agente delegar una tarea.

P (t) =

1 +ω et

(3.9)

donde t > 0 representa el tiempo transcurrido desde que el agente entra en el sistema y 0≤ω ≤1−

1 et

es la probabilidad m´ınima de exploraci´on para cada instante t.

En la Figura 3.1 (con ω = 0.1) se muestra una funci´on de exploraci´on que hace

especial ´enfasis en la exploraci´ on inicial. Esto se debe a que al inicio, la probabilidad de que el agente no tenga informaci´ on sobre situaci´on alguna dentro del sistema sea bastante alta. Esta probabilidad bajar´ a con el tiempo, a medida que el agente 68

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

0,5
 0,45
 0,4


P(t)


0,35
 0,3
 0,25
 0,2
 0,15
 0,1
 0,05
 0
 1


6


11


16


21


26


31


36


t


Figura 3.1: Ejemplo de funci´ on de exploraci´on con ω = 0.10

vaya registrando sus interacciones en su LIT y vaya as´ı actualizando su modelo de confianza. Por otro lado, el par´ ametro ω establece un l´ımite inferior por el cual se mantiene en todo momento alguna probabilidad de exploraci´on, para tener as´ı en cuenta los posibles cambios en el conjunto de participantes que explicamos anteriormente. Como ya hemos apuntado en diversas ocasiones a lo largo de este cap´ıtulo, el agente basar´ a sus decisiones sobre la selecci´ on de a qu´e otro individuo delegar una determinada tarea en la confianza que deposita en los mismos. No obstante, la necesidad que tiene de explorar continuamente – aunque la exploraci´on sea gradual – hace que en algunas ocasiones, aquellas que le indica su funci´on P (t), explore aleatoriamente de entre el conjunto de agentes que forman el SMA y que, a su vez, pueden realizar la tarea, es decir, juegan el rol adecuado para ello. El Algoritmo 1 resume el proceso de toma de decisi´ on del agente. En dicho algoritmo, la funci´ on getAgentsF orRole : Ag × R → Ag devuelve el

conjunto de agentes, de entre todos los participantes en el sistema, tales que juegan el rol R en el mismo. La funci´ on randomChoice : P(Ag) → Ag devuelve un agente al azar del conjunto de entrada.

Para evitar que la decisi´ on sea completamente aleatoria, de entre los agentes con los que potencialmente el individuo puede interaccionar, ´estos se ponderar´an a partir de la informaci´ on que posea el agente, siguiendo un proceso de selecci´on por ruleta. As´ı, si el agente A debe elegir un compa˜ nero y tiene informaci´on acerca del agente B con un valor de confidence cA→X – donde B participa en la situaci´on X – , y tambi´en sobre el agente C, con un valor de confidence cA→Y – donde C participa en 69

Ram´ on Hermoso Traba

Algoritmo 1 Algoritmo de decisi´ on del agente Require: Sea r ∈ R e t ∈ T un rol y una tarea tal que el agente que usa el modelo busca realizar la situaci´ on h , r, ti.

1: 2: 3:

Ag 0 ← getAgentsF orRole(r); exp ← random(0, 1); if exp < P (t) then

return randomChoice(Ag 0 );

4: 5:

else bestAgent ← evaluateT rust(Ag 0 );

6:

return bestAgent;

7: 8:

end if

la situaci´ on Y –, si cA→X > cA→Y entonces B ser´a ponderado para que tenga mayor probabilidad de ser elegido que C, siguiendo el m´etodo de ruleta (14)5 .

3.3.

Evaluaci´ on

En esta secci´ on pretendemos evaluar el modelo de confianza basado en inferencia presentado en este cap´ıtulo, simulando un T-MAS con la herramienta TOAST. Dividiremos la secci´ on en dos partes distintas. En primer lugar, haremos una breve introducci´ on a la herramienta que hemos desarrollado para ejecutar los experimentos. Despu´es presentaremos los experimentos realizados, as´ı como los resultados obtenidos, y un an´ alisis sobre los mismos.

3.3.1.

Trust Organisational Agent System Testbed (TOAST)

En esta secci´ on se presenta TOAST (Trust Organisational Agent System Testbed ), herramienta desarrollada para validar SMAs con caracter´ısticas organizativas mediante la medida del rendimiento del sistema, desde el punto de vista de la utilidad obtenida. La herramienta, concebida como un banco de pruebas para realizar experimentos, simula un T-MAS donde los agentes han de desarrollar diversas interacciones entre ellos para intentar conseguir sus objetivos, tratando de maximizar su utilidad. Antes de explicar el funcionamiento de la herramienta, 5 Este

m´ etodo de selecci´ on se extrae del que se utiliza como operador de selecci´ on en los algoritmos

gen´ eticos.

70

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

debemos presentar las simplificaciones fundamentales que hemos asumido para centrarnos en los experimentos que quer´ıamos llevar a cabo. Las interacciones que tienen lugar en TOAST representan la realizaci´on de las tareas que los agentes tienen que llevar a cabo con la ayuda de otros agentes del sistema. Cada interacci´ on es iniciada por un agente que solicita la participaci´on de otro. La interacci´ on consistir´ a en la delegaci´ on de una tarea o en su realizaci´on por parte del propio agente. De todas formas, el resultado de la tarea s´olo influye en la utilidad del agente que ha iniciado la interacci´on y s´olo depende de la capacidad del agente seleccionado como participante. Problema de b´ usqueda de acciones TOAST no se centra en probar algoritmos de b´ usqueda de acciones a realizar por el agente en el espacio de acciones que tiene el T-MAS. Es decir, el agente no se plantea en ning´ un momento cu´al es la siguiente tarea que debe realizar. En cambio, nos interesa saber el proceso que lleva a cabo para decidir con qu´e otro agente realiza dicha tarea y los resultados que de ella se derivan. Problema de comunicaci´ on Suponemos que los agentes saben a priori c´omo comunicarse con los otros agentes participantes. Adem´as, si un agente quiere enviar un mensaje a otro, el primero est´ a seguro de la fiabilidad de entrega del mensaje. Cardinalidad de las interacciones

Todas las interacciones son binarias, es decir,

solamente dos agentes participan en cada una de las tareas. Adem´as, no es posible que un agente juegue un rol que no puede desempe˜ nar en el T-MAS. Voluntad de participaci´ on Los agentes siempre est´an dispuestos a aceptar la delegaci´ on de una tarea si otro agente se lo pidiese. No se pueden negar a participar. Una vez que la interacci´ on ha comenzado, ´esta debe terminar. No es tema de esta tesis el estudiar las decisiones de los agentes seleccionados como delegados de una tarea, es decir, si es o no u ´til para ellos el hecho de llevarla a cabo. Simulaci´ on de interacciones

Las interacciones en TOAST son simuladas.

En realidad, los agentes participantes en el T-MAS realmente no eval´ uan el comportamiento de sus compa˜ neros al realizar ´estos una tarea, sino que el resultado de la misma, en forma de utilidad, viene dado por el simulador. Para generar los valores de utilidad tras cada tarea realizada, TOAST utiliza la noci´ on de capacidad. Este valor indicar´ a la bondad del comportamiento del agente X 71

Ram´ on Hermoso Traba

jugando el rol Y para llevar a cabo una tarea del tipo Z. La capacidad se representa como una distribuci´ on normal de probabilidad, con unos valores de media y varianza constantes, asignada a cada tipo de situaci´ on posible hX, Y, Zi. Es decir, se fija una distribuci´ on normal que modela el comportamiento de un agente jugando cada rol del sistema en cualquiera de las tareas posibles. Este comportamiento simula el resultado de solicitar al agente X la tarea Z jugando el rol Y . Evaluaci´ on homog´ enea El procedimiento anterior para generar las utilidades resultado de la ejecuci´ on de una situaci´ on hX, Y, Zi, teniendo en cuenta las capacidades de los agentes, es el mismo para todos los agentes. Es decir, consideramos

que la funci´ on de evaluaci´ on de la utilidad de los agentes es la misma para todos ellos. Configuraci´ on de un T-MAS en TOAST La herramienta permite al usuario crear T-MAS con una cierta estructura organizativa, en este caso, permitiremos tanto taxonom´ıas de roles como de tareas (o interacciones posibles). Los elementos que componen el T-MAS y sus relaciones est´ an definidas en el diagrama de clases de la Figura 3.2.

Taxonomía juega

*

Agente

Rol tiene

persigue

1

1

Capacidad

legitima

1

* *

Tarea

*

Taxonomía de roles

Taxonomía de tareas

*

Meta contiene

Figura 3.2: Diagrama de los elementos del SMA Las distintas entidades se indican a continuaci´on: Agentes

Son entidades que participan en el T-MAS. Pueden jugar diferentes roles,

dependiendo de sus aptitudes. Los agentes tienen una serie de metas u objetivos que deben cumplir dentro del T-MAS. 72

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

Roles

Describen la funcionalidad permitida en el T-MAS. Definen, a su vez, las

posiciones que los agentes pueden tomar en las interacciones, es decir, las posiciones de peticionario o delegado para una tarea determinada. Ser´an especificados mediante una taxonom´ıa de roles.

Interacciones

Son las tareas que el T-MAS permite realizar durante su ejecuci´on.

Son tareas en las que est´ an involucrados dos agentes. Son especificadas a partir de la taxonom´ıa de tareas. Cada tarea perteneciente a la taxonom´ıa tendr´a, a su vez, dos roles, definiendo las posiciones que se pueden jugar en la misma.

Metas

Los agentes se conectan a un T-MAS por alguna raz´on o prop´osito. Para

alcanzarlo, definir´ a un conjunto de metas u objetivos que han de ser completados. En los escenarios que propondremos, las metas se alcanzar´an realizando una determinada tarea – especificada por el T-MAS. La relaci´ on entre metas y tareas estar´a especificada a priori en el sistema. A continuaci´ on, se muestra un fragmento de un ejemplo de una especificaci´ on de esta relaci´ on mediante el uso del lenguaje XML:

. . . 73

Ram´ on Hermoso Traba

En este extracto de fichero de especificaci´on del T-MAS, la etiqueta representa las metas de los agentes en el sistema. La relaci´on contiene entre metas y tareas est´ a representada por la etiqueta , que representa una de las tareas que tiene que realizar el agente para conseguir el objetivo en el que est´a embebida. Dentro de cada tarea, un bloque representado por la etiqueta especifica los roles que participan en la tarea. Una vez descritos los elementos necesarios para la configuraci´on, debemos explicar c´ omo se simula la asignaci´ on de roles y de capacidades a los agentes participantes.

Asignaci´ on Agente/Rol Los roles se asignan de manera aleatoria a los agentes participantes del T-MAS. Un agente puede jugar distintos roles. Para cada rol, se puede seleccionar el porcentaje de dispersi´on de ´este entre los participantes del sistema. Es decir, un valor de por ejemplo un 10 % de dispersi´on para un rol significa que este rol lo juegan un 10 % de los agentes que participan en el experimento. Por defecto, consideramos que este porcentaje ser´ a del 100 % para cada rol.

Valores de capacidad

Como mencionamos anteriormente, para evaluar el

comportamiento de un agente en una situaci´on espec´ıfica hA, R, Ii, el simulador

realiza un experimento aleatorio sobre la distribuci´on de probabilidad normal. Las distribuciones son asignadas a cada posible situaci´on hA, R, Ii al inicio de cada

experimento, seleccionando la media y la desviaci´on t´ıpica de manera aleatoria tal que µ ∈ [0..1] y σ ∈ [0..0.5]. Las capacidades estar´an correladas de acuerdo al tipo de

interacci´ on o tarea, el tipo de rol, y el agente que realiza la acci´on; es decir, para roles

y tareas similares, las distribuciones normales que simulan el comportamiento del agente ser´ an similares tambi´en. El proceso de creaci´on de capacidades de los agentes para cada experimento se muestra con m´ as detalle en la Secci´on 3.3.2.

Din´ amica de TOAST La din´ amica de la herramienta se centra en el estudio de c´omo afecta el modelo de confianza de un agente en la selecci´ on de individuos a los que delegar tareas para, de esta manera, alcanzar sus metas. El flujo que sigue la ejecuci´on es el siguiente: 1. Se genera una meta para cada agente. Cada meta tiene asociada una tarea que el agente debe delegar (si se da el caso) a otro individuo. 74

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

2. Una vez el agente ha identificado la tarea que eventualmente le ayuda a alcanzar su meta, el sistema le proporciona una lista de agentes potenciales – todos aquellos que juegan el rol deseado en la tarea que se busca realizar – para llevar a cabo la tarea. 3. El agente usar´ a su modelo de confianza para seleccionar el agente que considera tiene mayor expectativa de hacerlo mejor, con respecto al rol que jugar´a y la tarea donde lo har´ a. 4. La ejecuci´ on de la tarea es simulada por la herramienta. Este paso consiste en mandar a cada agente los valores de la evaluaci´on de la ejecuci´on de la tarea desde el simulador. Supongamos que el agente A ha seleccionado al agente X con el rol Y para delegar la ejecuci´ on de la tarea Z. La evaluaci´on de la utilidad obtenida uA vendr´ a generada mediante la funci´on gA (X, Y, Z) ∈ [0..1]

(ver Definici´ on 3.8). Este valor ser´ a aleatoriamente generado a partir de la distribuci´ on normal de probabilidad para la situaci´on hX, Y, Zi, usando el m´etodo polar de Knuth (80).

5. Por u ´ltimo, como se ha explicado anteriormente, el agente puede usar este valor para actualizar su modelo de confianza tal y como se describ´ıa en la Secci´on 3.2.2.

Generaci´ on de capacidades Anteriormente dec´ıamos que TOAST representa la capacidad de los agentes involucrados en una situaci´ on como una distribuci´on normal N (µ, σ). Tambi´en hemos dicho que nuestro modelo de confianza se basa en la similitud entre roles y tareas. Recordemos que part´ıamos de la hip´ otesis de que los agentes tienden a comportarse de manera similar en situaciones similares. Para realizar experimentos que prueben si nuestro modelo funciona, se generar´ an las distribuciones de capacidad de los agentes (los valores µ y σ) para cada situaci´ on hA, R, Ii de la siguiente forma: 1. En primer lugar, se genera aleatoriamente una distribuci´on normal de capacidad ”gen´erica” para cada agente mediante la funci´on:

capabilityAgent : Ag → R × R, 75

Ram´ on Hermoso Traba

donde los elementos de salida corresponden a µ y σ, respectivamente. Esta distribuci´ on define el comportamiento general del agente, para cualquier tipo de situaci´ on que realice. 2. Usando la distribuci´ on de la capacidad calculada en el paso 1 y siguiendo la similitud de los roles, expl´ıcitamente marcada en el fichero que especifica la taxonom´ıa de roles – mediante una etiqueta XML –, se generar´a la capacidad para cada agente jugando cada uno de los roles que el agente tiene asignados. As´ı pues, obtendremos una distribuci´on normal que representa el comportamiento del agente jugando cada uno de estos roles. La siguiente funci´on modela este hecho: capabilityAgentRole : Ag × R → R, donde R determina un elemento del conjunto de los roles que el agente puede

jugar y el par´ ametro de salida representa el valor µ de la nueva distribuci´on, mientras que σ permanece constante; el valor µ de esta nueva distribuci´on se genera de manera aleatoria a partir de la distribuci´on generada en el paso 1 para el agente actual. La m´ axima diferencia en t´erminos de similitud que puede existir en el comportamiento de un agente para dos roles diferentes se especifica como un par´ ametro en la taxonom´ıa de roles. 3. Finalmente, se generan las distribuciones de capacidad para las distintas situaciones posibles del sistema a partir de las distribuciones generadas en el paso 2. Se generan usando esta funci´ on: capabilityAgentRoleT ask : Ag × R × T → R donde T representa el conjunto de tareas disponible en la taxonom´ıa de tareas,

y el valor de salida corresponde con un valor µ aleatorio obtenido a partir de la capacidad calculada en el paso 2. El valor σ de la nueva distribuci´on permanece constante, igual al calculado en el paso 2 que, a su vez, era el mismo que en el paso 1; es decir, la desviaci´ on t´ıpica se contempla a nivel de agente. En este proceso de generaci´ on de la distribuci´ on se aplican las mismas restricciones que en el paso 2, pero esta vez teniendo en cuenta la similitud marcada para las tareas en el fichero que contiene la taxonom´ıa de tareas. 76

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

3.3.2.

Experimentos

La evaluaci´ on emp´ırica del modelo propuesto se presenta a continuaci´on. Con los experimentos queremos probar las siguientes asunciones: El uso que hacen los agentes del modelo de confianza que proponemos en este cap´ıtulo debe ser un elemento complementario. Queremos probar si la utilidad obtenida como resultado de la integraci´ on del modelo de confianza en la toma de decisiones de los agentes es mayor que si no us´aramos el modelo. Asimismo, queremos validar el mecanismo en escenarios donde asumiremos un ”mundo cerrado”, es decir, donde no existe entrada/salida de agentes en el sistema. Se puede asumir que el problema de introducir nuevos agentes al sistema se reduce al de iniciar el sistema por primera vez, con agentes cuya vista parcial del sistema es muy reducida, o de manera m´as precisa, no conocen al resto de agentes en el sistema ni sus habilidades. M´ etricas de rendimiento

Se medir´ an distintos factores en cada experimento para

validar el modelo. En nuestros experimentos queremos evaluar la utilidad de las asignaciones que realizan los agentes para las distintas tareas que deben llevar a cabo. Para ello, tomaremos como m´etrica la media de las utilidades obtenidas por los agentes. Esta media de utilidades se defin´ıa al comienzo del cap´ıtulo como la utilidad del sistema U (ver Definici´ on 3.1). Escenario: el entorno universitario Como escenario para validar el modelo se ha escogido el entorno universitario, que modelizaremos como un T-MAS, y cuyos miembros jugar´an los roles que se muestran en la taxonom´ıa descrita en la Figura 3.3. Asimismo, la Figura 3.4 muestra la taxonom´ıa de interacciones o tareas del escenario propuesto. La taxonom´ıa de roles utilizada se define formalmente de la siguiente forma: ∆R = hR, 4R i donde R es el conjunto de todos los conceptos que aparecen en la taxonom´ıa y 4R es una relaci´ on de especializaci´ on/generalizaci´ on. La Figura 3.3 ilustra esta taxonom´ıa. An´ alogamente, la taxonom´ıa de tareas utilizada se define como sigue: ∆T = hT , 4T i 77

Ram´ on Hermoso Traba

UniversityMember

Student

PregraduateStudent

UniversityStaff

Academic Staff

PhDStudent

Professor

Lecturer

LabLecturer

Services Staff

Campus Worker

Assistant

ClassLecturer

SW Worker

HW Worker

Campus Coordinator

Communications Worker

Figura 3.3: Fragmento de la taxonom´ıa de roles utilizada. donde T es el conjunto de todos los conceptos que forman parte de la taxonom´ıa y 4T

es una relaci´ on de especializaci´ on/generalizaci´on entre tareas, tal y como se muestra en la Figura 3.4. En el escenario propuesto, para la realizaci´on de cada tarea, es necesaria la participaci´ on de dos roles. Por lo tanto, cuando un agente necesita hacer una tarea de las propuestas en ∆T , en realidad busca otro agente capaz de hacer la parte de

la tarea que pertenece al otro rol necesario para la consecuci´on de la misma. Por a dos roles asociados de tipo Student. El ejemplo, la tarea Do Assignments tendr´ agente que debe realizar la tarea tomar´ a uno de estos roles (haciendo parte de la tarea), pero tendr´ a que buscar a otro para que realice la otra parte de la tarea. Es decir, deber´ a buscar a otro estudiante (role Student) al que delegar la parte que falta de la tarea.

Configuraci´ on de los experimentos En primer lugar, se explican los modelos de decisi´on que usan los agentes y que nos permitir´ an evaluar cada experimento. A continuaci´on, se muestra la configuraci´on de cada uno de los experimentos que se ha realizado.

Modelos comparados Hemos comparado tres formas distintas de toma de decisi´on de los agentes. Cada modelo define una forma diferente de uso de la informaci´on local 78

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

UniversityAction

StudySubject

Attend Lectures

Do Assignments

PractiseLeisure Activities

Teach

Teach Subject

Supervise PhD

Practise Sports

TrainA Team

Running

Debate

Play Football

Speak

Theater

Act

Discuss

Write

Write Scripts

Figura 3.4: Fragmento de la taxonom´ıa de tareas utilizada. Algoritmo 2 Algoritmo que describe el Modelo Aleatorio de confianza Require: Sea r ∈ R e t ∈ T un rol y una tarea, respectivamente, tal que el agente que usa el modelo busca un individuo para la situaci´on h , r, ti.

1: 2: 3:

Q ← getAgentsF orRole(r);

bestAgent ← getRandom(Q); return bestAgent;

de experiencias anteriores para elegir los mejores individuos a los que delegar cierta tarea, de entre un conjunto de candidatos posibles. Los modelos son los siguientes: Modelo Aleatorio. Este modelo hace que los agentes elijan al individuo al que delegar una tarea de manera aleatoria, de entre los candidatos participantes en el SMA que jueguen el rol deseado. Este modelo se basa en la idea de la exploraci´ on infinita. El Algoritmo 2 describe el funcionamiento de este modelo. Este algoritmo no extiende el Algoritmo 1 puesto que se trata de un caso especial, en el que no se necesita evaluar el conjunto de agentes que juegan el rol requerido, as´ı como tampoco se necesita la exploraci´on, puesto que este m´etodo explora continuamente. En primer lugar, se obtiene el conjunto de agentes capaces de jugar el rol requerido en la situaci´on (h , r, ti) (paso 1); despu´es, se selecciona un agente al azar, mediante la funci´on getRandom : P(Ag) → Ag (paso 2). Por u ´ltimo, el algoritmo devuelve el agente seleccionado.

Modelo B´ asico. En este modelo, los agentes eval´ uan el comportamiento esperado de los potenciales candidatos para una situaci´on determinada usando el 79

Ram´ on Hermoso Traba

valor de confidence correspondiente almacenado en sus LIT . Si la entrada para esa situaci´ on no existe en la LIT del agente, el individuo con el que interactuar, es decir, aquel al que delegar la acci´ on, se escoge aleatoriamente. A partir del Algoritmo 1, describimos la operaci´ on evaluateT rust mediante el Algoritmo 3. En ´este, para cada agente en el conjunto de entrada Q – aquellos que juegan

el rol r – se comprueba si en su LIT existe la situaci´on buscada (paso 4). Si ´esta existe, se almacena el valor de la evaluaci´on de ese agente como el valor de confidence que conten´ıa su LIT, tal y como se especifica en la Definici´on 3.9. Si la entrada no existe en la LIT del agente, la evaluaci´on que se guarda en eval se corresponder´ a con un valor por defecto (paso 8). T´ıpicamente, el valor por defecto que tomaremos en estos casos ser´a 0.5, puesto que es el dato que ofrece menos informaci´ on y, por tanto, mayor incertidumbre en el rango [0..1]. Por u ´ltimo, se selecciona – y devuelve – aquel agente cuyo valor de evaluaci´on sea mayor. Si existiesen varios agentes con igual evaluaci´on y ´esta se correspondiera con la mayor en eval, el resultado se escoger´ıa al azar usando la misma operaci´on getRandom(χ) utilizando en el Algoritmo 2 (pasos 12–13). Modelo de Inferencia. Este modelo utiliza el modelo de confianza que hemos descrito a lo largo del cap´ıtulo (ver Secci´on 3.2.3), implementando la operaci´on evaluateT rust() de la forma que ilustra el Algoritmo 4. Al igual que el modelo b´ asico de confianza, ´este comienza comprobando si el agente tiene informaci´on en su LIT acerca de cada agente en Q para la situaci´on especificada (paso 2). Si la entrada existe en la LIT del agente, se comprueba si la fiabilidad del valor de confidence almacenado es mayor que el umbral ϑ; si es as´ı, se eval´ ua al agente a partir de ese valor de confidence. Si el valor de fiabilidad de la entrada en la LIT es menor que ϑ se usa la ecuaci´ on 3.6 (ver Definici´on 3.10) para la evaluaci´on del agente (pasos 4 – 9). Si, por el contrario, la entrada no existe en la LIT del agente que est´a evaluando, comprobamos si la LIT est´ a vac´ıa, consecuencia, por ejemplo, de que el agente acabe de entrar al sistema, no teniendo ninguna informaci´on acerca de ning´ un otro participante en el mismo; si ´esta est´a vac´ıa, el algoritmo asigna un valor de evaluaci´ on de la confianza por defecto (paso 13); si, por el contrario, la LIT no est´ a vac´ıa, calcularemos el valor de evaluaci´on de la confianza de la entrada buscada usando la ecuaci´ on 3.6. El valor de confianza por defecto que tomaremos en estos casos ser´ a 0.5, por la misma raz´on que comentamos para el Algoritmo 80

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

Algoritmo 3 Algoritmo que describe la operaci´on evaluateT rust en el Modelo B´ asico de confianza Require: Sea Q el conjunto de agentes a evaluar por el modelo de confianza y r y t el rol y tarea, respectivamente, de la situaci´on buscada h , r, ti.

1: 2: 3: 4: 5:

χ←∅

eval ← ∅

for a ∈ Q do

exists ← lookU p(ha, r, ti); {Comprueba en su LIT si existe la situaci´on ha, r, ti} if exists then

eval ← eval ∪ {a, getConf idence(ha, r, ti)};

6: 7:

else

eval ← eval ∪ {a, DEF AU LT V ALU E};

8: 9:

end if

10:

end for

11:

χ ← getAgentsW ithBestEvaluation(eval);

12: 13: 14: 15: 16:

if |χ| > 1 then

return getRandom(χ);

else return χ(1); end if

3. Por u ´ltimo, el conjunto χ recoge el mejor agente en t´erminos de confianza estimada a trav´es de las evaluaciones realizadas. Si s´olo existe un agente con la estimaci´ on m´ as alta se devuelve como resultado de la operaci´on (paso 23); si existe m´ as de un agente con la mejor estimaci´on se seleccionar´a uno de ellos mediante la operaci´ on getRandom(χ) y se devolver´a como resultado (paso 21).

Medidas

de

similitud

Para calcular la similitud entre roles y tareas,

respectivamente, se han tenido en cuenta dos medidas de similitud diferentes: Similitud basada en cercan´ıa de conceptos. Esta medida de similitud tiene en cuenta la cercan´ıa de los conceptos en el ´arbol que describe la taxonom´ıa. Est´ a basada en la medida de similitud, llamada relatedness, propuesta por 81

Ram´ on Hermoso Traba

Algoritmo 4 Algoritmo que describe la operaci´on evaluateT rust en el Modelo de Inferencia de confianza Require: Sea Q el conjunto de agentes a evaluar por el modelo de confianza y r y t el rol y tarea, respectivamente, de la situaci´on buscada h , r, ii.

1: 2: 3: 4: 5:

χ←∅

eval ← ∅

for a ∈ Q do

exists ← lookU p(ha, r, ti); if exists then

if getReliability(ha, r, ti) > ϑ then

6:

eval ← eval ∪ {a, getConf idence(ha, r, ti)};

7:

else

8:

eval ← eval ∪ {a, inf erT rust(ha, r, ti)};

9:

end if

10: 11:

else if LIT = ∅ then

12:

eval ← eval ∪ {a, DEF AU LT V ALU E}

13:

else

14:

eval ← eval ∪ {a, inf erT rust(ha, r, ti)};

15:

end if

16: 17:

end if

18:

end for

19:

χ ← getAgentsW ithBestEvaluation(eval);

20: 21: 22: 23: 24:

if |χ| > 1 then

return getRandom(χ);

else return χ(1); end if

82

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

Leacock y Chodorow en (85) As´ı pues, la funci´on de similitud se puede definir como hacemos a continuaci´ on en la ecuaci´on 3.10.

sim(c1 , c2 ) = 1 −

sp(x, y) 2·D

(3.10)

donde sp es una funci´ on que devuelve la distancia m´ınima (o shortest path) que hay entre dos roles de la taxonom´ıa, y 2 · D representa la distancia m´axima

que existe entre dos conceptos cualesquiera de la taxonom´ıa (D representa la

profundidad m´ axima de la taxonom´ıa). Similitud basada en cercan´ıa y profundidad de conceptos. Esta medida de similitud, propuesta por Li et al. (87), adem´as de tener en cuenta la proximidad entre conceptos, tambi´en usa la profundidad de los t´erminos en el ´ arbol que forma la taxonom´ıa, asumiendo que en niveles superiores del ´arbol la sem´ antica de los conceptos es m´ as general y, por lo tanto, existe una menor similitud, mientras que en niveles inferiores los conceptos tienen una sem´antica m´ as espec´ıfica y, por tanto, ofrecen una mayor similitud. La ecuaci´on 3.11 muestra la medida de similitud. ( sim(c1 , c2 ) =

e−αl ·

eβh −e−βh eβh +e−βh

1

si e.o.c.

c1 6= c2

(3.11)

donde l es el camino m´ınimo entre c1 y c2 y h representa la profundidad del lcs6 de ambos conceptos. Los par´ ametros α > 0 y β > 0 son par´ametros que escalan la contribuci´ on del camino m´ as corto entre c1 y c2 y la profundidad en el que se encuentran, respectivamente. Configuraci´ on experimental

La Tabla 3.4 muestra los distintos tipos de

experimentos que se han llevado a cabo, as´ı como el ajuste de los par´ametros referentes a la simulaci´ on y al modelo de confianza de los agentes. Supondremos en todo momento que los agentes tienen un modelo de confianza similar al de cualquier otro participante, con lo que el modo de razonar ser´a el mismo para cada uno de ellos. El conjunto de las metas ser´ a finito, y vendr´ a definido en un fichero XML, con el formato descrito en la Secci´ on 3.3.1. Los experimentos tendr´an las siguientes caracter´ısticas: 6 El

least common subsumer o subsumidor menos com´ un (lcs) representa el nodo antecesor com´ un

m´ as espec´ıfico entre dos nodos de un ´ arbol.

83

Ram´ on Hermoso Traba

El tama˜ no de la poblaci´ on ser´ a de 100 agentes. Utilizaremos distintas combinaciones de los par´ametros β y γ aplicados a la ecuaci´ on 3.6 de estimaci´ on de la confianza (ver ecuaci´on 3.8). Tambi´en variaremos el valor del umbral de fiabilidad ϑ, con los siguientes valores: 0, 0.1, 0.15, 0.3, 0.5 y 0.7 (ver Algoritmo 4). Probaremos tambi´en dos grados de similitud distintos a la hora de generar las capacidades de los agentes. Por un lado probaremos con total similitud generando las capacidades de los agentes tal como se explica en la Secci´on 3.3.1 y, por otro, con similitud aleatoria, esto es, generando las capacidades de los agentes participantes de manera aleatoria. Es decir, no existir´a similitud de antemano para el comportamiento de un agente en dos situaciones distintas. Se define una ronda de la simulaci´ on como el tiempo que tardan todos los agentes en el sistema en delegar todas las tareas disponibles del conjunto T . El n´ umero de rondas de cada simulaci´ on estar´a fijado en 150. A lo largo de cada experimento las tareas se reparten inicialmente de manera uniforme entre los agentes participantes. Para cada uno de los experimentos indicados en la tabla anterior se han probado los tres modelos de toma de decisiones, a saber: aleatorio, b´ asico e inferencia y las dos medidas de similitud definidas anteriormente. Pruebas de significaci´ on

En muchos experimentos, el objetivo consiste en se˜ nalar

que cierto m´etodo A es mejor que otro m´etodo B. Sin embargo, como es nuestro caso, el valor de una media de experimentos realizados sobre un conjunto de poblaciones distintas no es criterio suficiente para afirmar que un m´etodo es mejor que otro. Para poder realizar tal afirmaci´ on es necesario recurrir al an´alisis de la significaci´on estad´ıstica de las muestras de ambos m´etodos (8). En nuestro caso, usaremos contrastes de hip´ otesis para muestras emparejadas (valores resultado de la aplicaci´on de ambos m´etodos sobre el mismo conjunto de tareas a delegar), de tal forma que compararemos c´ omo de significativa es la mejora de la aplicaci´on del modelo de inferencia en comparaci´ on con el modelo b´ asico. En particular, utilizaremos la prueba T como medida de significaci´ on. A continuaci´ on, pasamos a describir en qu´e consisten y c´ omo se realizan las pruebas de significaci´ on. 84

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

β

γ

ϑ

1.0

0.0

0.15

0.8

0.2

0.15

0.5

0.5

0.15

0.2

0.8

0.15

1.0

0.0

0.15

0.8

0.2

0.0

0.8

0.2

0.1

0.8

0.2

0.3

0.8

0.2

0.5

0.8

0.2

0.7



1.0

0.0

0.15



0.8

0.2

0.15



0.5

0.5

0.15



0.2

0.8

0.15



1.0

0.0

0.15



0.8

0.2

0.0



0.8

0.2

0.1



0.8

0.2

0.3



0.8

0.2

0.5



0.8

0.2

0.7



Similitud √ √ √ √ √ √ √ √ √

Disimilitud – – – – – – – – – – √ √ √ √ √ √ √ √ √ √

Tabla 3.4: Tabla resumen de los experimentos realizados

85

Ram´ on Hermoso Traba

Las pruebas de significaci´ on se basan en contrastes de hip´otesis en los que se verifica una hip´ otesis nula contra una hip´ otesis alternativa. Para dos poblaciones X e Y y una muestra de observaciones emparejadas (x1 , y1 ), ..., (xk , yk ) las hip´otesis contrastadas en la prueba T son las siguientes: Hip´ otesis nula: µX − µY = ∆µ Hip´ otesis alternativa: µX − µY > ∆µ donde µX es la media de la poblaci´ on X, µY es la media de la poblaci´on Y y ∆µ es la diferencia entre las medias de las poblaciones que se quiere comparar. En nuestro casos, las hip´ otesis alternativas ser´ an unilaterales (de una cola), puesto que lo que se pretende comprobar es la superioridad de la aplicaci´on de un modelo sobre otro, no s´ olo que las medias sean distintas. En la prueba T se comprueba si es probable observar una diferencia en la muestra, ¯ ¯ − Y¯ = 1 Pk xi − yi , asumiendo que la diferencia entre las poblaciones es D=X i=1 k

∆µ = µX − µY . Para ello, se calcula el estad´ıstico de prueba T de la siguiente forma: T =





¯ − ∆µ D SD

(3.12)

donde SD es la desviaci´ on t´ıpica de las diferencias de las observaciones de la muestra:

SD =

q Pk

¯ 2 i=1 ((xi −yi )−D) k−1

Usando la distribuci´ onT de Student con k-1 grados de libertad, el valor de T se transforma en un valor de probabilidad, denotado por P (T ). Esta es la probabilidad ¯ si la diferencia de que en una prueba se obtenga una diferencia como la observada D, real entre las medias de las poblaciones fuera ∆µ. Normalmente se especifica un valor ¯ respecto a ∆µ realmente de 0.05 como l´ımite superior para juzgar si la desviaci´on de D es significativa o no. En el caso afirmativo, se rechaza la hip´otesis nula y se acepta la hip´ otesis alternativa. Es decir, se asume que la diferencia entre las poblaciones es mayor que ∆µ. Resultados Las gr´ aficas que se muestran a continuaci´on representan los valores medios de las utilidades obtenidas por todos los agentes que forman parte del sistema en cada experimento a lo largo de tiempo. 86

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

Dividiremos esta secci´ on en dos partes bien diferenciadas. En la primera, probaremos el sistema cuando existe correlaci´on entre la similitud de los roles y tareas con las capacidades de los agentes en el T-MAS. En la segunda, se mostrar´an los resultados de los mismos experimentos que en la primera con la salvedad de que no existir´ a ning´ un tipo de correlaci´ on creada a priori entre los roles y tareas, y las capacidades de los agentes en el T-MAS. Similitud

En la Figura 3.5 se muestran los resultados de los experimentos realizados

usando similitud de las capacidades de los agentes, correladas ´estas con la cercan´ıa de los conceptos en las taxonom´ıas de roles y tareas, respectivamente. Se usar´a como funci´ on de similitud la propuesta por Li et al7 . Observamos cinco gr´aficas distintas, correspondientes, cada una de ellas, a la ejecuci´on del mismo experimento con valores distintos de los par´ ametros β y γ (pesos para la similitud de roles y de tareas, respectivamente), con ϑ (umbral de fiabilidad) fijo con valor 0.15. En todas ellas, se observa claramente, que el modelo de inferencia se comporta mejor, en t´erminos de obtenci´ on de utilidad media, que los otros dos modelos simulados. Mientras que el modelo aleatorio tiende a situarse en valores medios de utilidad de 0.5, el modelo b´ asico tarda m´ as tiempo en encontrar agentes que proporcionen valores de utilidad altos (en comparaci´ on con el modelo de inferencia). Esto se acent´ ua, especialmente, al inicio de los experimentos, donde el agente no dispone de informaci´on acerca de experiencias pasadas suficientes y donde, el modelo de inferencia act´ ua usando la similitud de roles e interacciones para estimar la confianza en el resto de individuos, mientras que el modelo b´ asico se centra en la exploraci´on aleatoria. Debido a la naturaleza est´ atica del experimento, la tendencia de estos dos u ´ltimos modelos es la de converger a lo largo del tiempo, puesto que el uso de la inferencia disminuye proporcionalmente a la cantidad de experiencias que tiene almacenadas el agente, comport´ andose entonces ambos modelos de igual forma. Cuando hablamos de convergencia de los modelos, es necesario tambi´en explicar c´omo se ajustan las curvas al ´ optimo del sistema. La curva ´ optima se forma a partir de la utilidad m´axima esperada para cada posible tarea que se delegue. Es decir, se evaluar´ıa como el m´aximo de utilidad que se puede obtener para cada tarea a partir de la capacidades generadas para cada agente. Sin embargo, es necesario puntualizar que se trata de un ´optimo ideal que no se puede alcanzar. La raz´ on por la que esto ocurre es la influencia de la 7 Los

resultados pertenecientes a la aplicaci´ on de la funci´ on de similitud de Leacock & Chodorow

pueden encontrarse en el Anexo A.

87

Ram´ on Hermoso Traba

funci´ on de exploraci´ on de los agentes. Esta funci´on tiene la forma P (t) = e−t + ω (ver Secci´ on 3.2.4), donde ω es el valor m´ınimo de la probabilidad de explorar el sistema en busca de nuevos agentes a los que delegar tareas y t es el tiempo actual. Con este valor podemos calcular la curva ´ optima real (estimada mediante el valor v) que existe en cada experimento, cuando el tiempo tiende a infinito, simplemente aplicando la siguiente suma de probabilidades:

v = p(E) · U EE + (1 − p(E)) · U EM AX

(3.13)

donde p(E) es la probabilidad de explorar el sistema, U EE es la utilidad esperada que obtiene el agente si realiza exploraci´ on y U EM AX es la utilidad m´axima esperada que puede conseguir el agente en ese momento dado. Esta f´ormula indica el valor estimado de la utilidad, ponderado por la probabilidad de exploraci´on en cada instante. Si sustituimos el valor de p(E) por la probabilidad que existe de que ocurra exploraci´on al delegar una tarea (ω en P (t)) y, teniendo en cuenta, que el valor de U EE es 0.5 (por la uniforme aleatoriedad de las capacidades de los agentes) y que U EM AX es conocido a priori al realizar la puesta en marcha del experimento, podemos obtener f´ acilmente el valor ´ optimo real de la curva. Ve´amoslo en un ejemplo: Supongamos que el valor de ω es 0.1, lo que equivale a una exploraci´on m´ınima del 10 % de cada agente. Si la utilidad m´ axima en el sistema en una ronda es ueM AX = 0, 98, la utilidad ´ optima real ser´ıa la siguiente: v = 0.1 · 0.5 + 0.9 · 0.98 = 0.932 Dado que los modelos probados en los distintos experimentos realizados necesitan m´ as tiempo para lograr conseguir el ´ optimo real del sistema se ha decidido no incluirlo en las gr´ aficas. Sin embargo, en el Anexo A probamos con un ejemplo que las curvas convergen entre s´ı y alcanzan el ´ optimo real del sistema cuando se ejecutan durante per´ıodos de tiempo largos (Figura A.7). La Figura 3.6 muestra los resultados de los experimentos detallados en la Figura 3.5, pero mostrando los porcentajes de mejora que se obtienen aplicando el modelo de inferencia sobre los otros dos modelos (b´ asico y aleatorio) en los distintos escenarios propuestos. An´ alogamente a los resultados obtenidos en las gr´aficas de utilidad, estas nuevas curvas muestran una ganancia de utilidad, en el mejor caso, de alrededor del 20 % al comienzo de la ejecuci´ on, con respecto a los modelos b´ asico y aleatorio. 88

1

1

0,9

0,9

0,8

0,8

0,7

0,7

Utilidad

Utilidad

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

0,6 0,5

0,5

0,4

0,4

Inferencia Básico Aleatorio

0,3 0,2

0,6

0

10

20

30

40

50

60

70

80

90

100

110

120

130

140

Inferencia Básico Aleatorio

0,3 0,2

150

0

10

20

30

40

50

60

Tiempo

90

100

110

120

130

140

150

(b) β = 0.8, γ = 0.2 y ϑ = 0.15

1

1

0,9

0,9

0,8

0,8

0,7

0,7

Utilidad

Utilidad

80

Tiempo

(a) β = 1.0, γ = 0.0 y ϑ = 0.15

0,6 0,5

0,6 0,5

0,4

0,4

Inferencia Básico Aleatorio

0,3 0,2

70

0

10

20

30

40

50

60

70

80

90

100

110

120

130

140

Inferencia Básico Aleatorio

0,3 0,2

150

0

10

20

30

40

50

60

Tiempo

70

80

90

100

110

120

130

140

150

Tiempo

(c) β = 0.5, γ = 0.5 y ϑ = 0.15

(d) β = 0.2, γ = 0.8 y ϑ = 0.15

1 0,9 0,8

Utilidad

0,7 0,6 0,5 0,4

Inferencia Básico Aleatorio

0,3 0,2

0

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

Tiempo

(e) β = 0.0, γ = 1.0 y ϑ = 0.15

Figura 3.5: Resultados de experimentos con similitud correlada y usando la f´ormula de Li et al. para el c´ alculo de similitud de conceptos

89

100

100

90

90

80

80

70

70

% Utilidad (vs.)

% Utilidad (vs.)

Ram´ on Hermoso Traba

60 50 40 30

40

vs. Aleatorio vs. Básico

20

10 0

50

30

vs. Aleatorio vs. Básico

20

60

10

0

10

20

30

40

50

60

70

80

90

100

110

120

130

140

0

151

0

10

20

30

40

50

60

Tiempo

90

100

110

120

130

140

150

(b) β = 0.8, γ = 0.2 y ϑ = 0.15

100

100

90

90

80

80

70

70

% Utilidad (vs.)

% Utilidad (vs.)

80

Tiempo

(a) β = 1.0, γ = 0.0 y ϑ = 0.15

60 50 40 30

60 50 40 30

vs. Aleatorio vs. Básico

20

vs. Aleatorio vs. Básico

20

10 0

70

10

0

10

20

30

40

50

60

70

80

90

100

110

120

130

140

0

150

0

10

20

30

40

50

60

Tiempo

70

80

90

100

110

120

130

140

150

Tiempo

(c) β = 0.5, γ = 0.5 y ϑ = 0.15

(d) β = 0.2, γ = 0.8 y ϑ = 0.15

100 90 80

% Utilidad (vs.)

70 60 50 40 30

vs. Aleatorio vs. Básico

20 10 0

0

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

Tiempo

(e) β = 0.0, γ = 1.0 y ϑ = 0.15

Figura 3.6: Porcentaje de mejora con similitud correlada y usando la f´ormula de Li et al. para el c´ alculo de similitud de conceptos

90

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

1 0,9

Utilidad (1 agente)

0,8 0,7 0,6 0,5 0,4

Inferencia Básico Aleatorio

0,3 0,2

0

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

Tiempo

Figura 3.7: Utilidad individual obtenida por un agente usando similitud correlada y la f´ ormula de Li et al. para el c´ alculo de similitud de conceptos

Como se puede observar en dichas gr´ aficas, mientras que el porcentaje de ganancia del modelo de inferencia con respecto al aleatorio se mantiene constante al 75 % a lo largo de unas dos terceras partes del experimento, el porcentaje de ganancia con respecto al modelo b´ asico tiende a ser 0 con el tiempo. A modo de ejemplo, la Figura 3.7 muestra que la utilidad individual que obtiene un agente cualquiera en el sistema. El modelo de Inferencia obtiene una mejor utilidad que los otros dos modelos probados, especialmente, al inicio de la simulaci´on. En la Tabla 3.5 se puede observar la significaci´on de los resultados obtenidos en este bloque de experimentos. La tabla muestra, por un lado el porcentaje de mejor´ıa que ofrece el modelo de inferencia en contraste con el b´ asico durante el total de la duraci´ on de cada experimento (150 rondas), y por otro, el porcentaje de mejor´ıa entre ambos modelos para el primer 20 % de las rondas de cada experimento (30 rondas). Este u ´ltimo dato se usa con el prop´ osito de mostrar la especial relevancia que tiene el modelo de inferencia durante las primeras rondas, cuando los agentes no disponen de mucha informaci´ on. De este modo, se observa c´omo, durante la duraci´on de cada experimento, el modelo de inferencia se muestra alrededor de un 6.5 % mejor en la mayor´ıa de los casos que el b´ asico, con un nivel de confianza mayor del 99 %. En cuanto al comportamiento del modelo de inferencia en las primeras 30 rondas de cada experimento, su comportamiento es a´ un m´as significativo, puesto que consigue 91

Ram´ on Hermoso Traba

β

γ

ϑ

µInf > µBas + x

µInf > µBas + x

150 rondas (P (T ))

30 rondas (P (T ))

1.0

0.0

0.15

x = 7%

< 0.003

x = 11 %

< 0.0006

0.8

0.2

0.15

x = 6.5 %

x = 11 %

< 0.005

0.5

0.5

0.15

x = 6.5 %

< 1.44e − 08 < 0.001

x = 10 %

0.2

0.8

0.15

x = 6%

< 0.01

x = 9%

< 9.7e − 05

1.0

0.0

0.15

x = 4.5 %

x = 6.5

< 0.0009

0.8

0.2

0.0

x = 7.5 %

< 2, 4e − 10 < 0.0075

x = 11 %

< 0.0002

0.8

0.2

0.1

x = 6.5 %

x = 11 %

< 0.007

0.8

0.2

0.3

x = 6.5 %

< 5.39e − 08

x = 10.5 %

< 0.0006

0.8

0.2

0.5

x = 6.5 %

< 9.45e − 05 < 0.0003

x = 10.5 %

< 0.003

0.8

0.2

0.7

x = 6.5 %

< 6.15e − 07

x = 10.5 %

< 0.0002

< 0.005

Tabla 3.5: Tabla de significaci´ on de los resultados (Li et al.)

mejoras de alrededor del 10.5 % con un nivel de confianza mayor del 99 %8 . El resultado y su correspondiente comentario del resto de los experimentos planificados se pueden consultar en el Anexo A.

Disimilitud

Hasta aqu´ı hemos visto qu´e sucede cuando en el sistema que tomamos

de ejemplo existe cierta correlaci´ on entre la similitud de roles y tareas en las taxonom´ıas y las capacidades de los agentes para desempe˜ narlos y llevarlas a cabo, respectivamente. Ahora veremos qu´e sucede cuando las capacidades de los agentes se crean de manera aleatoria, es decir, no existe correlaci´on de ning´ un tipo – m´as que la puramente estoc´ astica – entre las capacidades de los agentes y las relaciones que puedan existir entre los conceptos en las taxonom´ıas correspondientes. Los resultados que se muestran en la Figura 3.8 se han obtenido sobre una poblaci´ on en la que no existe correlaci´ on con respecto a las taxonom´ıas de roles y de tareas y en la que el modelo de inferencia usa la medida de similitud de Li et al. con par´ ametros β = 0.8, γ = 0.2 y ϑ = 0.15.9 . 8 V´ ease

que para el resto de experimentos del cap´ıtulo, se ha decidido no realizar pruebas de

significaci´ on puesto que no aportan datos relevantes. La significaci´ on de los resultados usando las similitud de Leacock & Chodorow es similar a la presentada anteriormente. 9 En este caso no se comparan distintas t´ ecnicas de medir la similitud de conceptos en las taxonom´ıas puesto que no es relevante.

92

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

1 0,9 Pérdida de utilidad

0,8

Utilidad

0,7 0,6 0,5 0,4

Inferencia Básico Aleatorio

0,3 0,2

0

10

20

30

40

50

60

70

80

90

100

110

120

130

140

150

Tiempo

Figura 3.8: Resultados de experimentos con disimilitud (β = 0.8, γ = 0.2 y ϑ = 0.15)

Podemos observar que existe un efecto contrario al que se pretende puesto que, al usar el modelo de inferencia, los agentes gu´ıan sus selecciones de individuos a los que delegar sus tareas bas´ andose en las similitudes que se extraen de las taxonom´ıas. Como estas similitudes no est´ an correladas con el comportamiento real de los individuos en el sistema, esta t´ecnica resulta contraproducente. Es importante resaltar que, una vez que el agente ha adquirido suficiente experiencia, tanto la curva del modelo b´ asico como la del de inferencia convergen, puesto que los agentes har´an sus selecciones bas´ andose principalmente en la experiencia que reside en sus LIT.

Es importante se˜ nalar que, aun habiendo probado que el modelo presentado muestra debilididades frente al b´ asico, por ejemplo, en cuanto a utilidad obtenida al comienzo de la ejecuci´ on, cuando no existe correlaci´on entre capacidades, roles y tareas, se debe asumir que poblaciones de este tipo son clara minor´ıa con respecto a las combinaciones en las que la similitud se manifiesta de alg´ un modo. En todo caso, se concluye que cuando no existe correlaci´ on entre las similitudes entre los roles y las tareas de la taxonom´ıa, y las capacidades de los agentes para esos roles y tareas, el uso del modelo de inferencia est´ a contraindicado, especialmente para los primeros pasos de la ejecuci´ on. 93

Ram´ on Hermoso Traba

3.4.

Discusi´ on

En el presente cap´ıtulo se ha abordado la construcci´on de un modelo de confianza basado en estructuras organizativas: taxonom´ıas de roles y de tareas. La idea principal que subyace es que, apart´ andonos de la tendencia de los u ´ltimos a˜ nos de crear mecanismos de reputaci´ on, que se basan en el intercambio de opiniones entre agentes, nos centramos en el aprovechamiento que el agente puede hacer de la informaci´on local de la que dispone. As´ı, hemos dise˜ nado un modelo de confianza basado en la combinaci´on de la experiencia local del agente – a partir de experiencias pasadas – con las estructuras organizativas que puede ofrecer un T-MAS, en este caso taxonom´ıas de roles y de tareas. Partiendo de la hip´ otesis de que un agente muestra capacidades parecidas para tareas y roles parecidos, hemos demostrado emp´ıricamente que la utilizaci´on de este modelo mejora mecanismos m´ as b´ asicos como la simple experiencia local o modelos aleatorios de decisi´ on. Mediante los experimentos se ha logrado probar que el uso del modelo de confianza propuesto aporta una mejora significativa en cuanto a la rapidez con la que los agentes logran encontrar pol´ıticas ”buenas” de delegaci´on de tareas, especialmente cuando los agentes disponen de poca o ninguna informaci´on sobre el comportamiento del resto para las distintas tareas que se pueden llevar a cabo en el sistema. Se han realizado dos bloques de experimentos. En primer lugar, se ha probado el modelo introduciendo similitud en las capacidades de los agentes a partir de los roles que desempe˜ naban y las interacciones que se pod´ıan llevar a cabo con ellos. As´ı, ha quedado probado que la similitud extra´ıda de la taxonom´ıa – tanto de roles como de tareas – permite hacer inferencias para estimar la confianza sobre los ´ agentes. Esto es especialmente importante cuando arranca el sistema y los participantes tienen poca o ninguna informaci´ on sobre el comportamiento esperado de los otros. Por otro lado, tambi´en se ha probado el modelo en las condiciones opuestas. Es decir, hemos observado qu´e ocurre cuando se introduce disimilitud entre las capacidades de los agentes, no estando ”correladas” ´estas con el grado similitud de los roles y las tareas en las taxonom´ıas correspondientes. Se ha podido comprobar c´omo el modelo se comporta peor que en otras condiciones, siendo superado al comienzo de las ejecuciones por otros modelos que no utilizan inferencia como medida de estimaci´on a priori.

Como ya hemos comentado durante el cap´ıtulo, el modelo presentado no trata de ser una alternativa a otros modelos m´ as complejos basados en intercambio de opiniones, normalmente reputaci´ on, sino que trata de establecer una complementa94

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

riedad a los mismos, de forma que el agente pueda sacar el m´aximo partido a la hora de seleccionar un individuo al que delegar una tarea. Si bien existir´an casos y escenarios en que los mecanismos de reputaci´on o la exploraci´on sean inevitables y beneficiosos para el agente, en otros casos – que actualmente se cubren mediante procesos sociales de intercambio de opiniones – puede ser el agente el que, de manera mucho m´ as fiable obtenga resultados satisfactorios usando este modelo. El modelo de confianza presentado se podr´ıa englobar dentro de la categor´ıa de modelos de confianza relativos a la situaci´ on (en ingl´es situational trust models). Estos modelos estiman la confianza de los agentes en relaci´on a una situaci´on determinada. Es decir, no pretenden descubrir la confianza global sobre otro individuo, sino que se centran en la confianza en aspectos concretos, que proporcionan una informaci´on m´ as relevante en el razonamiento del agente. Ejemplos de este tipo de modelos son (71), (104), (123), (125) o (126). Todos ellos calculan la confianza como un valor asociado a una situaci´ on, desde una interacci´on concreta con cierto individuo en una organizaci´ on virtual, hasta ciertos par´ ametros de cumplimiento en un contrato. Este u ´ltimo es el caso que se propone en (125)(126), donde se define un modelo para el c´ alculo de la confianza sobre una situaci´on contractual concreta, es decir, por ejemplo, si determinado agente tiende a no cumplir ciertas condiciones en un contrato. Este c´ alculo m´ as fino de la confianza hace que sea m´as sencillo para el agente tomar decisiones sobre con qu´e otros individuos interactuar. Una de las principales diferencias de estos trabajos con el modelo de confianza que se ha presentado en este cap´ıtulo se fundamenta en la naturaleza discreta de las observaciones que tienen los agentes en los primeros. En dichos trabajos la confianza se construye como una agregaci´ on a partir de dos posibles resultados de contratos anteriores, a saber: violaci´ on o cumplimiento. No se contempla la continuidad de la utilidad que le proporciona cada interacci´ on a cada agente, como s´ı realizamos en nuestro trabajo. En nuestro caso, permitimos que el agente distinga entre agentes ”buenos” y ”menos buenos” no s´ olo entre aquellos que violan o no violan contratos, por lo que permite m´ as matices en la estimaci´ on. En cambio, s´ı que emplean la similitud de los distintos par´ ametros o caracter´ısticas de los contratos para establecer estimaciones sobre el comportamiento de los otros agentes ante posibles contratos similares. Esta caracter´ıstica se fundamenta en la misma hip´otesis que nosotros planteamos sobre la similitud entre comportamientos relativos a situaciones similares. Sobre la misma hip´ otesis se plantea el tabajo de (123). En ´el, se propone el c´alculo de la confianza a 95

Ram´ on Hermoso Traba

partir del uso de ontolog´ıas, y de la similitud entre los conceptos que se definen en ellas. Sin embargo, este trabajo no usa la ontolog´ıa para inferir valores de confianza, sino que la usa para delimitar el contexto que se quiere evaluar. En (104) se propone un modelo gen´erico para la representaci´on de situaciones en modelos de confianza para agentes. Este modelo es independiente de la representaci´on del valor de confianza que se utilice, lo que proporciona una mayor versatilidad del mismo. Uno de los aspectos en los que no se ha profundizado pero que s´ı hemos tenido en cuenta a la hora de dise˜ nar el modelo de confianza ha sido el grado de similitud entre los agentes. En la ecuaci´ on 3.6 exist´ıan tres medidas de similitud ponderadas por sus correspondientes pesos para darles mayor o menor significancia en la evaluaci´on de la confianza sobre una situaci´ on. En su momento dijimos que el algoritmo presentado tendr´ıa en cuenta u ´nicamente aquellas situaciones pertenecientes a la LIT del agente en las que el agente buscado coincidiera con el agente de la entrada que se estaba explorando en la LIT. Es decir, si el agente A eval´ ua al agente B para la situaci´on hB, R, Ii, pero en su LIT no aparece ninguna entrada del tipo hB, , i, entonces no se pod´ıa realizar ning´ un tipo de inferencia en cuanto a la confianza que generaba B

en A. En cambio, esto podr´ıa no ser as´ı. Aunque no se ha estudiado en este trabajo, podr´ıan existir medidas de similitud entre agentes. Por ejemplo, si introduj´eramos el concepto de grupo o de organizaci´ on o cualquier otro que denotara alg´ un tipo de agrupaci´ on o colectividad de agentes en el sistema, el mero hecho de la pertenencia a la misma entidad podr´ıa conllevar cierta afinidad entre los agentes, de tal forma que se podr´ıa inferir similitud sobre comportamientos similares para agentes ”similares”. Un trabajo que podr´ıa ser aplicado en este aspecto es el de Ganesan et al. (56). Otra de las partes que no se ha estudiado en profundidad es la de las funciones de similitud de conceptos en las taxonom´ıas, tanto de roles como de tareas. Existe un gran n´ umero de trabajos sobre este tema en la literatura. Ganesan et al., en (56), proponen medidas que calculan la similitud entre conceptos a partir de estructuras jer´arquicas. Proponen el siguiente ejemplo para ilustrar su trabajo. Un cliente A compra dos discos b1 y b2 de The Beatles, mientras que otro cliente B compra dos discos b3 y b4 tambi´en de The Beatles, mientras que un tercer cliente C prefiere comprar dos discos b5 y b6 de The Rollling Stones. Modelos de similitud tradicionales como por ejemplo aquellos basados en intersecci´ on de conjuntos encontrar´ıan que la similitud entre A, B y C 96

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

es 0. Otras medidas basadas el c´ alculo del coseno de vectores tampoco funcionar´ıan mejor, ya que los vectores ser´ıan perpendiculares entre s´ı, obteni´endose el valor 0 como resultado. En cambio, a simple vista se ve claramente que tanto A como B, aunque no compren los mismos productos, tienen cierta similitud, puesto que a ambos les gustan The Beatles. Tambi´en existir´ıa cierta similitud, aunque menor, entre A y C puesto que a ambos les gusta la m´ usica Rock, aunque no los mismos grupos. Proponen ciertos m´etodos para la obtenci´ on de similitudes usando jerarqu´ıas de conceptos, de manera similar a como se hace en el presente trabajo. Existen otras funciones de similitud en la literatura; tal es el caso del trabajo de Fern´ andez et al. (49) donde se usa la similitud para realizar el proceso de encaje o matchmaking de servicios web sem´ anticos. Adem´as usan en el mismo el concepto de rol para este proceso, proponiendo la siguiente funci´on para el c´alculo de la similitud entre roles:

sim(r1 , r2 ) =

                            

1 1 2

+

1 2·e||r1 ,r2 ||

si

r1 = r2

si

r1 es subclase de r2 (3.14)

1 2

· ee

||r1 ,r2 ||

si

r2 es subclase de r1

e.o.c.

0

En todo momento hemos propugnado que el modelo de confianza basado en experiencia local que se ha presentado puede ser complementario con otras modelos de confianza, en cuanto a que se podr´ıan combinar t´ecnicas de reputaci´on con el mismo. Aunque no se ha tratado de manera profunda este aspecto, en (65) se muestra c´omo la idea de la inferencia para estimar la confianza en potenciales compa˜ neros de interacci´ on puede ser aplicada a la hora de buscar fuentes de informaci´on en mecanismos de reputaci´ on. En particular, se propone que a partir de los roles que juegan o han jugado los agentes en el sistema se puede inferir, a partir de la afinidad que ´estos generan, si las opiniones que proporcionan se ajustan al perfil del agente que realiza la consulta. Algo de lo que tampoco se ha hablado en el cap´ıtulo es del efecto de la memoria en los modelos de confianza. En particular, en (67) se pone de manifiesto c´omo se altera 97

Ram´ on Hermoso Traba

el rendimiento de los agentes, en cuanto a la utilidad obtenida, cuando se limita la memoria de los mismos. Es decir, se trata el problema de qu´e ocurre si la memoria de los agentes est´ a limitada y no es posible almacenar indefinidamente todas las experiencias pasadas. M´ as concretamente se trata el hecho de c´omo afecta esta restricci´on a la hora de solicitar reputaci´ on en lugar de usar la informaci´on local de los propios agentes. En lo referente a la construcci´ on de un entorno de simulaci´on para evaluar nuestro modelo de confianza hemos de decir que, en nuestro caso, quer´ıamos utilizar una herramienta flexible y abierta que pudi´esemos configurar seg´ un nuestras necesidades y, en ning´ un caso, depender de un c´ odigo externo. As´ı pues, se decidi´o construir una herramienta propia desarrollada para validar los modelos presentados en este trabajo (TOAST). En cambio, existen otras alternativas en la literatura. Por ejemplo, la herramienta RePast (26) es un entorno de simulaci´on que permite construir y simular sistemas de agentes. Dicha herramienta ha sido ampliamente utilizada durante los u ´ltimos a˜ nos. Por otro lado, existen tambi´en otros muchos frameworks de simulaci´ on de agentes, pero en su mayor´ıa est´an desarrollados para dominios concretos. Algunos ejemplos de este tipo de herramientas son (138), dedicado a la simulaci´ on de emergencias en escenarios de evacuaci´on; o la presentada en (89), que permite su extensi´ on y uso en dominios muy distintos. Menci´ on especial tiene el Agent Reputation and Trust Testbed denominado ART Testbed (52)(53) que se presenta como una iniciativa cuyo principal objetivo es el de establecer un banco de pruebas ”universal” para evaluar modelos de confianza y mecanismos de reputaci´ on. Tiene dos modalidades de uso: Por un lado permite la competici´ on entre distintos agentes dando de esta manera la posibilidad de comparar a distintos investigadores los modelos desarrollados por cada uno de ellos. Por otro lado, puede ser utilizado como herramienta para realizar experimentos, donde ´estos pueden ser configurados de diferente forma por el usuario. El dominio que propone ART Testbed es el de las tasaciones de obras de arte por parte de tasadores con distintos grados de especializaci´on. Aunque la acogida de esta herramienta ha sido bastante buena durante los u ´ltimos a˜ nos por parte de la comunidad investigadora – habi´endose incluso celebrado dos competiciones internacionales y varias nacionales –, en nuestro caso decidimos no usarla para realizar nuestros experimentos. En primer lugar, el dominio elegido y la forma de evaluaci´on no 98

Cap´ıtulo 3. Modelo de confianza para agentes basado en estructuras organizativas

resultaba relevante. El dominio elegido no daba lugar al uso de taxonom´ıas, ni de roles ni de tareas. En cuanto a la evaluaci´ on, el modo de competici´on eval´ ua cu´anto dinero obtienen los agentes a partir de lo buenos tasadores que son y la compra/venta de informaci´ on al resto de participantes. Sin embargo esto hace que la implementaci´on de los agentes participantes no se haga en funci´on de realizar un buen modelo de confianza, sino en desarrollar todas las posibilidades para obtener el mayor beneficio posible en ese dominio. Adem´ as, en nuestro caso, no se estaba interesado en desarrollar mecanismos de reputaci´ on, por lo que la herramienta cubr´ıa m´as necesidades de las que se ten´ıan.

99

Ram´ on Hermoso Traba

100

Cap´ıtulo 4

Mecanismo de especializaci´ on de roles [...] Of necessity, he who pursues a very specialised task will do it best. Cyropaedia, Book VIII Xenophon

Las taxonom´ıas de roles como estructuras organizativas ya han sido estudiadas en el cap´ıtulo anterior, pero ahora veremos c´ omo en sistemas abiertos, dichas taxonom´ıas deben ser din´ amicas y adaptativas, de tal forma que la informaci´on que proporcionan los roles para estimar la confianza sea lo m´ as fiable posible. En la introducci´ on de este cap´ıtulo (siguiente secci´on) veremos la motivaci´on que existe en la sociedad para la evoluci´ on y adaptaci´on de roles, y c´omo ´este nos ha inspirado para la creaci´ on del mecanismo que se propone en este cap´ıtulo. Tras esta motivaci´ on veremos la descripci´ on del problema concreto, que queremos resolver.

4.1.

Introducci´ on

Una de las disciplinas que durante muchos a˜ nos ha sido el punto de partida para el estudio de la relaci´ on micro-macro en diferentes sistemas ha sido la teleolog´ıa. Esta rama de la filosof´ıa propugna el estudio sobre los fines o prop´ositos o, lo que es lo mismo, las causas finales de las cosas. Otros usos lo definen simplemente como la 101

Ram´ on Hermoso Traba

atribuci´ on de una finalidad o un objetivo a procesos concretos (108). A lo largo de los a˜ nos, los conceptos teleol´ ogicos, han servido a los investigadores para, por ejemplo, intentar explicar fen´ omenos biol´ ogicos como el origen y la evoluci´on de las especies (2). Normalmente, dentro de la sociolog´ıa, los tele´ologos se centran en la explicaci´on de fen´ omenos humanos de car´ acter social en sistemas en los que se puede definir un prop´ osito u objetivo claro. A partir de estos objetivos se elabora un mapa causal que lleva a definir por qu´e los participantes en el sistema se comportan como lo hacen. Para Conte y Castelfranchi (28) un sistema social funciona, principalmente, gracias al comportamiento de los individuos que participan en ´el y, por lo tanto, a sus objetivos y sus capacidades para lograrlos. Para estos autores se plantean las siguientes preguntas: 1. ¿C´ omo hacen los sistemas sociales para regular el comportamiento de sus miembros? ¿C´ omo los comportamientos de estos miembros responden a los objetivos del sistema? 2. ¿Podemos decir que los miembros de un sistema social pueden representar los objetivos del sistema en sus mentes? ¿O podemos decir que simplemente tanto los objetivos de los individuos como del sistema coinciden? Para ambas cuestiones, la respuesta que ofrecen los autores es que No necesariamente. 3. ¿Cu´ al es la relaci´ on entre los objetivos del sistema y los objetivos internos del individuo, que son los que realmente regulan las acciones? Si bien la teleolog´ıa se usa como ciencia para explicar la evoluci´on de un sistema a partir de sus prop´ ositos, ´estos suelen ser de car´acter externo. Es decir, el prop´osito del sistema es conocido de antemano y es sobre ´el sobre el que se debe regular el comportamiento de todos los individuos que participan en el mismo. Nos centramos en sistemas – en nuestro caso computacionales – en los que el prop´osito global est´a ligado a la satisfacci´ on de los objetivos de los individuos que los forman. Por ejemplo, si tomamos como referencia la sociedad humana del siglo pasado, encontramos que en el mundo occidental se ha llegado a acuerdos, convertidos primero en normas sociales, y m´ as tarde en leyes, por los cuales la acci´ on de matar est´a penada con castigos que var´ıan entre la privaci´ on de libertad hasta la propia muerte en algunos casos. En cambio, algunas sociedades m´ as primitivas, de algunos rincones de Sudam´erica segu´ıan practicando el canibalismo hasta hace poco tiempo. Los seres humanos somos distintos; vivimos en sociedades distintas. El objetivo de todas estas sociedades es el 102

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

objetivo u ´ltimo de cualquier animal, la supervivencia en el entorno y la perpetuaci´on de la especie. Sin embargo, diferentes evoluciones de una misma sociedad primitiva nos han llevado a sociedades actuales muy distintas. Esto viene provocado por los acuerdos o convenciones logradas por los individuos de cada sociedad a lo largo del tiempo, con respecto a las acciones que se llevaban a cabo en cada una de ellas. Es justamente este aspecto el que, de forma parcial, queremos tratar en este cap´ıtulo. Queremos mostrar c´ omo las acciones de los individuos de un grupo de agentes hacen emerger una estructura organizativa – a nivel macro – que regular´a dichas acciones, de la cual los participantes se pueden aprovechar, y que evolucionar´a a lo largo del tiempo como lo hace cualquier tipo de sociedad. En las sociedades humanas, las personas est´an sujetas al uso por parte de otras personas y, a su vez, por parte de sistemas de nivel mayor, como pueden ser grupos u organizaciones. En las ciencias sociales, el uso que se puede hacer de las personas y, especialmente sus funciones son llamadas roles (28). En nuestro caso, las estructuras organizativas de las que habl´ abamos en el p´arrafo anterior ser´an los roles (y su ordenaci´ on en taxonom´ıas) que los individuos en el sistema pueden tomar para realizar las diversas acciones posibles. Es importante recalcar que en sociolog´ıa, el concepto de rol como funcionalidad de uso a las personas es muy relevante. Supongamos el ejemplo de un grupo de amigos que decide formar un equipo de baloncesto. Cada una de las posiciones que pueden ocupar – base, escolta, alero, ala-p´ıvot y p´ıvot – son los roles que forman esa organizaci´ on de individuos en concreto. C´omo se reparten esos roles es algo que se puede realizar en base a diferentes criterios: Existe una autoridad, en este caso el entrenador, que otorga los roles a todos los agentes. Obs´ervese que a un mismo jugador le pueden ser asignados varios roles diferentes. Llegar a un consenso entre ellos para determinar, en base a sus cualidades, tanto f´ısicas como de habilidad, qu´e jugador ocupa qu´e rol. Esta segunda opci´ on es la que adoptamos en este cap´ıtulo. La definici´on de funcionalidad no determina la imposibilidad a un agente de realizar una serie de acciones, sino que simplemente indica a nivel organizativo una estructura de los individuos que pertenecen en un momento determinado al sistema. Adem´as, como describ´ıamos en el ejemplo, no siempre debe existir una autoridad externa que asigna los roles y, que a su vez, determina la estructura que ´estos deben tener. Desde nuestro 103

Ram´ on Hermoso Traba

punto de vista, las estructuras organizativas se forman y evolucionan en base a los individuos que participan en cada momento en el sistema, y es en base a ellos que deben ser modificadas. En el cap´ıtulo anterior expusimos c´ omo la estructura organizativa de un T-MAS proporcionaba informaci´ on valiosa a los agentes participantes en el mismo a la hora de seleccionar otros individuos con los que interaccionar. En particular, se usaba inferencia sobre los roles y tareas que los agentes desempe˜ naban en el sistema. Propon´ıamos este modelo de confianza como mecanismo a nivel micro por el cu´al el agente se beneficiaba del entorno para hacer m´as efectivas sus acciones sociales. El uso que pueden hacer los agentes de las estructuras organizativas como fuente de informaci´ on provoca que ´estas deben ser mantenidas y actualizadas, para reflejar en todo momento cu´ al es la estructura del sistema. En este cap´ıtulo, proponemos el dise˜ no de un mecanismo a nivel macro que se encarga precisamente de la creaci´on y evoluci´ on de roles en taxonom´ıas de tal forma que estas u ´ltimas reflejen de alguna forma la tendencia en el comportamiento de los agentes a lo largo del tiempo. Veamos un ejemplo que ilustra este mecanismo en el mundo real con agentes humanos: el rol cirujano se crea para cubrir el hueco existente entre aquellos m´edicos que son ”buenos” – y, por consiguiente, confiables desde la perspectiva del resto – realizando operaciones de cirug´ıa y aquellos que no demuestran un nivel suficiente de calidad para realizar tales acciones. Este ejemplo no impide, como tampoco lo hace nuestra definici´ on de T-MAS, que algunos m´edicos sin la habilidad y capacidad de los cirujanos realicen operaciones, sino que justamente esa diferencia de resultados har´a, por consiguiente, que se establezca una diferenciaci´on social entre unos m´edicos y otros, puesto que, aunque s´ olo sea de facto, ese rol se crear´a para reflejar la calidad de unos agentes para realizar una tarea o tareas demandadas por el resto. Es interesante observar las distintas dimensiones que toma el concepto de rol en este ejemplo. Podr´ıamos distinguir una dimensi´ on social, donde el rol surge por la interacci´on social de los agentes; y una dimensi´ on institucional, una vez la sociedad crea el rol, todos lo adoptan como instrumento de coordinaci´ on. Siguiendo con el ejemplo, una vez el rol adquiere su faceta institucional, ning´ un ser humano se pregunta por qu´e ha de ser operado por un cirujano y no por un traumat´ologo, simplemente ha sido aceptado por la sociedad. El ejemplo anterior describe de alguna forma el mecanismo evolutivo de roles que se presenta en este cap´ıtulo. Por un lado, el mecanismo se encargar´a de la creaci´on de nuevos roles que emergen por una demanda social en el T-MAS. Esta demanda viene 104

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

impuesta por el conjunto de agentes participantes en el sistema en un momento dado. El mecanismo crear´ a los roles a partir de la distinci´on que har´a entre aquellos agentes que generen buenas expectativas para realizar un conjunto de tareas y aquellos que tienen unas expectativas menores haciendo lo mismo. Estas expectativas no son sino cu´ an confiables son los agentes jugando un rol determinado para un subconjunto de tareas de ese mismo rol. Siguiendo el ejemplo anterior, durante la Edad Media la figura del m´edico estaba encargada (el pueblo ten´ıa altas expectativas en ellos) de un conjunto bastante numeroso de tareas, desde operar cualquier tipo de cirug´ıa hasta tratar enfermedades v´ıricas, pasando por la traumatolog´ıa. En cambio, hoy en d´ıa, la medicina se ha estructurado en campos m´as espec´ıficos, creando una estructura de roles acorde a expectativas m´ as precisas. Este proceso de evoluci´on que se ha realizado a lo largo del tiempo, a partir primero de la creaci´on de roles de facto y m´ as tarde pasando a ser estos u ´ltimos roles institucionales, es el que tratamos de reproducir con este mecanismo, intentando que proporcione el mismo resultado: una mayor efectividad a la hora de seleccionar la acci´on mas adecuada con aquel individuo que ofrece m´ as garant´ıas. El mecanismo que introducimos en este cap´ıtulo tendr´a la forma de un mecanismo organizativo, de tipo informativo (ver Cap´ıtulo 2), que tiene como principal misi´on el facilitar a los agentes la selecci´ on de individuos con los que interactuar. Como ya apuntamos en su momento, los mecanismos informativos apuestan por la no prescripci´ on sobre el entorno, dejando libertad a los agentes de seleccionar acciones que, incluso, pueden no ser las mejores de acuerdo a sus objetivos individuales. Teniendo en cuenta que los agentes con los que tratamos son racionales, esta informaci´ on ”extra” que ofrecen estos mecanismos les permite precisar m´as sus decisiones sobre las acciones a tomar, como consecuencia de un razonamiento m´as exhaustivo. Aunque estos mecanismos no tienen por qu´e ofrecer informaci´on u ´til para cada uno los individuos del sistema, s´ı que pueden mejorar sustancialmente la utilidad media de los participantes en el mismo.

4.1.1.

Descripci´ on del Problema

En sistemas abiertos, en los que es dif´ıcil establecer a priori cualquier tipo de estructura que fomente la coordinaci´ on de los agentes sin coartar en gran medida la autonom´ıa de los mismos, la creaci´ on y aplicaci´on de mecanismos de coordinaci´on que se adapten a los agentes participantes, dot´andolos de alg´ un tipo de informaci´on 105

Ram´ on Hermoso Traba

que les facilite el razonamiento para sus acciones, es necesaria. Adem´as, este tipo de SMAs son complejos de construir usando entidades de control centralizadas, donde se pudiera monitorizar o establecer en cada momento qu´e est´a pasando en el sistema y c´ omo est´ a ocurriendo. Cuando adem´ as se trata de un entorno abierto, soluciones en las que los propios agentes a ser coordinados participan en la coordinaci´on se presentan como muy prometedoras. En el Cap´ıtulo 3, un T-MAS era definido como T M = hAg, T , U, EO = {∆R ∪

∆T }i, donde Ag era el conjunto de agentes participantes en el T-MAS, T era el conjunto de tareas que se pod´ıan llevar a cabo en el sistema, U la utilidad global del

sistema, y EO la estructura organizativa, consistente en una taxonom´ıa de roles y otra de tareas, ∆R y ∆T , respectivamente. El objetivo en dicho cap´ıtulo consist´ıa en la elaboraci´ on de una soluci´ on para que los agentes participantes en el sistema pudieran alcanzar su pol´ıtica ξ ´ optima para delegar sus tareas lo antes posible. La soluci´ on propuesta consist´ıa en un modelo de confianza que usaba las estructuras organizativas para estimar la bondad en la consecuci´on de las tareas que les eran delegadas a otros agentes en el sistema. El entorno que se aborda en este cap´ıtulo es esencialmente el mismo que el usado en el Cap´ıtulo 3. Sin embargo, en el presente cap´ıtulo tratamos con T-MAS abiertos, lo que implica ciertos detalles que presentan nuevos problemas: La poblaci´ on de agentes puede cambiar a lo largo del tiempo. El comportamiento de los agentes puede ser heterog´eneo, en el sentido de que no todos los agentes tienen por qu´e compartir las mismas preferencias sobre las mismas percepciones al delegar una cierta tarea a otro agente. Nos enfrentamos ahora con entornos din´ amicos. Recordemos, que las estructuras organizativas EO (en nuestro caso una taxonom´ıa de roles y otra de interacciones) en ´ el Cap´ıtulo 3 eran conocidas a priori y est´ aticas a lo largo del tiempo. Esto presenta el problema de la falta de adecuaci´ on de las mismas debido al dinamismo del sistema. Por lo tanto, es necesario el dise˜ no de alg´ un tipo de mecanismo que procure cierta evoluci´on de las estructuras organizativas para que ´estas sean v´alidas en todo momento. Para reducir el problema, redefinimos EO = {∆R } 1 . Si consideramos un T-MAS como un sistema abierto, entonces se necesita un mecanismo que evolucione la estructura organizativa EO del mismo a lo largo del 1 No

tratamos en este cap´ıtulo con taxonom´ıas de tareas.

106

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

tiempo. Definimos para ello la siguiente funci´ on e: e : EO × P(Ag) × P(T ) × U → EO donde P(Ag) es el conjunto de los posibles subconjuntos de Ag, P(T ) es el conjunto

de los posibles subconjuntos de T y U es el conjunto de posibles funciones de utilidad de un T-MAS.

Sea T M = hAg, T , U, EOi un T-MAS, la evoluci´on de la estructura organizativa

viene definida por:

EO0 ← e(EO, Ag, T , U) La funci´ on e evoluciona la taxonom´ıa de roles (contenida en EO) a partir del estado actual del T-MAS. Por lo tanto, podemos concluir que la estructura organizativa de un T-MAS se modificar´ a en funci´ on de los cambios, o bien en la poblaci´on del sistema (par´ ametro P(Ag)), o bien en las utilidades individuales de los agentes (agregadas en U). Si recordamos la definici´ on de la funci´ on f de evoluci´on de pol´ıticas de delegaci´on de tareas (ver Definici´ on 3.2), ´esta ten´ıa en cuenta las estructuras organizativas presentes en el T-MAS a la hora de generar la nueva pol´ıtica. Por lo tanto, la evoluci´on de las estructuras organizativas est´ a directamente relacionada con la utilidad esperada de los agentes al delegar una tarea. Las estructuras organizativas inciden en la mejor o peor selecci´ on de pol´ıticas de delegaci´ on de tareas de los agentes. De esta forma, podr´ıamos definir cu´ ando una estructura organizativa es mejor que otra. Definici´ on 4.1. Sea T M1 0

=

hAg, T , U, EOi un T-MAS, y sea T M2

=

hAg, T , U, EO i el mismo T-MAS con un conjunto de estructuras organizativas

diferente. Diremos que EO es mejor que EO0 en un cierto instante k si se cumple que UT M1 (k) ≥ UT M2 (k). Definici´ on 4.2. Una estructura organizativa EO es ´ optima si para cierto instante k induce a conseguir una pol´ıtica ξ de asignaci´ on de tareas ´ optima a todos los agentes. As´ı pues, el problema que tratamos en este cap´ıtulo es el de encontrar en cada instante una taxonom´ıa de roles ´ optima con las siguientes restricciones: La taxonom´ıa de roles deber´ a tener un tama˜ no aceptable. Como ya veremos, existir´ an diversos filtros que delimitan el tama˜ no de la taxonom´ıa. Se necesita una taxonom´ıa en la que se puedan realizar cambios f´acilmente. 107

Ram´ on Hermoso Traba

T-MAS Taxonomía de roles Población R

Provocan la evolución de taxonomía de roles R1

R1.1

R1.2

R1.3

R1.2.1

R1.2.2

R1.3.1

R2

R3

R2.1

R3.1

R3.1.1

R3.2

R3.1.2

Usan la taxonomía de roles en su modelo de confianza

Figura 4.1: Ciclo de evoluci´ on de los roles y del uso de los modelos de confianza de la poblaci´ on.

Puesto que hemos concluido anteriormente que un buen conjunto de estructuras organizativas induce a unas buenas pol´ıticas de delegaci´on de tareas para los agentes que participan en un T-MAS, el objetivo de este cap´ıtulo ser´a, pues, el desarrollar un mecanismo e que evolucione la taxonom´ıa de roles de un T-MAS de tal forma que los agentes participantes en ´el maximicen su utilidad esperada para cada instante k.

4.1.2.

Caracter´ısticas generales del mecanismo

Ciclo micro-macro de interacci´ on

En el Cap´ıtulo 3 presentamos un modelo de

confianza (nivel micro) que usa las estructuras organizativas, entre ellas la taxonom´ıa de roles de un T-MAS, como fuente de informaci´on. En este cap´ıtulo proponemos un mecanismo (a nivel macro) que construye y evoluciona en el tiempo este tipo de taxonom´ıas. Nuestra concepci´ on de los T-MAS como sistemas abiertos conlleva el mantenimiento de las estructuras organizativas que los forman. Si bien en el cap´ıtulo anterior plante´ abamos un modelo de confianza que el agente incorporaba para usar la taxonom´ıa de roles, precisamente la naturaleza abierta del sistema provocar´a que la taxonom´ıa de roles tenga que adaptarse a lo largo del tiempo. Para hacer esto, necesitamos de un mecanismo a nivel macro que garantice que ´esto se llevar´a a cabo. As´ı pues, completamos un ciclo (como el mostrado en la Figura 4.1) que ayuda a los agentes a seleccionar otros individuos a los que delegar tareas en entornos que pueden ser din´ amicos. La flecha inferior en la figura indica el problema de c´omo usar 108

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

la taxonom´ıa de roles como fuente de informaci´on, mientras que la flecha superior representa c´ omo la taxonom´ıa se adapta a la poblaci´on existente de manera din´amica. Situaci´ on del mecanismo en el entorno

Para establecer el mecanismo que

se ocupe de construir la taxonom´ıa de roles y de proveer de informaci´on sobre la misma, nos apoyaremos en la abstracci´ on de mecanismos organizativos (21) – repasada en el Cap´ıtulo 2. En concreto, estamos interesados en realizar un mecanismo informativo para evolucionar taxonom´ıas de roles en T-MAS. En general, lo mecanismos informativos deben tener las siguientes propiedades, sea cual sea su objetivo: Disponibilidad. La informaci´ on deber´ıa estar disponible para todos los agentes del sistema, de manera que todos ellos pudieran consultarla a voluntad. No obstante, esto no significa que la informaci´on haya de estar centralizada, podr´ıa estar distribuida, dependiendo de la naturaleza de la organizaci´on. Homogeneidad. La informaci´ on debe ser homog´enea para todos los agentes, es decir, la informaci´ on que provee el mecanismo debe de ser la misma para todos los agentes. Relevancia. La informaci´ on deber´ a tener un valor a˜ nadido, es decir, debe ”informar” de algo que, a priori, ser´ a de importancia para el agente y que, por tanto, le ayude a tomar sus decisiones. Admisibilidad. Se refiere a que el uso del mecanismo debe conllevar ventajas para los agentes que lo usen, en relaci´ on a la utilidad que obtienen en el proceso de delegaci´ on de tareas. En este cap´ıtulo se presenta un mecanismo que trata de ser fiel a estas propiedades, intentando adaptar la estructura organizativa, en particular los roles, de tal forma que reflejen el estado del sistema en cada momento, y puedan proveer de informaci´on a aquellos agentes que la requieran.

4.1.3.

Informaci´ on organizativa. Taxonom´ıas de roles.

Los roles son entidades que deben permitir al agente razonar sobre la idoneidad de delegar alg´ un tipo de tarea a otro individuo. Pero el rol, en s´ı mismo, no fuerza al agente a realizar una determinada acci´ on o conjunto de acciones, sino que simplemente plantea una expectativa sobre la potencial realizaci´on de las mismas. 109

Ram´ on Hermoso Traba

Roles y Taxonom´ıas en T-MAS Desde un punto de vista funcionalista un rol es un puesto para desempe˜ nar una funci´ on determinada dentro de cualquier grupo de individuos. Esta posici´on generar´ a un conjunto de expectativas sobre los individuos del grupo. Si las expectativas se cumplen, el rol pasar´ a a ser de facto una norma social por consenso entre los individuos, es decir, los individuos aceptan como v´alidas estas posiciones en el grupo, as´ı como las expectativas derivadas de los mismos. En nuestro caso, los roles son concebidos como un conjunto de expectativas que los agentes tendr´ an sobre los individuos que desempe˜ nen dicho rol, en cuanto a la bondad de ´estos realizando ciertas tareas si le son asignadas. Formalmente: Definici´ on 4.3. Sea T M = hAg, T , U, EOi un T-MAS y sea R un conjunto de identificadores de rol (etiquetas u ´nicas). Un rol en T M ser´ a un par hr, Er i donde: r ∈ R es el nombre del rol; Er = {t1 , ..., tn } con ti ∈ T es un conjunto finito de tareas. La sem´ antica que pretendemos darle al rol es la siguiente: un agente jugando el rol descrito por el identificador r est´ a cualificado para realizar las tareas del conjunto Er . En este caso el hecho de estar cualificado significa que al agente en cuesti´on

se le presuponen ciertas capacidades y destrezas para realizar la tarea, en general, de manera satisfactoria. Decimos en general, porque la subjetividad de cada agente descrita por su funci´ on de evaluaci´ on de la utilidad para cada realizaci´on de una tarea por parte de otros agentes, plantea que las expectativas para unos y otros agentes puedan cambiar y que, por lo tanto, las propias expectativas de un agente entren en conflicto con las expectativas que proporciona el rol en el sistema. El rol, a trav´es de las expectativas que genera, es capaz de representar para qu´e tareas el rol es bueno en un momento determinado. Es decir, alejados de la noci´on de rol que lo presenta rol como prescriptor para regular acciones (s´ olo los agentes que juegan el rol X pueden realizar una determinada acci´ on), nuestra definici´on lo presenta como un cualificador para un conjunto de acciones (los agentes que jueguen el rol X debe estar cualificados para ello). La cualificaci´ on de un agente para una tarea veremos que se medir´a como la expectativa que crea la confianza generada por dicho agente, realizando dicha tarea, con ese rol, sobre el resto de individuos del sistema a lo largo del tiempo. Consideramos, pues, que todos los agentes son capaces de realizar cualquier tarea, pero con capacidades diferentes para cada una de ellas. De esta forma, podr´ıamos 110

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

decir que la utilidad que generar´ a un agente realizando una tarea para la que no est´ a capacitado ser´ a muy baja o, incluso, nula. En el Cap´ıtulo 3 tomamos una visi´ on general de taxonom´ıa, como un conjunto de elementos que mantienen alg´ un tipo de especializaci´on organizativa y que categorizan un conjunto de individuos. Vamos a pasar a extender dicha definici´on para permitir su evoluci´ on. Formalmente, y como extensi´ on de la definici´on de taxonom´ıa presentada en el Cap´ıtulo 3, definimos una taxonom´ıa de especializaci´on de roles como sigue: Definici´ on 4.4. Sea T M = hAg, T , U, {∆R }i un T-MAS y R un conjunto de

identificadores de rol, una taxonom´ıa de especializaci´ on de roles en T M ser´ a una estructura ∆R = hΠ, Br i, compuesta por un conjunto de roles Π, sobre R (tal que los

identificadores de rol son distintos para roles diferentes) y T , y una relaci´ on de orden parcial Br en Π, tal que:

1. ∃rraiz = hrraiz , Eraiz i ∈ Π : Er = T ∧ ∀r ∈ Π : (r = rraiz ∨ rraiz Br r)

(4.1)

2. ∀hr1 , E1 i, hr2 , E2 i ∈ Π : hr1 , E1 i Br hr2 , E2 i ⇔ E2 ⊆ E1 P ∀t ∈ E2 :

P

a∈Ag b∈ag(r2 )

Ua (b, t)

|ag(r2 )| · |Ag |



(4.2)

P ≥

P

a∈Ag b∈ag(r1 )

Ua (b, t)

|ag(r1 )| · |Ag |

(4.3)

En la definici´ on, ag(r) es una funci´ on que se define como: ag : R → P(Ag) y denota el conjunto de agentes que juegan el rol r. Las taxonom´ıas de especializaci´ on de roles deber´an seguir las siguientes propiedades: 1. Radicaci´ on. Siempre existe un rol ra´ız (hrraiz , Eraiz i) que contiene todas las tareas realizables (T ) en T M y que no es una especializaci´on de ning´ un otro

rol. Esta propiedad da consistencia a nuestra asunci´on de que cualquier agente puede realizar cualquier tarea participando en T M . De esta forma, todo agente podr´ a jugar, al menos, el rol hrraiz , Eraiz i en T M . 111

Ram´ on Hermoso Traba

2. Especializaci´ on. Esta propiedad viene definida por la relaci´on de orden parcial Br , basada en las expectativas que los agentes tienen en aqu´ellos que juegan los distintos roles, o lo que es lo mismo, en la calidad con la que esos agentes desempe˜ nan esos roles – realizando las tareas que los describen. Es decir, dados dos roles hr1 , E1 i y hr2 , E2 i ∈ Π, la relaci´ on hr1 , E1 iBr hr2 , E2 i se cumple, si y s´olo

si, existe un subconjunto de tareas en E1 para las que los agentes que juegan el rol hr2 , E2 i han demostrado aportar una mayor calidad en media – y, por tanto, son m´ as confiables – que los agentes que juegan el rol hr1 , E1 i.

La propiedad de radicaci´ on asegura que todas las tareas del sistema pueden ser realizadas por todos los agentes, puesto que todos ellos juegan este rol por defecto. La propiedad de especializaci´ on garantiza una estructura por la cual es f´acil determinar las expectativas de los roles en comparaci´ on con el resto para determinadas tareas. Las expectativas que definen los roles podr´ıan ser interpretadas como la confianza que los participantes en el T-MAS tienen sobre el resto de los agentes jugando dichos roles. Por otro lado, la taxonom´ıa de roles evolucionar´a a partir de informaci´on que proporcionar´ an los agentes participantes del T-MAS. Esta informaci´on estar´a basada en la confianza que los agentes han sido capaces de estimar a lo largo de sus interacciones en el sistema. De esta forma, este movimiento macro-a-micro, de utilizaci´ on de la taxonom´ıa de roles por parte de los agentes para elegir individuos a los que delegar, tiene su complemento micro-a-macro concurrente, puesto que los agentes alimentan a su vez al mecanismo con informaci´on para futuras evoluciones. La Figura 4.2 ilustra este movimiento.

4.2.

Mecanismo adaptativo para la evoluci´ on de taxonom´ıas de especializaci´ on de roles

El mecanismo a crear debe cubrir los siguientes dos aspectos fundamentales: Evoluci´ on. El mecanismo se ejecutar´ a de manera continuada durante el ciclo de vida del T-MAS (m´ as adelante discutiremos qu´e pol´ıticas podr´ıan ser m´ as beneficiosas para ´esto) dando como resultado taxonom´ıas cada vez mas especializadas; Adaptaci´ on. El car´ acter abierto de los T-MAS sobre los que estamos trabajando, donde los agentes pueden conectarse y salir del sistema cuando 112

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Figura 4.2: Esquema de la relaci´ on entre los niveles micro y macro con la confianza como catalizador de interacciones. lo deseen y, a su vez, pueden tener preferencias muy diferentes, hacen que el mecanismo deba mantener una taxonom´ıa de especializaci´on de roles coherente y consistente con respecto a los agentes que est´an participando en cada momento, puesto que una taxonom´ıa imprecisa podr´ıa tener el efecto contrario al que deseamos, es decir, que los agentes pierdan utilidad usando esta informaci´on, en lugar de ganarla. A continuaci´ on, describimos las dos facetas del mecanismo: la creaci´ on de roles y su estructuraci´ on en una taxonom´ıa de especializaci´on de los mismos, y m´as tarde, la adaptaci´ on continua de dichas estructuras.

4.2.1.

Creaci´ on de taxonom´ıas de roles

A partir de este punto explicaremos m´ as en detalle c´omo hemos dise˜ nado el mecanismo que crea la taxonom´ıa de roles en el T-MAS. Ser´a la estimaci´on de la confianza entre los agentes lo que propiciar´ a la creaci´on y evoluci´on de la taxonom´ıa de roles. El mecanismo usar´ a la informaci´ on relativa a la confianza que cada agente posee para, por un lado adaptar y, por el otro evolucionar la taxonom´ıa de roles capturando los patrones de comportamiento de los agentes dentro del T-MAS. N´ otese que no mencionamos en ning´ un momento una evoluci´on de la taxonom´ıa 113

Ram´ on Hermoso Traba

de roles basada en medidas de calidad. En este trabajo se propone la creaci´on de nuevos roles basada en la confianza que los agentes que juegan los roles ya existentes inspiran al resto de participantes. Es muy razonable pensar que la confianza es un factor que est´ a alineado de alguna manera con la funci´on de utilidad del agente; es decir, un agente que obtiene un valor bajo de utilidad para una determinada tarea lo reflejar´ a negativamente en su grado de confianza – independientemente del modelo de confianza que use. As´ı pues, nuestro mecanismo intenta construir una fuente de informaci´ on, como es la taxonom´ıa de roles a partir de un c´alculo individual y subjetivo de la confianza por parte de los agentes. Este trabajo propone usar m´etodos de agrupamiento (clustering) para capturar patrones de comportamiento de los agentes que participan en el T-MAS y, posteriormente, convertir estos patrones en nuevos roles. La principal idea radica en identificar grupos de agentes que realizan un conjunto de tareas mejor que otros, reflejando este hecho con la creaci´ on de un nuevo rol. Para hacer ´esto, y tomando la notaci´ on del modelo de confianza presentado en el Cap´ıtulo 3, asumimos que los agentes almacenan internamente los valores de confianza cai →hak ,r,ti ∈ [0..1], que representan la confidence que el agente ai ha recopilado a lo largo del tiempo acerca del agente ak realizando la tarea t usando el rol r (desde su punto de vista individual). Los valores de confianza almacenados por los agentes proporcionan un medio para representar a los agentes como un vector en un espacio n-dimensional formado por todas las posibles tareas t ∈ T en el T-MAS, donde n = |T |. En particular, un agente

ai se representa como un vector a ck = (¯ c1 , c¯2 , ..., c¯n ) donde c¯i representa la confianza media que el resto de agentes en el sistema tiene en relaci´on a la capacidad del agente ak de realizar la tarea tj . Se formaliza como sigue:

P c¯j =

cai →hak , ,tj i

ai ∈Ag

|Ag |

(4.4)

donde cai →hak , ,tj i representa el valor de confidence que el agente ai tiene para la situaci´ on en la que el agente ak realiza la tarea tj , sea cual sea el rol que ha desempe˜ nado para hacerlo. Usando esta dimensionalidad podemos definir un espacio – que llamaremos espacio de confianza (T S del ingl´es Trust Space) – como se muestra a continuaci´on: T S = {c ak = (¯ c1 , c¯2 , ..., c¯n ) | ak ∈ Ag } 114

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

De manera an´ aloga, dado un rol r = hr, Ei, podemos definir un espacio de confianza

para todos los agentes que juegan r de la siguiente forma:

T Sr = {c ak = (¯ c1 , c¯2 , ..., c¯m ) | ak ∈ ag(r) El centroide o punto medio de este espacio de confianza, Td Sr = (¯ c01 , c¯02 , ..., c¯0m ) con c¯0i ∈ E, representa cu´ an confiables son los agentes que juegan ese rol con respecto a la

realizaci´ on de las tareas en E. T´engase en cuenta que n no tiene por qu´e ser igual a m, puesto que cada rol puede estar especializado para m tareas, siendo m ≤ |T |.

Un espacio de confianza T Sr puede ser subdividido en grupos de agentes tal que

esos grupos cumplan la propiedad de especializaci´ on descrita en la definici´on 4.4. Es decir, si de entre aquellos agentes que juegan un mismo rol para determinadas tareas existe un subgrupo que est´ a m´ as especializado, ya sea para las mismas o para un subconjunto de esas tareas, decimos que existe una demanda social para la creaci´on de un nuevo rol, que surgir´ a para hacer m´ as efectiva la b´ usqueda de agentes a los que realizar la delegaci´ on. En la Figura 4.3 se proporciona un ejemplo de c´omo los espacios de confianza de los roles pueden ser subdivididos dando lugar a nuevos roles. Los valores escritos sobre cada rol representan el vector centroide de todos los agentes que desempe˜ nan el rol. En la figura s´ olo se muestran los valores de las tareas que caracterizan al rol (como se mostraba en la Definici´ on 4.3). En este ejemplo, el conjunto T de tareas disponibles en el T-MAS es T = {T1 , T2 , T3 , T4 }. El rol ra´ız de la taxonom´ıa representa la media de las expectativas para los agentes en cada una de las tareas en T . En la primera parte

de la Figura 4.3, observamos una posible taxonom´ıa primitiva o primera taxonom´ıa que sirve de entrada al mecanismo. Esta taxonom´ıa contiene un u ´nico rol, que ser´a la ra´ız de cualquier taxonom´ıa que se evolucione, y que viene representado por todas las tareas del T-MAS. En la segunda parte de la figura, observamos la taxonom´ıa resultado de aplicar el mecanismo al estado del sistema en la parte 1. Por un lado, obtenemos un rol llamado R1.1 , que especializa al rol ra´ız (R1 ) para las tareas T3 y T4 . Como se puede ver, este rol surge porque un subconjunto de los agentes que jugaban el rol R1 han demostrado ser mejores para un subconjunto de tareas del rol superior – en este caso T3 y T4 – que el resto de los agentes con los que compart´ıan rol y tareas. Podemos observar c´ omo la taxonom´ıa resultado cumple las propiedades requeridas por la Definici´ on 4.4, acerca del orden parcial Br ya que, cuanto m´as especializado es un rol m´ as alta es la expectativa media para su conjunto de tareas Er . Con esta taxonom´ıa resultante un agente racional dispondr´ıa de m´as informaci´on 115

Ram´ on Hermoso Traba

Figura 4.3: Proceso de evoluci´ on de la taxonom´ıa de roles.

que en la taxonom´ıa anterior para tomar una decisi´on sobre a qu´e agente delegar una tarea. Por ejemplo, un agente reci´en llegado al sistema, sin ning´ un tipo de informaci´on previa sobre los participantes del mismo y sus delegaciones pasadas, podr´ıa usar la taxonom´ıa actual para determinar que podr´ıa ser beneficioso delegar la tarea T3 a aquellos agentes que hayan demostrado jugar con garant´ıas el rol R1.1 , mientras que existir´ a una mayor probabilidad de que elija a los que jueguen el rol R1.2 para delegar la tarea T2 . La tarea T4 , para la que ambos roles est´an especializados, es algo distinta, puesto que el agente deber´ a elegir entre aquellos agentes que juegan uno de los dos roles. Parece claro, pues, que el mecanismo reduce el espacio de b´ usqueda en cuanto 116

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

a agentes se refiere. C´ omo cada agente decide con qu´e otro interactuar es inherente al razonamiento del mismo, no interfiriendo el mecanismo en dicha decisi´on. Veremos m´ as en detalle en la secci´ on de experimentos el proceso de decisi´on de un agente. En la tercera parte del dibujo que se presenta en la Figura 4.3, vemos c´omo se han realizado otras especializaciones en la taxonom´ıa, dando lugar a otros dos nuevos roles. Estos nuevos roles (R1.1.1 y R1.2.1 ) representan c´omo a lo largo del tiempo algunos de los agentes que han jugado los roles R1.1 y R1.2 se han especializado m´as en la tareas T4 y T2 y T4 , respectivamente. El primer caso es an´alogo a lo sucedido en la formaci´on de R1.1 y R1.2 . En cambio, el caso de R1.2.1 merece que los expliquemos m´as en detalle. Como se puede observar, este rol emerge a partir del rol R1.2 con un subconjunto de los agentes que lo juegan, pero con un mismo conjunto ER1.2 de tareas para las que son expertos. Podr´ıamos decir entonces que tanto R1.2 como R1.2.1 son roles adecuados para realizar las tareas T2 y T4 , en cambio, permitimos esta especializaci´on porque los agentes que jueguen el u ´ltimo crean unas expectativas m´as altas en cuanto a la calidad de una futura delegaci´ on de alguna de esas tareas. Algunas propiedades relevantes que se pueden observar en el ejemplo anterior son las siguientes: Cuando un agente juega un rol nuevo sigue desempe˜ nando el rol superior, puesto que sigue formando parte de ese patr´ on de comportamiento. En la vida real un cirujano no deja nunca de ser m´edico y es esta analog´ıa la que usamos en el mecanismo. Los agentes usar´ an la taxonom´ıa en su proceso de toma de decisiones. Si bien no es obligatorio, en este cap´ıtulo haremos pruebas usando esta asunci´on. Algoritmo de clustering K-Means basado en confianza Como ya hemos apuntado anteriormente, para captar los patrones de comportamiento de los agentes usaremos un algoritmo de agrupamiento (o clustering). El an´ alisis de agrupamiento o simplemente clustering es un proceso supervisado que divide conjuntos de objetos en grupos homog´eneos, en los que los objetos pertenecientes al mismo grupo son similares, mientras que los objetos pertenecientes a grupos distintos son diferentes. Matem´ aticamente, un conjunto de datos con n objetos, cada uno de los cuales se describe mediante d atributos, se denota por D = {x1 , x2 , ..., xn } donde xi = (xi1 , xi2 , ..., xid )T es un vector que representa el objeto i-´esimo y xij un escalar que simboliza el atributo j-´esimo de xi . 117

Ram´ on Hermoso Traba

Las distancias y similitudes juegan un papel muy importante en el an´alisis de agrupamientos (o clusters). En general, ambos conceptos son rec´ıprocos. A menudo, las medidas de similitud se usan para describir cuantitativamente c´omo de similares son dos objetos o agrupaciones de objetos. Dentro del abanico de distintos algoritmos de agrupamiento que existen, est´an aquellos denominados center-based algorithms. En ellos, cada cluster es representado por un punto central o centroide. Entre los algoritmos de esta categor´ıa se encuentra el K-Means, descrito por primera vez por Macqueen en 1967 (90), que es uno de los m´ as usados. En este algoritmo, el n´ umero de clusters que se intenta crear es fijo, y es representado por el valor k. El algoritmo K-Means convencional (59)(60) est´a descrito en el Algoritmo 5. El algoritmo K-Means se divide en dos fases distintas: i) la fase de inicializaci´on, y ii) la fase iterativa. En la fase de inicializaci´ on, el algoritmo asigna de forma aleatoria los objetos a los k clusters. En la fase iterativa, el algoritmo calcula los centroides de cada cluster y, posteriormente la distancia entre cada objeto y cada uno de dichos centroides, asignando cada objeto al cluster m´as cercano; la fase iterativa termina cuando, o bien las distancias no cambian, o bien se supera el l´ımite m´aximo de iteraciones. Hemos elegido el algoritmo K-Means para su uso en el mecanismo de creaci´on de la taxonom´ıa de roles porque ha sido evaluado muy extensamente en las u ´ltimas tres d´ecadas y porque su forma de definir la similitud entre dos elementos es relativamente sencilla y directamente aplicable en nuestro mecanismo. Aunque existen diversas variantes del algoritmo, especialmente en funci´on de c´omo se calcula la distancia entre dos puntos, hemos optado por implementar el mecanismo usando la cl´asica distancia eucl´ıdea entre dos puntos:

v u d uX |(xi − yi )|2 d(x, y) = t

(4.5)

i

Adem´ as, para la fase de inicializaci´ on del algoritmo se ha decidido utilizar una variante de la forma tradicional, basada en la selecci´on estoc´astica de los centros en la primera iteraci´ on. Este algoritmo, llamado K-Means++, propuesto por Arthur y Vassilvitskii (3), busca minimizar la suma de las distancias al cuadrado desde cada punto del espacio estudiado hasta el centro del cluster al que est´a asignado. Para 118

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Algoritmo 5 Algoritmo K-Means Require: E = {e1 , e2 , ..., en }, conjunto de objetos Require: k, n´ umero de clusters a hacer

Require: M axIters, n´ umero m´ aximo de iteraciones Ensure: C = {c1 , c2 , ..., ck }, conjunto de centroides de cada cluster {Fase de inicializaci´ on}

1: 2: 3: 4:

C←∅ L←∅

for ci ∈ C do

ci ← ej {asignaci´ on aleatoria}

5:

end for

6:

for ei ∈ E do

7:

l(ei ) ← argmin d(ei , cj ) {donde j ∈ {1...k}}

8:

end for

9:

cambiado ← f also

10:

i←0

{Fase iterativa} 11: 12: 13:

repeat

for ci ∈ C do

actualizaCluster(ci )

14:

end for

15:

for ei ∈ E do

16: 17: 18: 19: 20:

minDist ← argmin d(ei , cj ) {donde j ∈ {1...k}} if minDist 6= l(ei ) then l(ei ) ← minDist

cambiado ← true

end if

21:

end for

22:

i++

23:

until cambiado AND (i < M axIters)

24:

return C

119

Ram´ on Hermoso Traba

ello, incide en la importancia de la selecci´ on de los primeros k centroides en la fase de inicializaci´ on. K-Means++ propone una forma alternativa de realizar esta primera selecci´ on. A continuaci´ on, mostramos c´ omo funciona el algoritmo K-Means++: 1. Elegir un centroide inicial c1 uniformemente aleatorio de un espacio X 2. Elegir el siguiente centroide ci , seleccionando ci = x0 ∈ X con probabilidad 0 2

P D(x ) 2 x∈X D(x) 3. Repetir el paso 2 hasta que se hayan elegido un total de k centroides. 4. Proceder con el algoritmo K-Means est´ andar (en su fase iterativa). donde D(x) denota la distancia m´ınima desde el punto x y el centroide m´as cercano de los que ya se han fijado. Sea T M un T-MAS con un conjunto de roles Π y una taxonom´ıa de especializaci´on de ´estos ∆R = hΠ, Br i. Sobre esta taxonom´ıa aplicaremos el algoritmo de clustering

K-Means a cada espacio de confianza T Srj , donde rj ∈ Π. En cada ejecuci´on el algoritmo devuelve k agrupaciones. El vector centroide de cada agrupaci´on representar´ a el comportamiento esperado de los agentes que lo han jugado hasta ahora, mientras que el cluster en s´ı mismo representar´a el patr´on de comportamiento de todos los agentes incluidos en ´el. La Figura 4.4 muestra un ejemplo de espacio de confianza sobre una taxonom´ıa de especializaci´ on de roles para un T-MAS. En este ejemplo se observa c´omo, de entre todos los agentes que pueden jugar el rol Persona en el sistema, s´olo algunos de ellos ofrecen altas expectativas (altos valores medios de confidence, es decir, la componente t¯1 de los agentes ai que forman el cluster es alta) para la tarea ´ DiagnosticarEnf ermedad. Esto causar´ a la aparici´on de un nuevo rol (M´edico) que especializa la taxonom´ıa para esa tarea. Llegados a este punto es preciso hacer una diferencia entre los clusters que devuelve el algoritmo de agrupamiento y los roles que se crean en la taxonom´ıa. De entre todos los posibles clusters, no todos llegan a ser nuevos roles en la taxonom´ıa. Los clusters representan patrones de comportamiento de los agentes que lo forman, es decir, todos ellos se comportan de manera parecida entre s´ı (o al menos el resto los ve as´ı seg´ un sus valores de confianza en ellos). Sin embargo, si consideramos la Definici´on 4.4, para crear un nuevo rol en la taxonom´ıa necesitamos garantizar que cualquier nuevo rol rx 120

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Persona

Médico

Figura 4.4: Ejemplo de agrupamiento de agentes y creaci´on del rol M´edico en un espacio de tareas bi-dimensional con T = {DiagnosticarEnf ermedad, Cocinar} usando K-Means con k = 2

cumple la propiedad de especializaci´ on Br . En particular, el mecanismo procesa los clusters y s´ olo los convierte en un nuevo rol rx si los agentes que forman el cluster tienen una expectativa m´ as alta de confianza (en media) en, al menos, una de las tareas del conjunto Erx del rol del que se especializan. Volviendo al ejemplo de la Figura 4.3 para crear el rol R1.2.1 , el cluster que da origen al mismo debe cumplir

que R1.2 Br R1.2.1 , as´ı como R1 Br R1.2.1 . En general, sucede lo mismo para cualquier otro rol ya existente en la misma rama de la taxonom´ıa. Sea T M un T-MAS con una taxonom´ıa de especializaci´on de roles ∆R = (Π, Br ). Para crear nuevas especializaciones en ∆R se aplica el algoritmo de clustering a cada conjunto T Sr , siendo hr, Er i ∈ Π un nodo en la taxonom´ıa ∆R . En cada ejecuci´on, el algoritmo devuelve un conjunto de k clusters. Un cluster c es un subconjunto del

espacio de confianza T Sr , y representa un patr´on de comportamiento para todos los agentes que contiene. El centroide del cluster b c = (tb1 , ..., tc m ), con ti ∈ Er , representa

cu´ anto conf´ıan los participantes en el sistema en cada uno de los agentes que forman el cluster con respecto a las tareas que realizan jugando el rol r.

El mecanismo aplicar´ a dos filtros diferentes sobre los clusters para posteriormente convertirlos en un rol: 121

Ram´ on Hermoso Traba

Propiedad 1 (P1) De acuerdo con la Definici´on 4.4, para incluir un nuevo rol en la taxonom´ıa es necesario garantizar que el rol cumple el orden Br con el rol que, a su vez, est´ a especializando. Adem´ as, no se crear´ an roles con comportamientos ”no deseados”. Aplicaremos un umbral Θ ∈ [0..1] para asegurar que la utilidad esperada de las tareas del potencial nuevo rol es al menos Θ. Dado Td Sr = (x1 , ..., xm ) y b c = (y1 , ..., yn ), esta propiedad se cumple si: ∃i : yi > xi ∧ yi ≥ Θ Propiedad 2 (P2) Puesto que nuestro objetivo es crear roles que puedan perdurar en el tiempo, fijaremos un umbral Υ ∈ N+ para garantizar que existe un n´ umero

m´ınimo de agentes capaces de jugar el nuevo rol. La propiedad se cumple si: |c| ≥ Υ es decir, si la cantidad de agentes que forman el cluster c es mayor a Υ.

El Algoritmo 6 describe el proceso de creaci´on de roles. Dado un rol r, el resultado de la ejecuci´ on del algoritmo es un conjunto de nuevos roles especializados R0 . El algoritmo tiene como entrada un rol hr, Er i perteneciente a una taxonom´ıa

determinada. Para cada agente en el T-MAS que juega dicho rol se calcula su vector abj (paso 3) y se a˜ nade al espacio de confianza T Sr (paso 4). Una vez calculado este espacio se aplica el algoritmo K-Means y, por cada cluster que devuelve se comprueban las dos propiedades que deben cumplir para que se cree un nuevo rol en la taxonom´ıa (pasos 6 a 9). Si el cluster cumple sendas propiedades se transforma en rol y se a˜ nade al conjunto de roles que devuelve el algoritmo. Los algoritmos de agrupamiento en general, y el K-Means en particular, dividen los datos en grupos diferentes de acuerdo a su similitud en un espacio n-dimensional. As´ı pues, la creaci´ on de un nuevo rol en la taxonom´ıa indica que algunos agentes tienen una cierta similitud, en cuanto a c´ omo les ve el resto, en una determinada(s) tarea(s). En el ejemplo de la medicina, todos los m´edicos tienen nociones, aunque sean b´ asicas, de c´ omo operar; pero s´ olo algunos de ellos est´ an especializados. N´otese que esta similitud con la que el mecanismo crea los roles ser´a usada, asimismo, por los agentes para estimar las expectativas sobre otros individuos cuando calculan la confianza sobre los mismos. Veremos este punto m´as en detalle en la Secci´on 4.2.3. Como ya hemos dicho, K-Means es un algoritmo de agrupamiento que devuelve como resultado k clusters. La selecci´ on del valor de k es uno de los mayores problemas 122

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Algoritmo 6 Algoritmo que describe la funci´on roleCreation Require: hr, Er i ∈ Π {donde (Π,Br ) es una taxonom´ıa de especializaci´on de roles}

Ensure: Devuelve un conjunto de roles especializados de hr, Er i 1: 2: 3: 4:

T Sr = ∅

for aj ∈ ag(r) do

abj ← calculateT rustV ector(aj ) {usando la ecuaci´on (4.4)} T Sr ← T Sr ∪ {abj }

5:

end for

6:

C ← KM eans(T Sr ) {K = |Er |}

7: 8: 9: 10: 11: 12:

R0 ← ∅

for c ∈ C do

if check(c, P 1) ∧ check(c, P 2) then rnew ← clusterT oRole(c) R0 ← R0 ∪ {rnew }

end if

13:

end for

14:

return R0

que presenta este algoritmo. En nuestro caso el valor de k es igual al n´ umero de tareas para las que est´ a especializado el rol al que se aplica el clustering, esto es k = |Er |,

siendo r el rol sobre el que se est´ a aplicando el clustering. Si examinamos este valor con m´ as detenimiento encontraremos l´ ogica esta asunci´on:

Sea el T- MAS T M = hAg, T , U, {∆R }i, donde ∆R = h{hrraiz , Eraiz i}, Br i, y

sea Ψ el algoritmo de clustering K-Means con k = |Eraiz |. En el mejor de los casos, encontraremos k clusters que, tras pasar los pertinentes filtros se convertir´an en k

roles, cada uno de ellos especializado para una u ´nica y distinta tarea. Podr´ıamos decir que el espacio de tareas ha sido completamente especializado. Por el contrario, si ning´ un cluster pasa los filtros definidos anteriormente, no se puede realizar ninguna especializaci´ on del rol. En el peor caso, tras aplicar el algoritmo para rraiz podr´ıa no producirse ninguna especializaci´ on. Con esta decisi´ on nos aseguramos de que un rol se pueda especializar en tantos otros como tareas para las que est´ a especializado ´el mismo. Adem´as, tambi´en contemplamos la posibilidad de que del rol ra´ız se especialicen tantos roles como tareas existan en el T-MAS, puesto que al aplicar el algoritmo K-Means a dicho rol el valor de k ser´ a igual a |T |. En la Figura 4.5 vemos esta posibilidad en un T-MAS 123

Ram´ on Hermoso Traba

{t1 , t2 , t3 }

Rraiz

t1

R1

R2

R3

Figura 4.5: Ejemplo de creaci´on de roles con k = 3 donde existen el siguiente conjunto de tareas disponibles T = {t1, t2, t3}.

4.2.2.

Evoluci´ on y adaptaci´ on de taxonom´ıas de roles

Hasta el momento hemos hablado de la naturaleza del mecanismo como creador de roles. Ahora analizaremos c´ omo este mecanismo puede adaptar taxonom´ıas, de manera que mantengan o adapten los roles existentes, preservando las propiedades descritas en la Definici´ on 4.4. Dado un T-MAS cualquier cambio significativo en el grupo de miembros del sistema conllevar´ a diferentes evoluciones de la taxonom´ıa de roles. Estos cambios podr´ıan ser de distinta naturaleza: Algunos agentes podr´ıan abandonar el sistema y otros nuevos unirse a ´el. Estos fen´ omenos conllevan una m´ as que probable necesidad de re-estructuraci´on de la taxonom´ıa. El comportamiento de los agentes a los que se delegan las tareas puede cambiar a lo largo del tiempo en dos direcciones: 1. Un agente podr´ıa cambiar su comportamiento a la hora de realizar las tareas que le son asignadas por varias razones: a) Por sobrecarga de tareas, debido a m´ ultiples peticiones para que realice una misma tarea, disminuyendo de esta forma su calidad de servicio y, por tanto, la utilidad de los agentes que delegan en ´el. b) Por un cambio en la actitud del agente hacia el peticionario. Es posible que decida deliberadamente bajar su calidad de servicio para as´ı no satisfacer al agente que delega en ´el. Esto podr´ıa ser com´ un en entornos 124

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

no cooperativos, donde los agentes no comparten los mismos objetivos o donde ´estos pueden, incluso, ser antag´onicos. 2. Un agente podr´ıa cambiar sus preferencias a lo largo del tiempo; el resultado obtenido tras la delegaci´on de una tarea que antes era bueno para ´el podr´ıa no serlo m´ as (y viceversa), es posible que por un cambio ´ de objetivos o de metas. Esto hace que la taxonom´ıa pueda verse afectada, pues no olvidemos que se construye en base a la informaci´on que proporcionan los agentes acerca de la confianza en el resto de participantes. En el Algoritmo 7 se describe el proceso de adaptaci´on de la taxonom´ıa cuando se aplica el mecanismo. Este algoritmo se aplicar´ a cada t unidades de tiempo. Partiendo del rol ra´ız hrraiz , Eraiz i, se aplica el algoritmo de creaci´on de roles (Algoritmo 6) a

cada rol en la taxonom´ıa actual. El algoritmo devuelve un conjunto de roles (Rnew )

que actualiza la nueva taxonom´ıa (Rnew , Br ) que se adapta a la poblaci´on actual del sistema. Esta descripci´ on formal permite: Creaci´ on: crear nuevos roles en el sistema, como especializaciones de los ya existentes. Eliminaci´ on: borrar roles que ya no son relevantes (no existen agentes suficientemente confiables, en relaci´ on a Θ, para desempe˜ narlos), as´ı como a todos sus hijos. Modificaci´ on: mantener la taxonom´ıa de roles actualizada, es decir, el conjunto de agentes asignado a cada rol puede cambiar a lo largo del tiempo. El papel que juegan los roles intermedios, es decir, aquellos que no son ni ra´ız ni hojas en la taxonom´ıa, no es superfluo, puesto que la totalidad de la taxonom´ıa refleja la historia y evoluci´ on del sistema. Adem´ as, estos roles mantienen la taxonom´ıa unida si se produjera una hipot´etica desaparici´ on de alguno de los roles debido a que, por ejemplo, ya no exista una demanda para ellos. Es importante resaltar que la evoluci´ on de la taxonom´ıa de roles depende exclusivamente del grupo de agentes que est´a participando en el T-MAS. Esto se ajusta a la segunda propiedad del mecanismo, la de Adaptaci´ on al entorno que existe en cada momento. La taxonom´ıa de roles que hay en el T-MAS en un instante cualquiera no es sino un reflejo de la informaci´on relevante para los participantes del mismo. An´ alogamente, en la sociedad humana, la taxonom´ıa de roles que usamos 125

Ram´ on Hermoso Traba

Algoritmo 7 Algoritmo de roleAdaptation Require: ∆R = (Π, Br ) {taxonom´ıa actual}

Require: r ∈ Π 1: 2: 3:

Rnew ← ∅

R0 ← roleCreation(r)

for ri ∈ R0 do

4:

assignAgentsT oRole(ri )

5:

Rnew ← Rnew ∪ {ri }

6: 7: 8: 9: 10:

if ri ∈ Π then

Rnew ← Rnew ∪ roleAdaptation(∆, ri )

end if end for

return Rnew

¯R 1. ∃R0 ∈ Π : ER0 = ER1 pero ag(R0 ) 6= ag(R1 ) raiz ¯R 2. ∃R0 ∈ Π : ER0 = ER1 ∧ ag(R0 ) = ag(R1 ) raiz ¯R 3. 6 ∃R0 ∈ ∃R0 ∈ Π : ER0 = ER1 raiz 4. ∃ΠRraiz : ER0 6= ER1

C

M

E

-

X

-

-

-

-

-

-

X

X

-

-

Tabla 4.1: Resumen de casos posibles de resultado aplicando el mecanismo sucesivamente

actualmente, dista en gran medida de la que podr´ıa estar vigente hace siglos, puesto que nuevos roles se han creado y otros muchos se han destruido. A continuaci´ on, se explican en detalle las distintas posibilidades de evoluci´on de la taxonom´ıa de especializaci´ on de roles. Sea T M

=

hAg, T , U, {∆R }i un T-MAS, donde ∆R

=

hΠ, Br i

=

h{Rraiz , R1 }, Br i, es decir, el rol R1 especializa a Rraiz . Supongamos que aplicamos

nuevamente el mecanismo, arrancando el algoritmo de clustering, a Rraiz obteniendo 0 ¯R como resultado un conjunto Π ız. En raiz = {R } de roles que especializan el rol ra´ la Tabla 4.1 distinguimos los distintos casos que se pueden producir a la hora de actualizar la taxonom´ıa de roles. Las letras C, M y E corresponden con los t´erminos Creaci´ on, Modificaci´ on y Eliminaci´ on, respectivamente. 126

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Analizando la tabla obtenemos los siguientes casos: 1. Si como resultado del mecanismo obtenemos un rol cualificado para las mismas tareas R1 , pero el conjunto de agentes que lo caracterizan es distinto a ag(R1 ), el mecanismo actualizar´ a este u ´ltimo, puesto que no es necesario crear un rol nuevo. 2. Si ocurre lo mismo que en 1 pero adem´ as, tanto ag(R1 ) como ag(R0 ) son iguales, entonces no se necesita hacer nada. Este rol continuar´a intacto en la taxonom´ıa. 3. Si al aplicar el algoritmo de clustering a Rraiz obtenemos como resultado un conjunto de roles en el que no existe una especializaci´on para las mismas tareas que en R1 (ER1 ), el mecanismo proceder´a a eliminar R1 de la taxonom´ıa resultante. 4. En cualquier otro caso se crea un nuevo rol como especializaci´on de Rraiz . Modificaci´ on de roles En la Figura 4.6 podemos observar un ejemplo de dos ejecuciones consecutivas del mecanismo dado un rol inicial que conforma la taxonom´ıa. La primera ejecuci´on del mecanismo – sobre la taxonom´ıa en (a) – crea dos roles como especializaci´on del rol ra´ız, cada uno de ellos desempe˜ nado por dos agentes – distintos para cada uno – participantes en el T-MAS. Si en la segunda ejecuci´on del mecanismo aplicamos el algoritmo de agrupamiento al rol ra´ız, podemos obtener un conjunto de clusters que cualitativamente son iguales a los de la iteraci´on anterior (parte (b)), es decir, describen unas buenas expectativas para un mismo conjunto de tareas, pero que incluyen m´ as o menos agentes que el conjunto de agentes que ya juegan el rol existente. Si este es el caso, no se produce una especializaci´on con la consiguiente creaci´on de un nuevo rol, sino que se modifica el rol ya existente de la forma en que se observa en la figura (parte (c)). En este ejemplo vemos c´ omo en la segunda ejecuci´on del mecanismo existe un nuevo agente que cumple con las expectativas que son descritas por el rol R2 , y por tanto, pasa a computar en la expectativa general que crea dicho rol para las tareas en las que est´ a especializado. Este tipo de casos son los que hacen que el algoritmo se deba aplicar a todos los roles de la taxonom´ıa, incluidos aquellos que ya han sido previamente especializados en anteriores ejecuciones del mecanismo. N´ otese que para este ejemplo, por simplicidad, no hemos incluido las tareas para las que est´ an cualificados los roles que aparecen en la taxonom´ıa. 127

Ram´ on Hermoso Traba

(a)

(b)

(c)

Figura 4.6: Ejemplo de una modificaci´on de un rol

Eliminaci´ on de roles

Es l´ ogico pensar que los cambios en el entorno deben influir de alguna manera en la forma de estructurar la taxonom´ıa de roles. El hecho de que los agentes se unan o abandonen el T-MAS cuando lo deseen puede hacer que algunos de los roles que proporcionaban informaci´ on relevante para los agentes participantes dejen de hacerlo. Por ejemplo, si durante una ejecuci´ on del mecanismo ´este percibe que todos los agentes que jugaban un rol han desaparecido, este rol deja de tener vigencia en el sistema, puesto que aporta una informaci´on que, adem´as de no ser relevante, est´ a desactualizada, ya que no refleja las expectativas reales dados los agentes actuales en el sistema. Por lo tanto, el mecanismo se encargar´a de actualizar la taxonom´ıa eliminando el rol. Un ejemplo de este caso es el propuesto en la Figura 4.7. En esta figura se puede observar c´ omo, tras la segunda ejecuci´on del mecanismo, que da como resultado la taxonom´ıa del apartado (c), no existen agentes que caractericen al rol R2 , por lo que ´este se elimina al no mostrar informaci´on valiosa al resto de los participantes en el sistema. Si se mantuviese R2 , ´este estar´ıa desactualizado con respecto a la poblaci´ on actual del T-MAS. 128

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

(a)

(b)

(c)

Figura 4.7: Ejemplo de una eliminaci´on de un rol Otras consideraciones Adem´ as de las ya mencionadas, el mecanismo tiene otra serie de particularidades que vamos a explicar a continuaci´ on. Cuando hablamos de la evoluci´ on de la taxonom´ıa en el T-MAS como especializaci´ on de los roles que la conforman, siempre decimos que esta especializaci´on se produce para un conjunto de tareas determinado para las que los agentes que juegan el rol han demostrado un ”buen”nivel. Esta especializaci´on, como ya se explic´ o anteriormente, se realizaba sobre cada rol de la taxonom´ıa actual, el cual formaba un espacio denotado por T Sri – donde ri era el rol a tratar –, usando un algoritmo de clustering que divid´ıa dicho espacio obteniendo grupos de agentes especializados para un subconjunto de tareas. En cambio, podr´ıamos haber optado por hacer el espacio de confianza de la siguiente forma: T Shr,ti = {aˆk = c¯t } tal que ak ∈ ag(r) para una determinada tarea t, donde se describe un espacio de agentes para especializar cada posible tarea en T , utilizando para ello espacios de confianza unidimensionales. Es decir, el valor aˆk

representa el valor medio de confianza que el agente ak genera en la poblaci´on del sistema, jugando el rol r realizando la tarea t. Esta opci´on nos proporcionar´ıa una especializaci´ on directa de cada tarea a partir del rol ra´ız de la taxonom´ıa. La raz´on principal por la que hemos decidido realizar la especializaci´on por grupos de tareas es 129

Ram´ on Hermoso Traba

porque este hecho proporciona m´ as informaci´ on a los agentes. El saber que un rol crea expectativas para varias tareas posibles proporciona m´as informaci´on que el aislar los roles para cada tarea. Con respecto a la adaptaci´ on de la taxonom´ıa en cada ejecuci´on del Algoritmo 7 se ”revisa” de nuevo la taxonom´ıa existente, eliminando o modificando roles que ya pertenec´ıan a la misma. Otra alternativa podr´ıa haber consistido en lo siguiente: El algoritmo podr´ıa actuar sobre los roles hoja dentro de la taxonom´ıa. Un rol r es un nodo hoja si y s´ olo si no existe en la taxonom´ıa un rol r0 tal que se cumpla r Br r0 . Esto tiene sentido en los siguientes escenarios: 1. La identidad de los agentes no cambia durante la vida del sistema. 2. Las caracter´ısticas internas – capacidades, objetivos, intenciones, etc. – de los agentes son siempre las mismas. 3. La distribuci´ on de las tareas es uniforme. 4. El sistema es cerrado, es decir, no entrar ni salen agentes del T-MAS, y el dise˜ no de los agentes es uniforme. En este caso, s´ olo podr´ıan evolucionar los roles de las hojas, como grupos m´as peque˜ nos de agentes que est´ an m´ as especializados para realizar un cada vez m´as peque˜ no conjunto de tareas. Pero nosotros estamos interesados en T-MAS abiertos, en los que los agentes entran y salen del sistema a voluntad y pudiendo ser heterog´eneos, es decir, teniendo posiblemente diferentes visiones del entorno. Por ejemplo, si un agente a1 nunca ha realizado una tarea t5 para la que existe un rol especializado, no podemos concluir que en el futuro no pueda cumplir las expectativas realizando esa tarea. Tampoco se podr´ıa concluir que se pudiera especializar en otro conjunto de tareas para las que no existe un rol, quiz´ a porque nunca las realiz´o anteriormente. Por ello, este trabajo propone una evoluci´ on continua de todos los roles de la taxonom´ıa modificando, a su vez, los roles intermedios.

4.2.3.

Uso de la taxonom´ıa resultado del mecanismo

Desde el punto de vista del trabajo de Centeno et al. (21) – introducido en el Cap´ıtulo 2 (Secci´ on 2.1.1) – el mecanismo que hemos presentado es un mecanismo informativo, que pretende proporcionar informaci´on u ´til a los agentes, en este caso, qu´e roles son los m´ as apropiados para realizar ciertas tareas. 130

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Los mecanismos informativos encapsulan su funcionalidad usando la siguiente definici´ on algebraica:

Γ : S0 × X 0 → F

(4.6)

donde S 0 es una parte del estado interno del agente, X’ es una visi´on parcial del

estado del entorno y F es la informaci´ on que el mecanismo provee. En nuestro caso,

omitimos de la funci´ on la visi´ on parcial del entorno X 0 , puesto que siempre ser´a la misma. Podemos considerar X 0 = {P(Ag), P(T ), EO}. Es decir, la visi´on del entorno

consta de la poblaci´ on y la taxonom´ıa de roles actuales y del conjunto de tareas disponibles. ya que ´esta no influye en el resultado final de la delegaci´on de la tarea. Para que sea usado por los agentes que participan en el T-MAS, el mecanismo debe proporcionar ´ una interfaz de uso. Esta consistir´ a en las siguientes operaciones: getBestRolesF orT ask

:

T



especializados para una tarea dada.

P(R), que proporciona los roles m´as

getAgentsF orRole : P(R) → P(Ag), proporciona el conjunto de agentes que

juegan, al menos, unos de los roles pertenecientes a un conjunto de roles de entrada. getRolesF orAgent : Ag → P(R), devuelve un conjunto de roles que un agente dado es capaz de jugar en el sistema.

Estas operaciones ser´ an invocadas por los participantes en el T-MAS para obtener informaci´ on del mecanismo y la taxonom´ıa que ´este genera. Finalmente, el mecanismo provee otra operaci´ on m´ as, que le permite obtener los valores de confianza de los agentes que participan en el sistema en un momento dado. Esta operaci´on se define como sigue: communicateT rust : Ag × Π × T × R Un agente a usa la operaci´ on communicateT rust(b, r, t, v) indicando que su valor de confianza acerca de las capacidades del agente b realizando la tarea t desempe˜ nando el rol r es v. 131

Ram´ on Hermoso Traba

CommunicateTrust getBestRolesForTask

Mecanismo propuesto

getAgentsForRole getRolesForAgent

Figura 4.8: Relaci´ on de entradas y salidas del mecanismo La Figura 4.8 muestra cu´ ales son las entradas y salidas del mecanismo de evoluci´ on y adaptaci´ on de taxonom´ıas de roles. Existen, pues, dos partes bien diferenciadas en el mecanismo informativo: por un lado tenemos el propio algoritmo que especializa la taxonom´ıa de roles, mientras que por el otro est´ a la informaci´ on que aquel provee a los agentes bajo demanda. Las operaciones definidas son las que propiamente instancian el mecanismo informativo de la ecuaci´ on 4.6 puesto que, a partir de cierta parte del estado del agente, y la visi´on parcial que el mecanismo tiene del entorno (la poblaci´on y la taxonom´ıa actuales, as´ı como el conjunto de tareas del T-MAS), se proporciona cierta informaci´on sobre la taxonom´ıa o los roles que la componen. A nivel de dise˜ no, se puede considerar que ambas partes son complementarias, es decir que, por ejemplo, la taxonom´ıa se encuentra evolucionando continuamente, pudiendo los agentes hacer consultas al mecanismo cuando lo deseen.

Proceso de toma de decisi´ on La toma de decisi´on de los agentes vendr´a definida por el proceso que se describe en el Algoritmo 8. Siguiendo el Algoritmo 8: 1. En primer lugar, el agente usar´ a el mecanismo informativo para obtener el conjunto de los roles m´ as especializados R0 ⊆ R para la tarea t. Este conjunto

contendr´ a todos los roles hr1 , Er1 i ∈ R con t ∈ Er1 y para los que no existe mayor especializaci´ on con respecto a la tarea t; es decir, no existe otro rol hr2 , Er2 i ∈ R tal que hr1 , Er1 i Br hr2 , Er2 i.

132

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Algoritmo 8 Algoritmo que describe la toma de decisiones de los agentes Require: t - Es la tarea que el agente pretende delegar. Require: Γ es el mecanismo informativo. Require: ∆ = (Π, Br ) es la taxonom´ıa actual mantenida por el mecanismo Γ. Require: Ag es el conjunto de agentes del T-MAS. 1: 2: 3: 4:

R0 ← Γ.getBestRolesF orT ask(t) {R0 ⊆ Π}

Ax ← Γ.getAgentsF orRole(R0 ) {Ax ⊆ Ag }

bestAgent ← localT rustEvaluation(Ax , R0 , t) select(bestAgent, t)

2. Una vez hecho ´esto, el agente usa el mecanismo informativo para obtener el conjunto de agentes Ax tal que jueguen cualquiera de los roles contenidos en R0 .

3. En tercer lugar, el agente emplear´ a su modelo de confianza (presentado en el Cap´ıtulo 3) para seleccionar aquel agente que, en su opini´on, le genera mayor confianza, de entre el conjunto de agentes en R0 . 4. Por u ´ltimo, el agente decide delegar la tarea al individuo seleccionado. Como puede desprenderse del algoritmo, usando el mecanismo informativo y, por tanto, la taxonom´ıa de especializaci´ on de roles se reduce la complejidad de seleccionar agentes en los que delegar las tareas, puesto que s´olo se elige entre un subconjunto del conjunto total de potenciales candidatos. Existe tambi´en la necesidad de explorar cada cierto tiempo los distintos participantes que forman el T-MAS, como se hac´ıa para los T-MAS del cap´ıtulo anterior. Usaremos la misma ecuaci´ on para la exploraci´on explicada en la Secci´on 3.9 del cap´ıtulo anterior, definida por la ecuaci´ on 4.7.

P (t) =

1 +ω et

(4.7)

Adaptaci´ on del modelo de confianza de los agentes La intenci´on que se tiene es la de incorporar a los agentes un modelo de confianza que pretende guiar al agente en la elecci´ on de otro individuo al que delegar cierta tarea. En nuestro caso, en la parte experimental del cap´ıtulo, los agentes incorporar´an el modelo de confianza basado en 133

Ram´ on Hermoso Traba

inferencia presentado en el cap´ıtulo anterior, ajustado con los m´ınimos cambios que se presentan a continuaci´ on. Si recordamos la ecuaci´ on de c´ alculo de la confianza que us´abamos en el Cap´ıtulo 3, se utilizaban dos tipos de similitudes, una primera de roles y otra de tareas. En este caso usaremos la de roles, puesto que no existe una taxonom´ıa de tareas previamente fijada. De esta forma, la ecuaci´ on 3.6 la transformamos en la siguiente: P ta→hb,r, i =

hb,rj , i∈LITa

ca→hb,rj , i · ra→hb,rj , i · sim(rj , r)

P hb,rj , i∈LITa

ra→hb,rj , i · sim(rj , r)

(4.8)

En cuanto a la similitud entre roles, usaremos la de Leacock y Chodorow (85), teniendo en cuenta u ´nicamente la cercan´ıa entre conceptos dentro de la taxonom´ıa.

4.2.4.

Din´ amica del mecanismo

En esta secci´ on vamos a detallar dos aspectos importantes en la din´amica de un T-MAS. Por un lado veremos distintas t´ecnicas para tratar la entrada/salida de los agentes en el sistema, y por otro, veremos distintas posibilidades para definir per´ıodos de adaptaci´ on y evoluci´ on de la taxonom´ıa de roles en el T-MAS. Entrada/Salida de los agentes en el T-MAS Como hemos venido explicando a lo largo del cap´ıtulo, los roles y la taxonom´ıa que los estructura en el T-MAS sirven para organizar de alguna manera las interacciones en el sistema. T´ıpicamente, en los sistemas organizados con roles, como por ejemplo los SMA organizativos, los roles establecen alg´ un tipo de prescripci´on tal que existe una correspondencia entre el rol y el conjunto de acciones (en nuestro caso tareas) que se pueden llevar a cabo en el sistema. En cambio, nuestro enfoque dista en cierta medida de esta asunci´ on. En nuestro caso, sucede que cualquier taxonom´ıa de especializaci´on de roles v´ alida debe cumplir que contenga un rol ra´ız que permita realizar cualquier tarea en el sistema. Esta caracter´ıstica garantiza que cualquier agente puede realizar cualquier tarea en el T-MAS. Como ya hemos visto, la ejecuci´on del mecanismo de especializaci´ on de roles construye una taxonom´ıa acorde con el conjunto de agentes participantes en el T-MAS, agrup´ andolos por patrones de comportamiento similares (por encima de la media) en cuanto a expectativas para un subconjunto de tareas en el sistema. No obstante, el sistema debe utilizar alguna pol´ıtica por defecto para 134

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

permitir a agentes jugar los roles que componen la taxonom´ıa cuando los primeros se unen al T-MAS en un escenario abierto. Contemplamos las siguientes pol´ıticas en cuanto a la asignaci´ on de roles a agentes nuevos en el sistema:

Rol primitivo Por defecto, al nuevo agente se le asigna el rol ra´ız, que le permite realizar cualquier tipo de tarea. Si bien el agente podr´ıa estar m´as especializado para jugar alg´ un otro rol, el sistema s´ olo permite que el agente juegue un nuevo rol si el mecanismo especializa un rol que el agente pueda jugar y en el que, adem´as, el agente cumpla con las expectativas del nuevo grupo de agentes.

Decisi´ on libre Otra posibilidad es, una vez que el agente nuevo ha observado la taxonom´ıa de roles y es consciente de las expectativas que existen para cada rol y cada tarea o grupo de tareas que especializa, permitir que juegue cualquier rol. Luego si ´el considera que puede realizar esas tareas de manera satisfactoria para el resto nada le impide jugar dicho rol. En definitiva, esta pol´ıtica de entrada se basa en otorgar total libertad a los agentes para que adopten los roles que deseen. Esto no excluye la necesidad de, al menos, adoptar el rol ra´ız de la taxonom´ıa, para no verse excluidos de realizar ning´ un tipo de tarea. Podr´ıa discutirse si el hecho de dar libertad a los agentes para jugar el rol que quieran no es sino un fallo en el mecanismo, pues ser´ıa aparentemente un punto de ataque para agentes maliciosos. Sin embargo, la toma de decisiones de los agentes debe aislar los malos agentes del grupo de agentes especializados, en tanto que no cumplen con las expectativas deseadas con las que se cre´ o el rol. Cuando el mecanismo de especializaci´on se ejecuta, los agentes no adecuados ser´ an retirados de los roles donde no cumplan con las expectativas.

Oferta/Demanda

El T-MAS podr´ıa tener una pol´ıtica de entrada que fuera

sensible a la sobrecarga de los agentes. Un conjunto de agentes muy especializados en una tarea ser´ an muy proclives a recibir muchas peticiones, de distintos agentes, para realizar dicha tarea. Esto har´ a que su rendimiento baje y que su expectativa con respecto al rol tambi´en lo haga. Por ello, la pol´ıtica de entrada de los agentes podr´ıa estimar cu´ al es la oferta y la demanda de cada rol y mostrar estos datos al nuevo agente. Es posible que el agente no quiera jugar roles que est´an poco demandados2 ni 2 Aunque

en este trabajo no hablamos en ning´ un momento de la recompensa que obtiene el agente

que realiza la tarea, podr´ıa darse el caso de que ´ esta existiera y de que condicionara la adopci´ on de los roles.

135

Ram´ on Hermoso Traba

aquellos que lo est´ an en demas´ıa. Adem´ as, desde el punto de vista del sistema, ´esto evitar´ıa una concentraci´ on masiva de agentes en algunos roles muy populares, para los que la selecci´ on de agentes ser´ıa menos eficiente, puesto que el espacio de selecci´on aumentar´ıa. En cambio, un efecto negativo de esta soluci´on es que algunos agentes muy cualificados para determinadas tareas podr´ıan verse excluidos para su realizaci´on. En nuestro caso, hemos apuntado que asumimos que no se produce sobrecarga en los agentes al realizar las tareas que le son delegadas, pero esta pol´ıtica de entrada de agentes podr´ıa incluirse si no fuera as´ı.

Per´ıodo de prueba Esta soluci´ on establece una pol´ıtica de inclusi´on de nuevos agentes proporcionando un per´ıodo de prueba a cada agente para cada rol que quiera jugar. De esta forma, el agente debe cumplir r´apidamente con las expectativas que presenta ese rol. En caso de que estas expectativas no se cumplan, al agente se le retirar´ a del rol en cuesti´ on. Esta pol´ıtica incluye ventajas de otras, como la libre elecci´on por parte del agente de los roles que quiere desempe˜ nar en el sistema, pero tambi´en conlleva algunos problemas, como por ejemplo, el hecho de determinar de forma precisa cu´ anto tiempo debe durar este per´ıodo de prueba; un per´ıodo muy corto puede llevar a decisiones precipitadas acerca de la val´ıa o no de un agente, mientras que per´ıodos demasiado prolongados podr´ıan provocar que agentes ”no aceptables”para el rol se mantengan desempe˜ n´ andolo demasiado tiempo. Para nuestros experimentos hemos optado por la primera opci´on (Rol Primitivo), en la que los agentes se unen al T-MAS desempe˜ nando el rol ra´ız. Aunque ello acarrea una mayor lentitud en la evoluci´ on del agente a trav´es de la taxonom´ıa de roles, proporciona una mayor seguridad ante posibles errores en la asignaci´on de rol. Como ya se ha explicado, asumimos que los agentes disponen de alg´ un tipo de funci´on de exploraci´ on a lo largo del tiempo que est´ an en el sistema. Dependiendo de esta funci´ on, un agente siempre tiene la posibilidad de seleccionar un individuo, con el que no ha tenido experiencia alguna anteriormente, al que delegar una tarea. Por ello, permitiendo que los agentes ”nuevos” entren desempe˜ nando u ´nicamente el rol ra´ız conseguimos lo siguiente: Por un lado obligamos a los agentes reci´en entrados a que demuestren sus cualidades usando roles m´ as gen´ericos antes de ser incluidos en roles m´as especializados. De esta forma evitamos, en un mayor n´ umero de casos, que 136

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

posibles agentes incompetentes adquieran roles especializados. Por otro lado no dejamos aislados a los agentes ”nuevos”, sino que permitimos que se les deleguen tareas mediante las funciones de exploraci´on de los agentes que ya est´ an en el sistema. Per´ıodos de evoluci´ on del T-MAS El algoritmo de evoluci´ on y adaptaci´ on que reorganiza la taxonom´ıa de roles se ejecuta de forma c´ıclica en el T-MAS. En esta secci´on proponemos distintas pol´ıticas para asignar el comienzo en la evoluci´ on de la taxonom´ıa o, lo que es lo mismo, de la ejecuci´ on del mecanismo. Ejecuci´ on c´ıclica est´ andar

Esta pol´ıtica inicia el algoritmo cada cierto tiempo t.

Se evoluciona la taxonom´ıa que estaba vigente en el tiempo t − 1. Ejecuci´ on c´ıclica primitiva

Cada cierto tiempo t, el algoritmo se ejecuta, pero

tomando como taxonom´ıa de entrada aquella primitiva que cuenta, u ´nicamente, con el rol ra´ız. Esto puede ser beneficioso en el caso en el que la taxonom´ıa contenga muchos elemento superfluos, como pueden ser roles que nadie juega o referencias a agentes que ya no est´ an en el T-MAS. Esta pol´ıtica puede ser complementaria a cualquier otra de las que se presentan en este apartado. Ejecuci´ on basada en la tendencia

Esta t´ecnica se basa en el car´acter mon´otono

que debe tener una funci´ on que mide la utilidad global del sistema (U). El sistema podr´ıa querer garantizar que la utilidad del T-MAS siempre fuese creciente. As´ı, esta pol´ıtica, iniciar´ıa la ejecuci´ on del algoritmo cuando existieran descensos en la evaluaci´ on de la utilidad global. Ejecuci´ on basada en probabilidad temporal Podr´ıamos usar una funci´on P (t) : time → R que modelice la probabilidad de lanzar el mecanismo. Una funci´on t´ıpica podr´ıa ser la siguiente:

P (t) = e−t + α donde t ∈ [1, ∞] es el tiempo actual y α ∈ [0, 1 − 1e ] es la probabilidad m´ınima de

ejecutar el algoritmo, independientemente del tiempo. Con esta funci´on logramos lo siguiente: 137

Ram´ on Hermoso Traba

En la fase de inicio o arranque del sistema la probabilidad de lanzar el algoritmo es mayor. Esto es l´ ogico, puesto que al inicio la taxonom´ıa no proporciona ninguna informaci´ on y, por tanto, tendr´a que construirse lo m´as r´apidamente posible a partir de las interacciones que se van sucediendo entre los participantes del T-MAS. En cambio, seg´ un pasa el tiempo, y aunque se trate de un entorno din´amico, la poblaci´ on tender´ a a estabilizarse y, por lo tanto, los cambios en la taxonom´ıa tender´ an a verse reducidos. De ah´ı, el comportamiento decreciente de la funci´on P (t). Sin embargo, el factor α de P (t) permite tener, una vez estabilizada la taxonom´ıa, una probabilidad m´ınima para lanzar el algoritmo. Esto hace que, aunque nuevos agentes entren al sistema, el mecanismo sea capaz de incluirlos en la adaptaci´ on continua de la taxonom´ıa.

Ejecuci´ on basada en poblaci´ on Esta pol´ıtica permite arrancar el algoritmo cuando existen cambios significativos en el conjunto de participantes del sistema. Nos centramos en el hecho de que evolucionamos la taxonom´ıa a partir de las relaciones de confianza que existen entre los agentes; luego es razonable pensar, que cambios en los agentes afecten a estas relaciones y, por tanto, a la taxonom´ıa de roles. As´ı pues, consideramos que detectando estos cambios podemos establecer el momento en el que lanzar el algoritmo de adaptaci´ on y evoluci´ on. Un ejemplo de funci´ on que podr´ıa determinar si ha existido alg´ un cambio en el conjunto de participantes podr´ıa ser la siguiente: ( P (t) =

1 0

if |J t ∪ Lt | > σ

i.o.c.

donde J t y Lt son los grupos de agentes que se han unido y han abandonado el

sistema, respectivamente, hasta el momento t, y σ es un valor umbral que indica el m´ınimo n´ umero de cambios que debe haber para que se ejecute el algoritmo. Para los experimentos que hemos realizado (ver Secci´on 4.3) hemos elegido una pol´ıtica de ejecuci´ on c´ıclica est´ andar puesto que es la m´as did´actica para observar el funcionamiento del mecanismo. 138

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

4.3.

Evaluaci´ on

En esta parte pretendemos mostrar de forma emp´ırica el trabajo te´orico que hemos presentado a lo largo del cap´ıtulo. Por un lado, presentaremos un caso de estudio donde aplicar el mecanismo, y por otro mostraremos los experimentos realizados siguiendo el dominio de dicho caso de estudio. Esta secci´ on se dividir´ a en dos an´ alisis bien diferenciados. Por un lado, queremos analizar qu´e aporta el mecanismo presentado en el cap´ıtulo en escenarios est´aticos, en este caso T-MAS donde no existe entrada y salida de agentes, es decir, aquellos agentes que conforman el T-MAS al iniciarse un experimento son los mismos que estar´ an al finalizar el mismo. Por otro lado, tambi´en nos interesa explorar qu´e aporta nuestro mecanismo cuando se aplica en un T-MAS donde existe entrada y salida de agentes participantes para comprobar que, efectivamente, el mecanismo se adapta al contexto actual del T-MAS y es capaz de facilitar las decisiones de los agentes que toman parte en ´el. Para probar el mecanismo optamos por simular el comportamiento de un TMAS implementando una versi´ on adaptada de TOAST (para el caso de estudio que proponemos), herramienta ya utilizada para probar el modelo de confianza presentado en el Cap´ıtulo 3.

4.3.1.

Caso de estudio: News Feeding

Se trata de un escenario de provisi´ on de noticias – de ahora en adelante news feeding –, en el que existen dos tipos de actores distintos: clientes y proveedores. Los clientes representan usuarios (en nuestro caso, agentes que representan a humanos) que buscan noticias relacionadas con una cierta categor´ıa tem´atica. Los usuarios pueden tener un comportamiento din´ amico, es decir, un usuario podr´ıa estar interesado en un momento dado en recabar noticias acerca de pol´ıtica internacional, mientras que m´ as tarde le gustar´ıa conocer los u ´ltimos resultados de la liga de f´ utbol. A su vez, los proveedores est´ an especializados en proporcionar noticias sobre una cierta tem´ atica o varias; incluso pueden tener muy distintas noticias sobre temas muy variados. Al igual que en la vida real, hay proveedores de noticias de tem´atica m´ as gen´erica, como por ejemplo los peri´ odicos generalistas, y otros que proporcionan noticias de tem´ atica m´ as concreta, tales como los peri´odicos o radios especializados en deportes. Por lo tanto, el escenario elegido consta de clientes y proveedores, donde los primeros est´ an interesados en pedir noticias sobre temas concretos a una red de 139

Ram´ on Hermoso Traba

proveedores que hay en el sistema. Puesto que decimos que los clientes pedir´ an a los distintos proveedores noticias en las que est´ an interesados, el concepto de petici´on (o query en ingl´es) es importante. Asumiremos, en primer lugar, que existe un conjunto finito de peticiones posibles que un usuario puede realizar. Cuando hablamos de noticias, existe un conjunto limitado de categor´ıas en las que un usuario puede estar interesado. Un claro ejemplo de categorizaci´ on de noticias lo podemos encontrar consultando cualquier peri´odico o portal de informaci´ on en Internet. En ´estos, encontramos la informaci´on dividida en categor´ıas que, a su vez, pueden estar divididas en subcategor´ıas. As´ı, las noticias sobre baloncesto pertenecen tambi´en a la categor´ıa de deportes. Hoy en d´ıa existen t´ecnicas para determinar las categor´ıas en que se puede dividir cierta informaci´ on. La categorizaci´ on a partir de textos ha sido ampliamente estudiada en los u ´ltimos a˜ nos por la comunidad dedicada a la recuperaci´on de informaci´on y la miner´ıa de datos; algunos trabajos relevantes en esta l´ınea son los de (39), (24), que proponen distintos m´etodos para agrupar en categor´ıas (previamente prefijadas) documentos en base a la informaci´ on textual que contienen. Las categor´ıas vienen definidas previamente o bien por expertos en el dominio o bien usando t´ecnicas de miner´ıa de datos, como algoritmos de aprendizaje supervisados o usando t´ecnicas de agrupamiento o clustering. En cambio, con la emergente aparici´on de la Web 2.0, se han desarrollado otras t´ecnicas para definir las categor´ıas en las que se puede dividir la informaci´ on. Por ejemplo, se permite usar las llamadas tags o etiquetas que sirven para describir de manera informal un recurso, sea cual sea la naturaleza de ´este. A priori, no existe ninguna t´ecnica para dotar de sem´antica a estas etiquetas, ni tampoco existe posibilidad de relacionarlas entre s´ı. Por ello, se crean las llamadas nubes de etiquetas (o tag clouds), que agregan conjuntos de ´estas, emergiendo as´ı una taxonom´ıa a partir del uso repetido de las mismas. Este tipo de mapas de categor´ıas (o nube de categor´ıas) presentan la ventaja de que se forman a partir de un vocabulario definido por los usuarios, bas´andose en un consenso sem´ antico, de c´ omo un recurso es percibido por cada uno de ellos (48). La idea principal de esta t´ecnica es la de dar la posibilidad de que cada recurso en Internet tenga su propia nube de categor´ıas a las que pertenece. Haciendo miner´ıa de datos sobre las nubes de los distintos recursos, se puede establecer un mapa de categor´ıas a modo de taxonom´ıa. Si lo aplicamos al mundo del news feeding o provisi´on de noticias, se podr´ıan confeccionar mapas de categor´ıas como el que se observa en la Figura 4.9. Estos mapas especifican, pues, las distintas peticiones que se pueden realizar en 140

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Taxes

Nat. Politics Intl. Politics

Home

Travel

Politics Lifestyle Middle East

Theater Books

Culture

Movies

Football

Baseball US Markets

NBA

Sports Hockey

NCAA

Markets

Industry

Basketball

Economy

Space

Europe Markets

Compani es

Science Environment

Figura 4.9: Nubes de noticias nuestro dominio. En nuestro caso, hemos tomado un subconjunto de las categor´ıas disponibles en Google News3 . Aplicaci´ on del escenario El domino anterior puede ser modelizado como un T-MAS abierto, como los descritos en cap´ıtulos anteriores, puesto que tanto usuarios como proveedores pueden ser proclives a ser dise˜ nados y programados de manera diferente, pudiendo acceder o abandonar el sistema cuando lo deseen. A partir del dominio propuesto queremos validar la aplicaci´ on del mecanismo presentado. Mecanismo de evoluci´ on y adaptaci´ on de roles Con el mecanismo propuesto en el presente cap´ıtulo pretendemos demostrar que en este dominio, en diferentes escenarios posibles, la selecci´ on de proveedores de noticias mejora con respecto 3 http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=42993.

141

Ram´ on Hermoso Traba

a la no utilizaci´ on del mismo. Demostraremos que la evoluci´on y adaptaci´on de la taxonom´ıa de roles se presenta como algo ciertamente relevante en este tipo de sistemas, especialmente cuando son abiertos, puesto que la taxonom´ıa de roles tender´ a a reflejar c´ omo est´ an las noticias distribuidas en el sistema, a la vez que proporcionar´ a informaci´ on sobre la calidad de los proveedores. La mejor´ıa se demostrar´ a en funci´ on de la evaluaci´ on de la utilidad que los usuarios experimentan a la hora de hallar las noticias que m´ as se ajustan a sus preferencias o gustos. Mediremos la utilidad global del sistema (U) como estimador de la validez del mecanismo. Modelo de confianza Adem´ as, probaremos c´omo dotando a los usuarios del modelo de confianza presentado en el Cap´ıtulo 3, y dado un escenario donde existe una taxonom´ıa que evoluciona y se adapta con el mecanismo presentado en el presente cap´ıtulo, la capacidad del agente de inferir expectativas a partir de su informaci´on local mejora sus selecciones de proveedor, con la consiguiente y m´as precisa adecuaci´on a sus necesidades. A modo de aclaraci´ on debemos decir que, aunque en el mundo de la Recuperaci´on de la Informaci´ on siempre existen, al menos, dos partes implicadas, en este caso usuarios (o clientes) y proveedores, nos centraremos en la visi´on del usuario, puesto que en u ´ltimo t´ermino es el que realiza las peticiones. Sin embargo, tambi´en se podr´ıa estudiar c´ omo afectan estos mecanismos desde el punto de vista de los proveedores, por ejemplo, al contestar con distintas noticias ante mismas peticiones realizadas por usuarios diferentes. En nuestro caso, asumimos, que esto u ´ltimo no puede ocurrir. Tambi´en asumimos, que el coste computacional de las peticiones de informaci´on, as´ı como de las respuestas son igualmente constantes haciendo, de esta forma, que la visi´ on que tiene el proveedor no resulte interesante desde un punto de vista experimental. Tradicionalmente la Recuperaci´ on de Informaci´on (IR) ha abordado el problema usando t´ecnicas orientadas al an´ alisis l´exico, clasificando los proveedores en categor´ıas basadas en el contenido l´exico de los documentos que ofrecen. En este caso nuestro trabajo, si bien los temas sobre los que los usuarios pueden estar interesados son finitos y conocidos por todos los miembros del sistema, el uso de nuestro mecanismo de evoluci´ on y adaptaci´ on de roles permite clasificar a los proveedores. Esta clasificaci´on no se har´ a en base al contenido l´exico que almacenan/sirven, sino a partir de la percepci´ on que la poblaci´ on de usuarios actual tiene sobre la posible utilidad de los 142

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

distintos proveedores, sobre el conjunto de categor´ıas de noticias existente. Es decir, de esta forma podemos desacoplar las categor´ıas de informaci´on que, en nuestro caso son finitas, de la poblaci´ on de proveedores que proporcionan dicha informaci´on y que es cambiante en entornos abiertos. Este enfoque centrado en el usuario (en lugar de basado en la informaci´on como se hace en RI), no s´ olo tiene en consideraci´ on el encaje l´exico entre la petici´on del usuario y la informaci´ on que proporciona el proveedor sino que, adem´as, tiene en cuenta otras propiedades de los proveedores de noticias que los usuarios que forman la poblaci´on actual aprecian. Algunas de estas propiedades podr´ıan ser, por ejemplo: la fiabilidad de las noticias – desde el punto de vista subjetivo de cada usuario –, el precio del servicio – si existiese –, etc. En este sentido, nuestra propuesta se adapta mejor a las necesidades y deseos de la poblaci´ on actual de usuarios en un sistema de este tipo, que una mera clasificaci´ on predefinida basada en t´ecnicas de an´alisis lexicogr´afico. En las Figuras 4.10 y 4.11 podemos observar un escenario t´ıpico de provisi´on de noticias. En el primer caso, existe una red de proveedores no estructurada, que sirven noticias sobre un conjunto de categor´ıas a priori conocidas. Tras la aplicaci´on del mecanismo a nivel macro que explicamos en este cap´ıtulo, la red de proveedores toma forma (Figura 4.11), en funci´ on de la poblaci´ on de usuarios que existe en el sistema en un momento determinado. De esta forma, la informaci´on pasa a estar estructurada en funci´ on de las habilidades de los proveedores para proveer los distintos tipos de noticias. As´ı pues, el objetivo del ejemplo es que, a partir de una nube de categor´ıas de noticias y de una poblaci´ on dada (usuarios + proveedores) se pretende, por un lado estructurar a los proveedores en distintas categor´ıas o roles, seg´ un la informaci´on que poseen y la adecuaci´ on a los gustos de los usuarios; y por el otro, que el uso racional de esta informaci´ on lleve a los usuarios a obtener mejores resultados en sus consultas. Esto se debe ver complementado con las caracter´ısticas propias de un T-MAS abierto, como son la heterogeneidad de los usuarios y la entrada/salida de los proveedores en distintas fases en la ejecuci´ on del sistema.

Modelizaci´ on del escenario tipo Para determinar la efectividad en el dominio propuesto, hemos llevado a cabo una serie de experimentos, donde hemos simulado el escenario de provisi´on de noticias. En cada experimento, existir´ a una poblaci´ on de 100 usuarios y 100 proveedores 143

Ram´ on Hermoso Traba

Espacio de noticias Taxes

A Nat. Politics Intl. Politics

Home

Travel

Politics C

Lifestyle Middle East

Proveedores

Theater Books

Culture

A

B

Movies

Football

Baseball

D NBA

US Markets

Hockey NCAA

C

Sports Markets

Industry

Basketball

Europe Markets

Economy

D

E Compani es

Space

E

Science B Environment

Figura 4.10: Ejemplo de espacio de noticias antes de usar el mecanismo de especializaci´ on de roles

de noticias. El conjunto de categor´ıas del sistema tendr´a un tama˜ no de 20, del subconjunto de las propuestas por Google News que hemos comentado anteriormente. En esta secci´ on vamos a instanciar el modelo formal de T-MAS que hemos propuesto a lo largo de este trabajo para este caso concreto. Algunas de las caracter´ısticas del sistema ser´ an las siguientes: B ⊂ Ag representa el conjunto de agentes que juegan el rol de usuario en el

sistema; es decir, aqu´ellos que realizar´ an peticiones a los proveedores acerca de alguna de las categor´ıas existentes; Pr ⊂ Ag representa en conjunto de agentes que juegan el rol de proveedor en

el sistema; es decir, aqu´ellos que recibir´an las peticiones de los usuarios y que simular´ an devolver las noticias que encajan en dichas peticiones. 144

Cap´ıtulo 4. Mecanismo de especializaci´ on de roles

Espacio de noticias !"#$%&

Taxes

A Nat. Politics Intl. Politics

Home

Travel

!'()*("+&,&)-.+/*0)+&

Politics C

Lifestyle Middle East

!+'12130&

Theater Books

Culture

!'()*("+&

!-29(/*"0&,3#"8+*/&

Baseball

D NBA

=&

!316-+/&

US Markets

!7118/&

=&

Sports Hockey

NCAA

!:;

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.