MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

184
MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES AMAYA GUIO UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA DEPARTAMENTO DE SISTEMAS Y COMPUTACION BOGOTÁ D.C. 2002

Transcript of MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

Page 1: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

MERCADO INTELIGENTE

ALAN AGUIA AGUDELO

DIEGO ANDRES AMAYA GUIO

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERIA

DEPARTAMENTO DE SISTEMAS Y COMPUTACION

BOGOTÁ D.C.

2002

Page 2: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

MERCADO INTELIGENTE

ALAN AGUIA AGUDELO

DIEGO ANDRES AMAYA GUIO

Tesis para optar al título de

Ingeniero de Sistemas y Computación

Asesor

Angela Carrillo

Francisco Rueda

UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERIA

DEPARTAMENTO DE SISTEMAS Y COMPUTACION

BOGOTÁ D.C.

2002

Page 3: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

I

CONTENIDO

1 Introducción y motivación ................................................................................... 2

2 Capítulo I: Agentes............................................................................................... 5

2.1 Definición del concepto de agente .............................................................. 5

2.2 Sistemas Multi-Agentes (MAS).................................................................. 7

2.2.1 Características Generales................................................................... 8

2.2.2 Agentes Individuales vs. MAS........................................................... 8

2.2.3 Utilización de Sistemas Multi-Agentes.............................................. 9

2.2.4 Clases de MAS ................................................................................... 10

2.2.5 Formas de interacción....................................................................... 11

2.3 Arquitectura de un agente ........................................................................ 12

2.3.1 Arquitectura Subsumption............................................................... 13

2.3.2 ATLANTIS ........................................................................................ 13

2.3.3 PRODIGY.......................................................................................... 14

2.3.4 YUBARTA ......................................................................................... 15

3 Capítulo 2: Aplicaciones de agentes.................................................................. 17

3.1 Agentes de interfaz.................................................................................... 17

3.2 Agentes colaborativos ............................................................................... 18

3.3 Agentes móviles ......................................................................................... 19

3.4 Agentes de recuperación de información................................................ 21

4 Capítulo 3: Subastas........................................................................................... 23

4.1 Generalidades ............................................................................................ 23

4.2 Formulación matemática de una subasta................................................ 25

4.3 Subastas en Internet.................................................................................. 26

4.4 Arquitecturas de subastas en Internet .................................................... 27

5 Capítulo 4: Aprendizaje de agentes en subastas ............................................... 29

5.1 Aprendizaje por refuerzo ......................................................................... 30

5.1.1 Esquema de aprendizaje estocástico ................................................... 31

5.2 Aprendizaje adaptativo............................................................................. 32

Page 4: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

II

6 Capítulo 5: Esquema de un Mercado Inteligente............................................. 35

6.1 Dinámica de la subasta de primer precio secuencial ............................. 35

6.1.1 Subasta simultánea de primer precio con múltiples rondas como una

clase especial de juego bayesiano extenso con acciones observables................ 36

6.1.2 Estimación del riesgo de un participante............................................. 40

7 Capítulo 6: Técnicas de Recomendación .......................................................... 44

8 Capítulo 7: Técnicas de Negociación................................................................ 51

8.1 Modelo de negociación.............................................................................. 52

8.1.1 GENERACIÓN DE OFERTAS EN UNA SUBASTA SECUENCIAL

52

8.1.1.1 Algoritmo ........................................................................................ 53

8.1.2 Especificación del algoritmo para la selección de la mejor accion a

tomar. 56

8.1.3 Algoritmo para la generacion de ofertas en cada secuencia de la

subasta 57

9 Capítulo 8: Diseño y arquitectura de los agentes y del mercado inteligente... 58

9.1 Comportamiento de los agentes............................................................... 58

9.2 Arquitectura del mercado inteligente...................................................... 59

9.2.1 Fase I (Ingreso al sistema) ................................................................ 61

9.2.2 Fase II (Busqueda de la subasta ideal) ............................................ 62

9.2.3 Fase III (Negociacion) ....................................................................... 63

9.2.4 Fase IV (Notificación del proceso de la subasta al subastador) .... 64

9.3 Arquitectura de los coordinadores .......................................................... 64

9.3.1 Coordinador de proceso ...................................................................... 65

9.3.2 Coordinador de subasta ....................................................................... 66

9.3.3 Coordinador de compra ....................................................................... 68

9.3.4 Agente Auxiliar................................................................................... 69

9.4 Arquitectura de los agentes ..................................................................... 70

9.4.1 Agente recomendador ......................................................................... 70

9.4.2 Agente negociador............................................................................... 71

9.5 Especificación de la comunicación........................................................... 72

Significado .......................................................................................................... 73

Ask-about ........................................................................................................ 73

9.6 Diseño del mercado inteligente................................................................. 74

9.6.1 Diagrama de clases .............................................................................. 75

9.6.1.1 Coordinador de proceso .................................................................. 75

9.6.1.2 Coordinador de compra ................................................................... 76

9.6.1.3 Coordinador de subasta ................................................................... 77

9.6.1.4 Agente recomendador ..................................................................... 78

9.6.1.5 Agente negociador........................................................................... 79

Page 5: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

III

9.6.2 Diagrama de secuencia ........................................................................ 80

9.6.2.1 Ingreso nuevo comprador ................................................................ 80

9.6.2.2 Ingreso de un nuevo subastador ...................................................... 82

9.6.2.3 Ingreso viejo comprador.................................................................. 84

9.6.2.4 Ingreso viejo subastador .................................................................. 86

9.6.2.5 Recomendación............................................................................... 88

9.6.2.6 Negociación..................................................................................... 91

9.6.2.7 Notificación subastador ................................................................... 93

9.6.3 Diagrama relacional de la base de datos ............................................. 94

10 Capítulo 9: Análisis de resultados ................................................................. 96

10.1 Indicadores................................................................................................. 96

10.1.1 Indicadores económicos ...................................................................... 96

10.1.2 Indicadores sobre los algoritmos......................................................... 97

10.2 Escenarios .................................................................................................. 97

10.2.1 Escenarios para el número de jugadores en la subasta ....................... 98

10.2.2 Escenarios para el coeficiente de aversión al riesgo: caso agente

negociador ......................................................................................................... 106

10.2.3 Escenarios para el coeficiente de aversión al riesgo: caso agente

recomendador.................................................................................................... 115

10.2.4 Escenarios para la valoración del bien: caso agente negociador....... 119

10.2.5 Escenarios para la valoración del bien: caso agente recomendador.. 124

10.2.6 Escenarios para el tamaño del recall ................................................. 128

10.2.7 Escenarios para la entrada de jugadores cuando la subasta ya ha

comenzado: caso agente negociador y negociador ........................................... 135

10.2.8 Escenarios para la salida de jugadores .............................................. 147

11 Trabajo futuro y conclusiones ..................................................................... 151

12 Bibliografía................................................................................................... 153

13 Anexos........................................................................................................... 156

13.1 Código fuente del motor de inteligencia del agente recomendador.... 156

13.1.1 Clase PlaneacionRecomendador ....................................................... 156

13.1.2 Clase EstrategiaRecomendador ......................................................... 158

13.1.3 Clase PSERecomendador .................................................................. 159

13.2 Código fuente del motor de inteligencia del agente negociador.......... 165

13.2.1 Clase PlaneacionNegociador ............................................................. 165

13.2.2 Clase EstrategiaNegociador .............................................................. 165

13.2.3 Clase PSENegociador ....................................................................... 167

Page 6: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

IV

LISTA DE FIGURAS

Figura 1 Interacción con un solo agente........................................................................ 8

Figura 2 Interacción con varios agentes ........................................................................ 9

Figura 3 Arquitectura Subsumption............................................................................ 13

Figura 4 Esquema de un agente................................................................................... 15

Figura 5 Esquema de funcionamiento del sistema Warren......................................... 19

Figura 6 Funcionamiento de Telescript....................................................................... 21

Figura 7 Proceso de oferta en un escenario creado con Warras. ................................ 27

Figura 8 Arquitectura del AuctionBot......................................................................... 28

Figura 9 Modelo de aprendizaje por refuerzo ............................................................. 31

Figura 10 Ejemplo de una subasta con tres participantes representada en forma

extensa ................................................................................................................. 53

Figura 11 Arquitectura comprador del bien................................................................ 59

Figura 12 Arquitectura subastador .............................................................................. 60

Figura 13 Ingreso al sistema de un comprador de un bien.......................................... 61

Figura 14 Ingreso al sistema de un subastador............................................................ 61

Figura 15 Proceso de recomendación.......................................................................... 62

Figura 16 Proceso de negociación............................................................................... 63

Figura 17 Información subastador............................................................................... 64

Figura 18 Arquitectura coordinador-agente auxiliar ................................................... 64

Figura 19 Arquitectura agentes ................................................................................... 70

Page 7: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

V

LISTA DE TABLAS

Tabla 1 Ejemplo subasta holandesa ............................................................................ 24

Tabla 2 Asignación de valores que identifiquen la aversión al riesgo para

un participante en la subasta 43

Tabla 3. Frecuencias de ocurrencia de las acciones para los jugadores B y C a partir

del juego ficticio planteado por A. ...................................................................... 56

Tabla 4 Perfiles de riesgo seguido por los agentes...................................................... 97

Page 8: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

VI

LISTA DE GRÁFICAS

Gráfica 1 ...................................................................................................................... 98

Gráfica 2 ...................................................................................................................... 99

Gráfica 3 .................................................................................................................... 100

Gráfica 4 .................................................................................................................... 101

Gráfica 5 .................................................................................................................... 102

Gráfica 6 .................................................................................................................... 102

Gráfica 7 .................................................................................................................... 103

Gráfica 8 .................................................................................................................... 104

Gráfica 9 .................................................................................................................... 104

Gráfica 10 .................................................................................................................. 105

Gráfica 11 .................................................................................................................. 106

Gráfica 12 .................................................................................................................. 107

Gráfica 13 .................................................................................................................. 108

Gráfica 14 .................................................................................................................. 109

Gráfica 15 .................................................................................................................. 110

Gráfica 16 .................................................................................................................. 111

Gráfica 17 .................................................................................................................. 112

Gráfica 18 .................................................................................................................. 113

Gráfica 19 .................................................................................................................. 114

Gráfica 20 .................................................................................................................. 114

Gráfica 21 .................................................................................................................. 115

Gráfica 22 .................................................................................................................. 117

Gráfica 23 .................................................................................................................. 118

Gráfica 24 .................................................................................................................. 118

Gráfica 25 .................................................................................................................. 119

Gráfica 26 .................................................................................................................. 120

Gráfica 27 .................................................................................................................. 121

Gráfica 28 .................................................................................................................. 122

Gráfica 29 .................................................................................................................. 122

Gráfica 30 .................................................................................................................. 123

Gráfica 31 .................................................................................................................. 124

Gráfica 32 .................................................................................................................. 125

Page 9: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

VII

Gráfica 33 .................................................................................................................. 126

Gráfica 34 .................................................................................................................. 127

Gráfica 35 .................................................................................................................. 128

Gráfica 36 .................................................................................................................. 129

Gráfica 37 .................................................................................................................. 130

Gráfica 38 .................................................................................................................. 131

Gráfica 39 .................................................................................................................. 131

Gráfica 40 .................................................................................................................. 132

Gráfica 41 .................................................................................................................. 133

Gráfica 42 .................................................................................................................. 133

Gráfica 43 .................................................................................................................. 134

Gráfica 44 .................................................................................................................. 135

Gráfica 45 .................................................................................................................. 136

Gráfica 46 .................................................................................................................. 137

Gráfica 47 .................................................................................................................. 138

Gráfica 48 .................................................................................................................. 139

Gráfica 49 .................................................................................................................. 139

Gráfica 50 .................................................................................................................. 140

Gráfica 51 .................................................................................................................. 141

Gráfica 52 .................................................................................................................. 142

Gráfica 53 .................................................................................................................. 142

Gráfica 54 .................................................................................................................. 143

Gráfica 55 .................................................................................................................. 144

Gráfica 56 .................................................................................................................. 145

Gráfica 57 .................................................................................................................. 145

Gráfica 58 .................................................................................................................. 147

Gráfica 59 .................................................................................................................. 148

Gráfica 60 .................................................................................................................. 149

Page 10: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

Alan: A mi abuelo, A mi mamá, A mi papa,

A mi hermana Y a Laura.

Diego: A mi mamá, A mi papá y a todos

Mis hermanos y hermanas

Page 11: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

1 INTRODUCCIÓN Y MOTIVACIÓN

El campo de la inteligencia artificial tiene una trayectoria en realidad muy corta, de

aproximadamente 40 años. Durante este periodo de tiempo, la inteligencia artificial

ha evolucionado de tratar de dar soluciones generales para cualquier tipo de problema

no aplicado, a la construcción de sistemas expertos con un profundo conocimiento,

combinación, intercambio, retroalimentación de conocimiento, razonamiento y con

un aprendizaje que le permite llegar a soluciones a problemas reales de la vida real.

Si se mira el crecimiento que ha tenido en los últimos años el mercado de subastas

por Internet, podría decirse que este mercado ha pasado a ser el sector más dinámico

del comercio electrónico. Un ejemplo de esto es eBay, firma que en 1998 contaba

con más de 150.000 productos nuevos al día en más de 1.000 categorías diferentes.

En ese tiempo contaba con un poco más de 1.3 millones de usuarios. A finales del

año pasado, eBay contaba con más de 35 millones de usuarios registrados y tuvo

ingresos por más de 108 millones de dólares. Actualmente, existen más de 200 sitios

en la red que prestan el mismo servicio que eBay, aunque no con el mismo éxito.

Las subastas son mecanismos económicos para la asignación de recursos. En los

últimos años éstas han tenido gran importancia, pues han sido utilizadas para la

adjudicación de todo tipo de productos, desde simples artículos de consumo,

asignación del espectro electromagnético, títulos de deuda publica y hasta derechos

de explotación petrolera entre otros.

El surgimiento del comercio electrónico cambió radicalmente el proceso tradicional

de las subastas, pues redujo el número de procesos intermedios y lugares visitados

durante su ejecución. Estos cambios influenciaron directamente los costos en los que

se incurría, por lo que se paso a un método mucho más eficaz y barato para el

intercambio de bienes. No solamente hubo cambios en las subastas, sino que también

se produjeron mejoras en las actividades comerciales tales como el desarrollo de

nuevos canales de distribución, mejoras en las comunicaciones y relaciones con los

clientes, disminución de costos vía reducción de intermediarios, entre otros.

Los sistemas multi-agentes proveen un ambiente complejo e interesante para analizar

el comportamiento de los agentes inteligentes. Esta tesis, fue desarrollada con el fin

Page 12: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

de construir un mercado inteligente, compuesto principalmente de dos motores uno

de recomendación y otro de negociación, que modelara una subasta por medio de la

utilización de agentes que interactúan entre sí con el fin de obtener un conocimiento y

un aprendizaje a través de los datos generados y obtenidos por medio del mercado

inteligente. Como resultado de la investigación de esta tesis se implementó un

mercado inteligente utilizando el paradigma de los agentes inteligentes. En este

sistema se podrán realizar operaciones básicas tales como: compra, venta,

negociación y búsqueda de bienes por medio de un mecanismo de asignación como lo

es la subasta a través de un sistema de agentes con inteligencia artificial. Estos

agentes son entidades de software capaces de realizar tareas específicas, para lo cual

poseen la inteligencia suficiente (basada en un modelo matemático) para ejecutar sus

tareas de forma autónoma, o con ayuda de otros agentes, siempre buscando la

maximización dinámica de unos objetivos previamente propuestos para finalmente

generar un resultado.

La forma tradicional como en economía se viene trabajando el análisis de sistemas

económicos es mediante el estudio del comportamiento de un sistema cuando éste se

encuentra en equilibrio. Para realizar este análisis es necesario hacer dos supuestos

principalmente; el primero consiste en la maximización que los individuos desean

hacer sobre su utilidad, y el segundo está basado sobre las expectativas racionales1

que estos deben poseer.

Al analizar más detenidamente el supuesto de racionalidad surge de inmediato una

pregunta, ¿qué pasa si los individuos no son completamente racionales?. Si este fuera

el caso, una respuesta lógica sería que el equilibrio al que se llega no es válido, pero

esta respuesta no examina la posibilidad que, eventualmente, los individuos serían

capaces de alcanzar esta racionalidad por completo, con lo que se llegaría al

equilibrio descrito por la teoría. Es aquí donde nace una nueva pregunta, ¿cómo fue

el proceso que llevó al agente a alcanzar un comportamiento completamente

racional?.

Como consecuencia de esta pregunta, muchos economistas pensaron que los modelos

utilizados eran reglas de decisión pertenecientes a algún estado estable de un proceso

adaptativo. Gracias a esto, surgieron modelos que partían del relajamiento del

supuesto de racionalidad y cuyo objetivo era explicar cómo la consecución de un

equilibrio era el límite de los procesos de aprendizaje o adaptación.

La mayoría de los modelos propuestos se basan en la idea de cómo los agentes

actualizan sus creencias sobre el comportamiento que poseen sus rivales y como estos

reaccionarán ante sus acciones, es decir, si la decisión que sus rivales tomaran va a

ser óptima con base en los supuestos que ellos hayan formulado.

1 Por expectativas racionales se entiende que todos los individuos poseen correctas e idénticas

creencias sobre el comportamiento que tendrán sus competidores.

Page 13: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

Tomando esta alternativa sobre el estudio de sistemas económicos, es de particular

interés explorar algunos modelos propuestos por la teoría del aprendizaje en teoría de

juegos y analizar su posible utilización para el estudio del comportamiento de los

agentes participantes en las subastas. Acompañado de un estudio teórico, es deseable

tener resultados empíricos sobre las hipótesis y resultados desarrollados, por lo que

una implementación de estos modelos deberá ser realizada.

Para implementar estos modelos y simular un entorno donde todos lo individuos que

participan en una subasta tengan un modelo propuesto, es necesario utilizar una

herramienta como lo son agentes inteligentes artificiales.

Page 14: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

5

2 CAPÍTULO I: AGENTES

La palabra “agente”, últimamente se ha convertido en una palabra de moda dentro de

la jerga de las comunidades de computación, robótica, sistemas distribuidos,

interfaces de usuario, animación por ordenador, sistemas operacionales y de

inteligencia artificial entre muchos otros. El presente capítulo le permitirá al lector

entender de una forma simple lo que es un agente, su funcionamiento y las diferentes

arquitecturas que se han venido desarrollando en los últimos años. Como diría

Nicholas Negroponte, director del Media lab. del MIT: “El futuro de la computación

será de delegar a, y no de manipular computadores”.

2.1 Definición del concepto de agente

En realidad no existe una única definición de agente. Varios autores expresan

diferentes conceptos acerca de lo que debería ser un agente dependiendo de su óptica

particular. En el trabajo de grado Minque: Un Modelo que soporte el proceso de

Diseño Cooperativo, agente se define como: “Un agente es una entidad capaz de

resolver problemas internamente, que tiene almacenado su propio conocimiento,

datos relevantes del mundo o del sistema del cual hace parte, un esquema y

descripción de las actividades a realizar, y además es capaz de interactuar con los

demás agentes del grupo para resolver problemas en grupo”2. Russell y Norvig lo

definen como: “Un agente es cualquier cosa que percibe su entorno a través de

censores y actúa sobre ese entorno a través de efectores. Un agente es racional cuando

realiza la mejor acción posible a partir de los datos percibidos”3. Nwana lo define

como: “El término agente se refiere a un componente de software y/o hardware que

es capaz de actuar para poder ejecutar tareas en nombre de un usuario”4. Para esta

tesis, tomaremos el concepto de agente como aquel que es capaz de realizar tareas

específicas a un usuario, o a un grupo de usuarios y posee la inteligencia suficiente (la

cual está basada en modelos matemáticos) para ejecutar parte de sus tareas de forma

2 Rueda Rodríguez Julieta: 1996, MINQUE: Un modelo que soporte el proceso de diseño cooperativo.

Capítulo 1.4, página 26. 3 http://agents.umbc.edu/tophits.html

4 http://citeseer.nj.nec.com/nwana96software.html

Page 15: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

6

autónoma, o con ayuda de otros agentes, logrando así una interacción con su entorno,

buscando la maximización dinámica de unos objetivos previamente propuestos para

finalmente generar un resultado.

Una vez definido lo que es un agente, un aspecto necesario a tratar son las

propiedades que estos deben poseer. Al retomar las definiciones previamente hechas

surgen características deseables en los agentes, como es la capacidad de interactuar

por sí solos, reaccionar ante estímulos provenientes del ambiente y poder responder

racionalmente ante estos. Wooldridge5 definió una serie de atributos o propiedades

que un agente debe poseer:

- Autonomía: estar en la capacidad de actuar sin la intervención directa de una

persona o de otros agentes. Un agente autónomo podría ser el encargado en

una subasta de realizar las ofertas con base en el precio de reserva impuesto

por el usuario.

- Habilidad Social: tener la habilidad para interactuar con otros agentes o con

el usuario, para solicitar información o para mostrar los resultados obtenidos

después de la ejecución de las tareas asignadas a dicho agente. Para poder

lograr esto, dicho agente debe establecer un protocolo común de intercambio

de información entre ambas partes. Finalmente, los agentes deben tener algún

tipo de interfaz para poderse comunicar con el (los) usuario(s). Agentes con

esta característica serían los encargados de llevar a cabo el proceso de

negociación o búsqueda en un mercado, pues para lograr un acuerdo es

necesario que estos interactúen e intercambien información.

- Reactividad: el agente debe estar en la capacidad de darse cuenta de los

cambios que se dan en su ambiente y en función de esto actuar respondiendo

de forma adecuada a los cambios producidos en el mismo. Los efectos

producidos pueden alterar el estado de su entorno. Por ejemplo, para esta tesis

es preciso que el agente de filtrado de información, se de cuenta de la llegada

de nueva información con respecto a un usuario y con ésta sea capaz de

responder a las tareas asignadas al mismo.

- Orientación con Objetivos: un agente no solamente debe actuar por cambios

detectados en su medio sino que además debe cumplir con los objetivos para

los cuales fue diseñado y las tareas que le fueron impartidas. Es por tanto

preciso, que un modelo de agentes, sea un proceso auto-motivado, es decir, el

agente busca lograr satisfacer un estado interno con una mínima intervención

humana, a diferencia de cómo sería en una aplicación convencional, donde el

usuario ejecuta una acción y dicha acción es procesada y respondida en un

5 JENNINGS,N; WOOLDRIDGE, M. Software Agents. IEE Review, p 17-20. 1996. Traducción

realizada en el artículo “REVISIÓN: TECNOLOGÍA DE AGENTES DE SOFTWARE”, TOLOSA,

GABRIEL HERNAN; BORDIGNON, FERNANDO RAUL ALFREDO. P 302-303. 1999

Page 16: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

7

tiempo dado y así sucesivamente. Un ejemplo de un agente con esta

característica sería aquel encargado de seleccionar y clasificar el correo

electrónico recibido por el usuario, clasificándolo de acuerdo a unas reglas

previamente establecidas.

- Continuidad temporal: un agente se encuentra en un proceso continuo, es

decir, a diferencia de un programa convencional que tiene principio y fin, un

agente debe ejecutarse hasta que haya alcanzado los objetivos que le fueron

establecidos al mismo o bien mientras su ciclo perdure. Esta propiedad, es

entonces, aquella que en realidad le da “vida” al agente permitiendo que éste

pueda darse cuenta de los cambios en el medio y esté pendiente de nuevas

solicitudes. Por tanto es claro, que el ciclo de vida de un agente depende de

sus características, de las tareas que realice y del tiempo en el que el agente

debe ejecutarse. Para el caso de negociación en una subasta, la vida del agente

estaría limitada a la duración de ésta.

- Movilidad: es la capacidad que tiene un agente de “trasladarse” de un lugar a

otro dentro de la red, en busca de recursos que le permitan cumplir con sus

objetivos. Se entiende por trasladarse cuando en agente detiene su ejecución,

almacena su estado interno y se dirige a otro sitio dentro de la red para luego

continuar su ejecución en el nuevo lugar. Por ejemplo, un agente puede ir en

búsqueda de una base de datos que se encuentra en cierta máquina, o

simplemente se tiene que ejecutar remotamente utilizando otro procesador.

2.2 Sistemas Multi-Agentes (MAS)

En la actualidad la mayoría de las aplicaciones basadas en agentes, utilizan sólo un

agente, pero a medida que la tecnología avanza y surgen retos mayores, la necesidad

de un sistema con más de un agente se vuelve evidente. Los MAS han sido estudiados

principalmente por una rama de la Inteligencia Artificial (AI) denominada

Inteligencia Artificial Distribuida que provee los principios para la construcción de

sistemas complejos que envuelven múltiples agentes y para la coordinación de

diferentes comportamientos de agentes. La AI ha avanzado y en la actualidad se

enfrenta a problema cada vez más complejos, reales y de una escala mayor, estos

problemas sobrepasan las capacidades de un solo agente, ya que estos están limitados

por su conocimiento, por sus recursos computacionales y por el enfoque del problema

que este posea, para la solución de estos problemas se emplean dos poderosas

herramientas, la modularidad y la abstracción del problema, este enfoque permite a

cada agente que compone el sistema utilizar herramientas específicas para resolver

una pequeña parte del problema.

Un sistema Multi-agente puede ser definido como una red acoplada de entidades que

resuelven problemas y resuelven conjuntamente un problema que se encuentra más

Page 17: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

8

allá de las capacidades de una de estas entidades ( Durfee y Leseer 1989 ). Estas

entidades las conocemos como "agentes", son autónomos y pueden ser heterogéneos

en su naturaleza.

2.2.1 Características Generales

- Cada agente tiene información o capacidades incompletas para completar

una tarea. Este punto consiste en que cada agente no es capaz de tener

todo el conocimiento relacionado con el contexto y con las herramientas

necesarias para resolver el problema, todo debido a la dimensión y

complejidad del mismo.

- No existe un sistema de control global. El control se encuentra distribuido

a través de los diferentes agentes ya que el control lo poseerá el encargado

de una tarea en un instante específico de tiempo.

- La información se encuentra descentralizada, ya que cada agente posee la

información necesaria para resolver su correspond iente sub-problema, no

existe un agente que posee toda la información relevante para el problema.

- El sistema es asincrónico, ya que en cualquier momento se pueden tener

llamados de/a otros agentes, para delegar tareas que serán desarrolladas en

paralelo, o para recibir resultados de tareas específicas.

2.2.2 Agentes Individuales vs. MAS

Figura 1 Interacción con un solo agente

Agente

Ambiente

Page 18: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

9

Los agentes individuales interactúan únicamente con el medio ambiente, y para éste

los otros agentes son modelados como parte del medio ambiente.

Figura 2 Interacción con varios agentes

Los MAS modelan a los otros agentes como entidades espaciales y se comunican con

ellos no como parte del medio sino como otro agente que es capaz de interactuar.

2.2.3 Utilización de Sistemas Multi-Agentes

Los MAS son la solución a una variedad de problemas:

Cuando existen organizaciones y cada una posee su propio agente con unos objetivos,

conocimiento y arquitectura establecidos, y además existen otras organizaciones que

requieren compartir la información de otras para lograr su objetivo individual. En este

caso, es necesario diseñar un MAS que sea capaz de comunicarse con otros agentes

para compartir la información necesaria para lograr su objetivo.

Los MAS también son utilizados en sistemas que no son distribuidos, ya que estos

son capaces de aumentar la velocidad en la que se resuelven los problemas, debido a

que proveen métodos para el procesamiento en paralelo. Los sistemas que son

fácilmente separables en componentes son los que son beneficiados en mayor medida

por los MAS.

Los MAS son bastante utilizados para volver más robusto al sistema, ya que si es un

solo agente, una falla ocasionará que todo el sistema falle, lo que no ocurre con un

sistema Multi-agente. Además, un MAS no necesariamente debe ser implementado

Agente

AgenteAmbiente

Page 19: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

10

sobre múltiples procesadores, es posible implementarlo en diferentes máquinas,

haciendo el sistema aún más robusto.

La escalabilidad es una cualidad inherente de los MAS ya al estar diseñados por

módulos es muy natural añadir un módulo al sistema, aumentado bastante sus

capacidades con un mínimo de esfuerzo.

2.2.4 Clases de MAS

Actualmente se ha podido establecer que existen diferentes clases de MAS, que

difieren dependiendo de la arquitectura y la funcionalidad deseada en la aplicación,

por lo que describiremos las más importantes dentro de las cuales tenemos:

MAS Homogéneos no comunicados

En este enfoque existen múltiples agentes, los cuales poseen la misma estructura y los

mismos objetivos pero se encuentran en una situación diferente dentro del ambiente.

Como consecuencia, su respuesta a los impulsos del ambiente será diferente.

Existe una aplicación de este tipo de agentes desarrollada por Balch y Arkin, la cual

consiste en el estudio del mantenimiento de la formación militar de un grupo de

robots. El objetivo de los robots es moverse juntos en formación tales como

diamantes o columnas. Los robots periódicamente se dirigen hacia obstáculos, los

cuales previenen a uno o más robots moviéndose en línea recta; luego de superar el

obstáculo, todos los robots deben moverse en orden para ajustar nuevamente la

formación, los agentes de una forma reactiva actualizan sus censores para liberar

obstáculo.

MAS Heterogéneos no comunicados

En este escenario observamos varios agentes, los cuales se pueden diferenciar en su

estructura, objetivos y conocimiento del medio, y en consecuencia su respuesta al

mundo es diferente, estas diferencias aumentan la potencia del sistema.

Existe un modelo cazador / presa en el que cada cazador no conoce la posición de los

otros y sus decisiones se basan únicamente en el conocimiento del entorno y de la

posición de la presa con respecto a la suya; lo anterior nos lleva a que es posible que

este grupo de cazadores nunca logre su objetivo sin importar si sus posiciones

iniciales son diferentes e independientes.

Page 20: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

11

MAS Heterogéneos comunicados

Este es el enfoque más poderoso de los MAS ya que esta heterogeneidad aumenta el

potencial del sistema debido a que es posible que cada agente se encargue de una

tarea específica para luego comunicar sus resultados a los demás y así lograr llegar al

objetivo común.

Stephens y Merx desarrollaron un modelo cazador / presa, en el cual los predadores

en cada instante de tiempo pueden estar tratando de capturar diversas presas, cada

uno se dirigirá hacia la presa sobre la cual tenga mayores posibilidades de capturarla.

Esto se logra actualizando continuamente la posición de la presa y de los demás

predadores, con esto es posible obtener la posición más cerrada de captura posible

para cada presa.

2.2.5 Formas de interacción

Existen diversas formas en las que los sistemas Multi-agentes pueden funcionar a su

interior, esto dependiendo en primer lugar de la metodología que se utilizará para

resolver el problema, y en segundo lugar de los recursos, objetivos y conocimiento

que maneje cada uno de los agentes que componen el sistema. Teniendo en cuenta

estos factores los tipos de interacción se clasifican de la siguiente forma:

- Independencia : cada agente se encarga de llevar a cabo sus objetivos (el

mismo) de manera individual, la mejor representación es un sistema en el que

participan varios agentes, pero no existe comunicación ni coordinación entre

ellos.

- Colaboración: los agentes poseen objetivos compatibles, recursos suficientes

pero capacidades insuficientes. Esto ocurre cuando el agente posee poca

información referente al problema y aunque computacionalmente fuera

posible, no posee el dominio total del problema y de las formas de

solucionarlo, por esto se establece un sistema multi-agente compuesto de

agentes colaborativos.

- Obstrucción: los agentes no poseen objetivos compatibles, los recursos no son

suficientes pero las habilidades si lo son.

- Colaboración coordinada: los agentes poseen objetivos compatibles, los

recursos no son suficientes, y las habilidades tampoco. Al igual que en la

colaboración mencionada anteriormente la información es insuficiente, pero

ahora los recursos, en especial los computacionales no son suficientes, por

esto que es necesario que otros agentes con más recursos computacionales, o

recursos disponibles en ese momento se encarguen de llevar a cabo ciertas

rutinas.

- Competencia individual: los agentes no poseen objetivos compatibles y los

recursos y habilidades son suficientes. Este tipo de sistemas es muy parecido

Page 21: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

12

al primero, pero en este cada agente posee sus objetivos definidos y no se

cruzan con los de los otros agentes de sistema.

- Competencia colectiva: los agentes no poseen objetivos compatib les, recursos

suficientes pero capacidades insuficientes. Al no poseer capacidades

suficientes los agentes necesitan de otros con más conocimiento o

información disponible sobre el sistema para completar su tarea específica.

- Conflicto individual sobre recursos: los agentes no poseen objetivos

compatibles, los recursos no son suficientes pero las habilidades si lo son. Los

agentes cada uno tratando de lograr su objetivo y al tener recursos

insuficientes tratan de acceder a los recursos disponibles de otros, creando así

colisiones al tratar de acceder al mismo tiempo el mismo recurso.

- Conflicto colectivo sobre recursos: los agentes no poseen objetivos

compatibles, y los recursos y habilidades son suficientes. Al igual que en el

anterior los agentes ahora también deben acceder a los recursos de otros,

tanto computacionales como de conocimiento, por esto se vuelve mas

complicado el acceso a los recursos y a la información.

2.3 Arquitectura de un agente

La arquitectura del agente es la parte del sistema encargada de describir la forma

como van a ser utilizados los recursos que posee el agente.

En general, las arquitecturas poseen diferentes características implicando diferentes

propiedades para cada una de éstas. Por ejemplo, algunas utilizan representación

uniforme del conocimiento, otras usan representación heterogénea y otras, no tienen

una representación explícita. Estas decisiones llevan al soporte de capacidades

específicas.

La escogencia de características es a menudo hecha siguiendo algunos supuestos

metodológicos explícitos, conducidos por el medio y los dominios donde la

arquitectura será usada; esta variedad de escenarios son los responsables de la gran

variedad de arquitecturas existentes.

Para el diseño de la arquitectura del agente es necesario tener en cuenta la sinergia

existente con el medio donde va a funcionar. Desde este punto de vista, a

continuación se presentan algunas arquitecturas:

Page 22: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

13

2.3.1 Arquitectura Subsumption

Esta arquitectura es construida por capas y cada una de ellas da al sistema un

conjunto de comportamientos previamente definidos. Los niveles superiores están

construidos sobre los inferiores de tal forma que se crean comportamientos más

complejos. El comportamiento del sistema en su totalidad es el resultado de muchos

comportamientos simples que obran recíprocamente. El funcionamiento de las capas

es asincrónico.

Figura 3 Arquitectura Subsumption

Las capas están constituidas por redes de autómatas aumentados con censores de

tiempo los cuales habilitan cambios en el estado después de periodos de tiempo

preprogramados. La comunicación de los autómatas se hace por medio de señales, las

cuales pueden ser tanto de salida como de entrada. Este tipo de arquitectura dada su

facilidad de implantación es muy usada para el acercamiento a sistemas de control de

robots. Por medio de esta arquitectura el robot no es controlado por medio de un

sistema de razonamiento complejo, en contraste, se utilizan un conjunto de procesos

simples.

2.3.2 ATLANTIS6

La idea con la cual fue desarrollada esta arquitectura fue la de mantener un estado

interno en un alto nivel de abstracción, el cual debía ser usado como guía para las

acciones a tomar por el sistema y no como control de este.

Esta arquitectura fue construida basándose en operadores cuya ejecución consume

tiempo despreciable y así ellos mismos no causan cambios en el mundo, si iniciar

procesos que eventualmente los generarán. Estos procesos reciben el nombre de

actividades y los operadores que los inician o terminan son llamados decisiones. La

arquitectura consiste de tres capas:

6 http://ai.eecs.umich.edu/cogarch0/common/arch.html

L2 entrada NIVEL 1 Salida

Censores

L1 entrada NIVEL 0 Salida

Censores

Page 23: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

14

- Controlador: lee directamente de los censores y envía comandos reactivos a

los efectores basándose en la lectura realizada. Es la parte reactiva del sistema

- Secuencia: Posee una visión más global de los objetivos del sistema. Este es

el encargado de anunciarle al controlador cuándo empezar o parar una acción.

- Deliberativa : Responde de mantener los modelos del mundo y construir

planes. Realiza computaciones de alto nivel para que luego sean utilizadas por

la capa de secuencia.

Esta arquitectura permite al desarrollador la creación de colegas (agentes) los cuales

definen con ayuda del usuario tareas y reglas, así mismo, esta arquitectura tiene la

capacidad de monitorear los diferentes patrones de los usuarios para establecer más

reglas, por lo que tiene un gran campo de desarrollo y aplicación en el área de

mercadeo.

2.3.3 PRODIGY7

Es una arquitectura modular que almacena el conocimiento de una manera simbólica

en forma de predicados lógicos de primer orden (FOPL) la cual es llamada Lenguaje

de descripción Prodigy (PDL), con este lenguaje se puede expresar el estado actual

del mundo, búsquedas guiadas, deducción acerca de la información adicionada, entre

otras. Por lo tanto, todo el conocimiento es declarativo, inesperado y uniformemente

representado y con la capacidad de acceso por todos los módulos.

Prodigy utiliza un algoritmo de análisis de objetivos llamado Means-Ends, el cual

básicamente compara los estados actuales con el objetivo para la toma de decisiones.

Junto con esta forma de análisis y el control de reglas le da a Prodigy la característica

de enfocarse en el problema planteado y no perder su atención en subproblemas

generados en el camino.

Este tipo de arquitectura es usado comúnmente para el mapeo de trayectorias y

corregimiento de los mismos en tiempo real, por lo que es utilizada en multi- robots y

simulaciones de 3d.

7 Ibid

Page 24: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

15

2.3.4 YUBARTA8

Por tanto es importante tener en cuenta ciertas características internas que debe tener

un agente para tener la capacidad de responder a sus tareas y objetivos, por

consiguiente dentro de la arquitectura, el agente debe contar con una funcionalidad,

un control, un conocimiento y una comunicación. Cumpliendo con la siguiente

arquitectura:

Figura 4 Esquema de un agente

- Funcionalidad: son el conjunto de tareas que el agente va a realizar y que los

demás agentes necesitan conocer para que puedan tener una interacción.

- Control: es el conjunto de objetivos, planes y estrategias que va a desarrollar

y tener el agente para poder responder a un conjunto de requerimientos, así

como también son los conocimientos mínimos que necesita un agente para

poder tener un buen funcionamiento. Los objetivos son la descripción de los

posibles estados que el agente en un momento dado tiene o no. Para el caso de

un sistema multi-agente se establece la existencia de objetivos en común y

objetivos específicos que desarrolla cada agente con el fin de llegar a un

resultado final o simplemente para la retro-alimentación del sistema. Los

planes y estrategias es el conjunto de acciones que se realizan para resolver un

problema o alcanzar un objetivo.

- Conocimiento: el agente debe estar en la capacidad de saber cómo actuar y

cómo hacer las cosas que están ligadas con su rol. Los roles están definidos

por el sistema que se está modelando en donde cada agente cumple con las

funciones asignadas a dicho rol. De igual manera, el agente debe tener el

conocimiento necesario para cumplir sus funciones, las cuales vienen

derivadas de cambios en el sistema, de información generada en el mismo o

de información proveniente del exterior (ya sea un agente o el usuario). Este

conocimiento está almacenado de forma estructurada, de tal manera que

cualquier agente puede acceder a él, siempre y cuando dicha información sea

relevante para el cumplimiento de sus objetivos. Y finalmente cómo este

conocimiento es negociado entre las diferentes partes del sistema.

8 Rueda Rodríguez Julieta: 1996, MINQUE: Un modelo que soporte el proceso de diseño cooperativo.

Capítulo 1.4, página 26.

Funcionalidad

Control

Conocimiento

Comunicación

Page 25: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

16

- Comunicación: es la capacidad dentro de la arquitectura que tienen los

diferentes agentes de poder cooperar, coordinarse y negociar entre sí. Cada

agente tiene un lenguaje y un mecanismo de representación del conocimiento,

que permite la comunicación entre ellos.

Page 26: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

17

3 CAPÍTULO 2: APLICACIONES DE AGENTES

Dependiendo de la aplicación para la que se necesita un agente, este puede ser

clasificado de diferentes formas, teniendo en cuenta sus propiedades. Por lo tanto, se

ha propuesto una clasificación de acuerdo a las líneas de investigación y desarrollo de

agentes, en la cual se da prioridad a la función principal del agente. Siguiendo la

clasificación propuesta por Berney se puede llegar a decir que existen cuatro tipos

diferentes de agentes9.

3.1 Agentes de interfaz

Un agente de interfaz, es un software que asiste a un usuario cuando éste interactúa

con una o más aplicaciones, por lo que podríamos decir que este agente es semi-

inteligente. Lo bueno de este tipo de agente es que se le puede llegar a delegar tareas

aburridas y largas. Son entonces, asistentes personales, que reducen el trabajo cuando

hay sobrecarga de información, como podría ser el caso en el filtrado de mensajes de

correo electrónico. Este tipo de agentes proveen y suministran ayuda al usuario,

debido a que el agente se encuentra en un monitoreo continúo de las acciones

realizadas por el usuario con la interfaz. La idea es que el agente puede adaptarse a

las necesidades y hábitos de su(s) usuario(s). A su vez, esta clase de agente puede

encontrarse subdividido en diferentes tipos, para poder delegar o particionar una

asignación en:

- Asistentes: su objetivo, es el de ayudar a la planificación de las tareas diarias

del usuario como puede ser el manejo de su agenda personal.

- Filtros: su tarea, es analizar información según un conjunto de reglas dadas

por el usuario, por ejemplo el filtrado de correos electrónicos.

- Guías: su meta, es el de asistir a los usuarios en el uso de una aplicación.

Estos agentes se encargan de monitorear las acciones de los usuarios e

intentan sugerir los pasos a seguir para alcanzar un objetivo.

9 Berney B. Software Agentes – A review. Manchester University. 1996

Page 27: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

18

3.2 Agentes colaborativos

Los agentes colaborativos forman sistemas multi-agentes (MAS), por lo que existe

más de un agente dedicado a satisfacer los diferentes requerimientos de los usuarios.

Es por lo tanto, necesario contar con un protocolo de comunicación entre los agentes

el cual les permita la cooperación y el intercambio de información entre los mismos.

Por lo que, este tipo de agente debe tener un alto grado de autonomía para poder

actuar y poder llegar a satisfacer los requerimientos o tareas que le fueron delegados.

La construcción de este tipo de agente, fue hecha con el fin de poder repartir y

organizar mejor los diferentes requerimientos con los que debe cumplir la aplicación,

buscando así que las diferentes tareas no se encuentren centralizadas en un solo

agente, para buscar una mayor eficiencia y un tiempo de respuesta menor. Este tipo

de arquitecturas cuenta con una mayor confiabilidad debido a la redundancia y una

mayor velocidad debido al paralelismo. Las áreas de aplicación de este tipo de agente,

son cuando se está frente a la búsqueda de resolución a problemas demasiado

grandes, a la interconexión de múltiples sistemas o al manejo de información de

fuentes distribuidas.

WARREN es un sistema que desarrolla decisiones de manejo de portafolios de

inversión, en el cual se encuentran múltiples agentes encargados cada uno de analizar

un tipo de “stock” específico, basado en la actualización de las bases de datos

correspondientes a su comportamiento. Este sistema se compone de agentes que se

encargan individualmente de coordinar tareas, adquirir la información, enviar

resultados, generar recomendaciones y analizar la información contrastada con los

resultados. Este es un claro ejemplo del gran potencial que poseen los sistemas Multi-

agentes, ya que un solo agente no sería capaz, de manejar todas estas tareas e

información, y tampoco tendría a su disposición los recursos para ejecutarlas. Este es

el esquema general del funcionamiento del sistema:

Page 28: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

19

Figura 5 Esquema de funcionamiento del sistema Warren

El esquema de funcionamiento anterior consiste en agentes inteligentes que permiten

ayudar a manejar un portafolio financ iero. El sistema une los diferentes datos del

mercado, los reportes financieros, los modelos técnicos, los informes de los analistas

y los cambios en los precios del portafolio. Diferentes labores son asignadas a

diferentes agentes, un agente encuentra y modela el cambio de las acciones de una

empresa, otro supervisa las noticias que podrían alterar la rentabilidad del portafolio.

Si se produce un cambio, éste es notificado al usuario. Toda la información está

disponible en una vía web. El sistema luego integra toda la información, teniendo un

agente especializado responsable de cada recurso, y después presentándolo a, o

alertándolo para mostrar finalmente los resultados al usuario.

3.3 Agentes móviles

Los agentes móviles son aquellos que tienen la capacidad de navegar a través de la

red con el objetivo de interactuar con los hosts externos, recolectando información

para luego regresar a su punto de origen donde completarán las tareas que le fueron

asignadas al mismo. Este tipo de agente ayuda a proporcionar al usuario, soluciones a

cuestiones técnicas y al manejo de recursos computacionales distribuidos. El objetivo

de la movilidad del agente es reducir el tráfico innecesario dentro de la red con lo que

se pueden reducir los costos de comunicación; lo anterior permite a su vez un mejor

aprovechamiento de la red lo cual el usuario ve reflejado como más recursos

Usuario1 Usuario2 Usuario n

Agente administrador de

Portafolio

Agente

fundamental

de análisis

Agente

técnico de

análisis

Agente de

eventos

Agente

analista de

localización

Agente analista

de ganancias

Corredor de

Indicadores

de noticias y

cotizaciones

Corredor

de

mercado

Clasificador

de noticias

Corredor de

indicadores Información

histórica del

mercado

REPOSITORIO DE INFORMACIÓN

...

Page 29: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

20

disponibles dentro de la red. Un ejemplo de esto puede ser, cuando un usuario desee

usar un recurso que es altamente utilizado en el sistema, el usuario delega la función a

un agente y la próxima vez que el usuario se conecta, el agente le tiene la información

requerida y procesada según el caso. Para soportar dicha movilidad, debe existir una

infraestructura de transporte que mueva el código del agente de un lugar a otro

además se debe contar con un entorno de ejecución, que le permite al agente poderse

ejecutar en cualquier parte de la red computacional. Así mismo, debe definirse para

construir un sistema de agente móviles el medio de transporte, ejecución,

autenticidad, privacidad y seguridad.

Un ejemplo de un producto comercial es Telescript, desarrollado por General Magic,

el cual incorpora agentes móviles a un mercado electrónico. Telescript a su vez es un

lenguaje de programación orientado a objetos, el cual posee instrucciones como

desplazarse (go), que ocasiona que el agente se desplace de un lugar a otro. Un motor

es el encargado en cada sitio de aceptar y autenticar agentes emigrantes. Los agentes

pueden moverse entre lugares, los cuales están definidos como áreas lógicas

asociadas dentro del motor Telescript; este motor puede soportar múltiples lugares y

tiene incluido a su vez un sitio llamado lugar de motor. Los lugares de motor están

ejecutándose en un contexto mucho mayor, llamado región, el cual sirve como punto

de conexión para la red de Telescript. Una región puede consistir de múltiples

motores ejecutando múltiples lugares a la vez. Una vez el agente se ha movilizado al

nuevo lugar, el motor que maneja el lugar puede permitir o denegar el

establecimiento del agente en dicho lugar. Si el acceso es denegado, los agentes

pueden ser redirigidos a otro lugar, llamado purgatorio, en donde se les permite vivir

por un periodo corto de tiempo en un ambiente limitado. Esto les permite buscar y

seleccionar un nuevo destino. Telescript es utilizado por la red AT&T PersonalLink

(TM) para comunicaciones móviles y es visto como un mecanismo potencial para los

asistentes digitales personales10

.

10

http://www.mmrg.ecs.soton.ac.uk/publications/papers/Voyager/papers/chap4.htm

Page 30: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

21

Figura 6 Funcionamiento de Telescript

3.4 Agentes de recuperación de información

El objetivo fundamental de un agente de recuperación es obtener información por el

usuario. El hecho por el cual fue construido este tipo de agente, se debe al

crecimiento de Internet, la cantidad de información accesible supera la cantidad de

tiempo disponible para analizarla. El problema que se genera entonces, es que es tan

amplia la información distribuida que ésta genera desafíos en cuanto a las formas de

manejar su complejidad y heterogeneidad, por lo tanto, además del gran volumen de

información disponible, el encontrar información realmente útil que necesite el

usuario se vuelve una operación muy compleja. La idea del agente es poder diseñar

una técnica que permita describir los documentos de forma precisa, creando un índice

de alta calidad, con una forma eficaz y eficiente de acceder a él. Por tanto, el agente

estaría en la capacidad de asistir a un usuario en la formulación de consultas

avanzadas, con base a sus necesidades de información permitiendo acceder e integrar

fuentes heterogéneas y manejar diferentes tipos de información. Los agentes de

recuperación poseen métodos para permitir el rápido acceso y recuperación de

información relevante. Tiene como tarea administrar, manipular y unir información

de fuentes distribuidas. Pueden tener mecanismos de búsqueda y navegación flexibles

y algoritmos de clasificación poderosos. El objetivo final de este tipo de agente es el

de construir un diario personalizado, sabiendo dónde buscar, cómo encontrar lo

Motor Telescript

Lugar de motor

Lugar 1 Lugar 2

Motor Telescript

Lugar de motor

Lugar 1

MOTOR TELESCRIPT

Agente Móvil

DESPLAZARCE

Page 31: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

22

buscado y cómo armarlos luego. Los agentes se presentan como una herramienta útil

cuando se necesita resolver un problema de sobrecarga de información, debido a que

estos pueden realizar estas operaciones y sus funciones con una mayor velocidad que

una persona y con una disponibilidad de hasta 24 horas.

Internet es un campo ideal para desarrollar agentes de interfaz. En este dominio los

usuarios necesitan la ayuda de búsquedas con asistencia inteligente, esto ya que el

seguimiento manual de los links nunca previene verse inundado por información

irrelevante. LETIZIA es un agente de interfaz autónoma para la navegación en

Internet; éste almacena las URLs escogidas por el usuario y lee las páginas con el fin

de completar un resumen que puede ser de interés para el usuario, de acuerdo con los

tópicos establecidos por este. Para analizar las páginas se utiliza un simple analizador

de palabras claves denominado TFIDF (term frequency times inverse document

frequency), esto es, si en una página la palabra clave se encuentra bastante, pero en el

lenguaje común es rara, la página es una buena candidata a contener información

relevante. LETIZIA está activo durante todo el tiempo que el usuario navega, y está

analizando el espacio de Internet más cercano a la posición actual, en paralelo con las

funciones del usuario. LETIZIA utiliza la misma interfaz de NETSCAPE para

desplegar los resultados obtenidos.11

11

http://agents.www.media.mit.edu/people/lieber/Lieberary/Letizia/AIA/AIA.html

Page 32: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

23

4 CAPÍTULO 3: SUBASTAS

En los últimos años éstas han tenido gran importancia, pues han sido utilizados para

la adjudicación de todo tipo de productos, desde simples artículos de consumo hasta

los derechos de explotación petrolera, la asignación del espectro electromagnético y

títulos de deuda pública entre otros.

4.1 Generalidades

Existen diferentes definiciones de lo que es una subasta. Una subasta, en términos

generales, es un mecanismo económico para la asignación de recursos. Para el

desarrollo de este trabajo se utilizará una definición mas precisa de lo que es una

subasta; ésta será definida como un mecanismo de mercado con un conjunto de reglas

que determinan quién obtiene el bien subastado y a qué precio, basado en las ofertas

propuestas por los participantes12

.

El estudio de las subastas tiene una gran importancia tanto práctica como

teóricamente. En términos prácticos, el valor de los bienes intercambiados cada año

en las subastas se ha venido incrementando en grandes proporciones. En el campo

teórico, las subastas juegan un papel sobresaliente en la teoría de intercambios,

gracias a que éstas poseen una de las más simples y familiares formas de

determinación del precio en ausencia de intermediarios. Además de esto, las subastas

son una clara ilustración de juegos de información incompleta debido a que la

información que maneja el comprador sólo es conocida por él, quien es el que afecta

el comportamiento estratégico del resto de los participantes.

El tipo de subastas a analizar será de uno-a-muchos, donde bien pueden existir

muchos subastadores y un sólo comprador, o varios compradores y un sólo

subastador. Vale la pena mencionar que también existen las subastas de tipo muchos-

a-muchos, donde existen varios subastadores y varios compradores, pero éstas no han

tenido el suficiente tratamiento teórico, por lo que no se prestará atención a la

descripción de éstas.

12

BENGIO Samy, BENGIO Yoshua, ROBERT Jacques, BELANGËR Gilles. Stochastic Learning of

Strategic Equilibria for Auctions. October 7 1998.

Page 33: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

24

Existen cinco tipos básicos de subastas, las cuales han sido analizadas y utilizadas

ampliamente; a continuación se procederá a enunciarlas y a brindar una breve

descripción de cómo es su funcionamiento.

- Subastas con ofertas ascendentes: también conocidas como abiertas, orales o

inglesas. En este tipo de subasta el precio es aumentado sucesivamente hasta que

solamente quede un participante, el cual se lleva el objeto subastado.

- Subastas con precio descendente: Esta subasta funciona de una manera opuesta a

la anterior; el subastador empieza con un precio alto para luego disminuirlo en

una pequeña cantidad, el primer participante que acepte el precio propuesto por el

subastador va a ser quien se quede con el bien.

- Subasta de primer precio : los participantes envían sus ofertas sin poder ver las de

los otros, el bien es otorgado a quien hizo la oferta más alta y éste debe pagar lo

ofrecido.

- Subastas de segundo precio o Vickrey: la dinámica seguida por este tipo de

subasta es igual a la de primer precio, la diferencia radica en el pago que el

ganador tiene que realizar, pues éste será igual a la segunda mayor oferta.

- Subasta Holandesa: Este tipo de subasta es utilizado cuando se desea subastar

varios artículos a la vez. Los participantes deciden cuántos bienes de los

disponibles desean comprar y el precio que está dispuesto a pagar por estos;

cuando la subasta es cerrada, el precio que los participantes pagarán es igual a la

mínima oferta exitosa. Por ejemplo, supongamos que un subastador tiene diez

televisores para vender, el siguiente es un listado de las ofertas recibidas antes del

cierre de la subasta:

Comprador Cantidad de artículos Precio dispuesto a pagar por unidad

Juan 5 250.000

Pablo 4 235.000

Pedro 1 200.000

Lucas 2 180.000

Tabla 1 Ejemplo subasta holandesa

Para este ejemplo, la mínima oferta exitosa fue 200.000, así que Juan, Pablo y Pedro

tendrán que pagar esta cantidad por cada televisor.

La propiedad fundamental de las subastas es la asimetría de la información, esto

surge como consecuencia del desconocimiento de información que los participantes

tienen sobre sus competidores.

Debido a la asimetría de la información en las subastas, surgen dos clasificaciones

para éstas, subastas de valor privado y subastas de valor común. En las primeras cada

participante conoce cuál es el valor del bien a subastar, pero ésta información sólo es

conocida por él; en las segundas, el valor es el mismo para todo el mundo, pero los

Page 34: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

25

participantes tienen diferente información acerca de lo que el bien realmente vale.

Una subasta de arte es un ejemplo típico para las subastas de valor privado, pues cada

participante tiene una percepción diferente del costo del bien. Por otro lado, la

adjudicación de licencias para la extracción de petróleo es un caso típico de las

subastas de valor común; el precio del yacimiento está determinado por la cantidad

de petróleo presente, del cual, cada firma tiene estimaciones diferentes pero éstas

oscilan sobre un valor conocido por todas.

4.2 Formulación matemática de una subasta

En teoría de juegos una subasta pertenece a la familia de juegos de información

incompleta o juegos Bayesianos. Una subasta es vista como un mecanismo utilizado

por un vendedor para tratar de maximizar su utilidad. Existen diferentes modelos para

definir lo que es una subasta en términos matemáticos, unos más generales que otros.

Sin embargo, todos los modelos van a estar gobernados por la siguiente definición:

Una formulación general de lo que es una subasta está determinada13

por:

I: Conjunto de jugadores participan en la subasta

{ } I

ii 1=θ :Tipos de los jugadores14

( )Ip θθ ,,1K : Distribución de la cual provienen los tipos de los jugadores, ii Θ∈θ .

( )iip θθ |− : Probabilidad condicional acerca de sus oponentes,

( )Iiii θθθθθ ,,,,,111KK +−− ≡ , dado su tipo iθ

iS : Espacio de estrategias del jugador i

( )IIi ssU θθ ,,,,,11KK : Función de utilidad para el jugador i.

El comprador busca un perfil de estrategia ( ).s tal que:

( )( )

( ) ( ) ( )( )∑ ∑−

Θ−−−−

∈∈

i ii

ii

iiiiiiiiSs

ii ssupsθ θ

θθθθθθ ,,,|maxarg ,

.,

donde ( ) ( ) i

ii Sss Θ∈.,.,

como se puede ver a partir de esta relación matemática el

jugador i-ésimo selecciona la estrategia que maximiza su utilidad en valor esperado.

Esta estrategia es la mejor respuesta que puede dar el jugador ante las estrategias

escogidas por los demás jugadores, por lo que a este conjunto de estrategias se les

conoce con el nombre de equilibrio bayesiano.

13

Drew Fudenberg, Jean Tirole. Game theory. Cambridge, Mass. London : The MIT Press, 1991. 14

Los tipos de los jugadores están representados por las valoraciones que estos hacen del bien.

Page 35: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

26

Para facilitar el entendimiento de la formulación anterior se dará un modelo más

práctico para subastas de primer precio.

En este modelo existen n participantes, los cuales son neutrales al riesgo, compitiendo

por un solo objeto. El participante i realiza una oferta bi. El participante que tenga la

oferta más grande gana el objeto y paga por él lo que ofreció, b. El beneficio del

comprador si gana el objeto es de vi-bi, donde vi es la valoración que el participante

tiene sobre el objeto. Nótese que para este caso la valoración que el participante haga

del objeto será el tipo al que este pertenezca, θi . La oferta debe pertenecer al

intervalo [0,vi]. Se asume que la información sobre la valoración del participante i es

privada pero los demás tiene creencias acerca de la distribución de vi. Sea Fi(.) la

distribución acumulativa sobre vi para cada participante. En este caso, las estrategias

son funciones que a partir de la valoración del jugador especifican la cantidad a

ofrecer (bi(vi)). La escogencia de bi se hará si ésta cumple con la siguiente regla de

selección:

( ) ( ) ( )bGbvvb iib

ii −∈ maxarg , donde ( ) ( )( )∏≠

−=ji

jji bbFbG1

es la probabilidad que el

participante i gane el objeto para este tipo específico de subasta.

4.3 Subastas en Internet

El surgimiento de las subastas por Internet abrió una nueva ventana en el

comportamiento tanto de los subastadores como de los participantes. Las subastas en

Internet generalmente tienen una duración de varios días, por lo que muchos de los

sitios donde se realizan estas subastas ofrecen posibilidades de realizar las ofertas

automáticamente hasta alcanzar el valor de reserva del oferente. El proceso de estas

subastas es el siguiente:

- La persona interesada en subastar un bien se registra en uno de los portales que

ofrecen este servicio, luego registra el objeto en una de las categorías existentes.

Una vez escogido el precio mínimo por el cual será vendido el bien y el tiempo

que durará la subasta, el oferente da inicio al proceso. Las personas interesadas

en el bien empiezan a realizar ofertas, las cuales tienen que ser mayores estrictas a

la inmediatamente anterior. Al finalizar el tiempo programado para la subasta, el

objeto es asignado a la persona con la mayor oferta siempre y cuando ésta sea

superior al precio mínimo fijado por el subastador.

La anterior fue una descripción del tipo más común de subasta que se realiza por

Internet (subasta de tipo ascendente). Existen otras clases, donde se cambian reglas

como el tiempo de terminación de la subasta, el número de artículos a subastar, etc.

En la actualidad existen diferentes portales que ofrecen este tipo de servicio tales

como: E-bay, yahoo, y más concretamente en Colombia deremate.com

Page 36: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

27

4.4 Arquitecturas de subastas en Internet

Son diferentes aplicaciones las que se pueden encontrar en el mercado dada la

variedad de métodos, simulaciones y teorías que hay acerca de subastas. Sin embargo

podemos resaltar dos aplicaciones desarrolladas alrededor de este tema.

Los sistemas de precios del mercado constituyen ante ciertas condiciones una efectiva

descentralización de decisión realizada con una mínima comunicación entre sus

componentes. En los mercados orientados a la programación se realiza un

acercamiento a problemas distribuidos a través de actividades y recursos que se

distribuyen entre los diferentes componentes del sistema (MAS) para lograr de

manera competitiva un equilibrio artificial de la economía. El sistema WALRAS

permite construcciones básicas para la definición de estructuras computacionales de

mercado y diferentes protocolos y reglas que permiten llegar a un equilibrio artificial

del sistema que en nuestro caso sería una subasta15

.

La figura presenta una vista esquemática del proceso de ofertas en WALRAS, en el

cual existe una subasta para cada objeto a subastar y para cada agente existe un enlace

a cada una de las subastas en las que está interesado. Además existe un “tablero” con

los precios actuales de cada una de las subastas que se están desarrollando en ese

momento. Cada agente mantiene una agenda de ofertas, en donde se especifica cual

hace falta por realizar oferta y cuál fue la última oferta realizada para una subasta. La

existencia de cada agente es independiente del otro y no tiene el conocimiento de la

existencia de otros agentes. Cada vez que se reciben ofertas sobre una subasta, el

“tablero” es actualizado si es necesario y nuevas tareas son establecidas en los

agentes para calcular una oferta dado que el “tablero” ha sido afectado. El proceso

finalmente logra un equilibrio cuando los agentes no tienen más tareas asignadas

dentro sus agendas.

Figura 7 Proceso de oferta en un escenario creado con Warras.

15

WELLMAN Michael P. Application to Distributed MultiCommodity Flow Problems.

......

G1 G2 Gk

A1 A2 Ai An

P1

P2

.

.

.

pk

Agenda de tareas

[1],[7],[9]

...

Page 37: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

28

Los mecanismos de mercado, como las subastas, pueden ser representadas como una

interacción entre agentes, dada la necesidad que tienen estos de compartir tareas e

información para poder llegar a un resultado. Debido a la aplicabilidad que tienen las

subastas para desarrollar agentes, en Michigan fue desarrollado un servidor robusto,

escalable y flexible de subastas que permite la interacción de personas y agentes en

un mismo ambiente (AuctionBot). El servidor tiene la capacidad de manejar subastas

de forma simultánea separando la interfaz de los procedimientos hechos en el núc leo

del mismo. El AuctionBot se ha utilizado en diferentes cursos, y está disponible para

la gente que utilice Internet16

.

El diseño básico del AuctionBot es mostrado en la siguiente figura. En ésta, se

pueden apreciar dos partes; la primera compuesta por la interfaz web para los clientes

(humanos) y la segunda por la interfaz TCP/IP de los agentes. La parte derecha del

diagrama muestra el subastador y el programador de tareas. La interfaz y los

programas de los subastadores actualizan su información en una base de datos común.

Por ejemplo, un cliente (humano) especifica la oferta sobre un objeto a través de un

cuestionario diligenciado por el mismo y enviado vía web. La oferta es grabada en la

base de datos y mantiene un flag (sin procesar). Acto seguido, el usuario recibe la

notificación de que su oferta fue recibida y almacenada. Después, el subastador se

encarga de procesar todas las ofertas realizadas. El programador de tareas es un

demonio que continuamente está monitoreando la base de datos en busca de subastas

que no estén procesadas u ofertas que falten por ser verificadas. Cuando esto sucede

se llama al programa subastador encargado. El programa subastador carga los

parámetros y toma las diferentes ofertas que se encuentran en la base de datos para

finalmente procesarlas.

Figura 8 Arquitectura del AuctionBot

16

WURMAN Peter, WELLMAN Michael, WLASH William. The Michigan Internet AuctionBot: A

configurable Auction Server for Human and Software Agents.

Interfaz Web

Interfaz para los agentes

Servi

dor

HTTP

CGI

CGI

Servidor TCP

Base de datos

Programador

de Tareas

Subastador

Servidor de

correo

Page 38: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

29

5 CAPÍTULO 4: APRENDIZAJE DE AGENTES EN SUBASTAS

En los últimos años se han venido desarrollando numerosos avances en la teoría del

aprendizaje a partir de las propiedades observadas en la naturaleza lo cual ha llevado

a la formulación de diferentes modelos matemáticos.

Para poder explicar el concepto de aprendizaje en agentes aplicados a subastas,

consideremos el ejemplo de una persona, la cual va a tomar una decisión a partir de

un conjunto de posibilidades, que repercutirán en la utilidad que este obtenga. El

jugador conoce su función de utilidad así como también conoce el conjunto de

acciones disponibles para todos los jugadores, pero desconoce la utilidad de los otros

jugadores. En este entorno, el proceso de aprendizaje del jugador está definido sobre

las suposiciones que éste haga alrededor de las jugadas de los demás. El jugador

comienza con una suposición inicial acerca de la estrategia (la cual no es

necesariamente igual a la tomada por los otros jugadores) que va a ser utilizada por

los otros jugadores y dicha creencia es actualizada a medida que él observa el

desarrollo del juego. Si este simple razonamiento es aplicado por todos los jugadores,

el conjunto de estrategias a las que finalmente llegan constituyen un equilibrio para

este juego.

Un primer acercamiento a la teoría de aprendizaje puede hacerse desde un punto de

vista Darwiniano (1859) en el cual el aprendizaje es soportado por observaciones

fisiológicas y biológicas donde se muestra que los agentes tienden a utilizar

estrategias de refuerzo. En las estrategias de refuerzo, la tendencia del jugador a

utilizar cierta acción está determinada por el éxito que ésta tuvo en el pasado.

Otro acercamiento está basado en las creencias que el jugador tenga acerca de sus

oponentes. En los modelos que utilizan esta aproximación, se dice que los jugadores

son “miopes” pues tienden a formar creencias acerca del siguiente movimiento de sus

oponentes basados en la historia desarrollada por ellos a través del juego.

Page 39: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

30

5.1 Aprendizaje por refuerzo

El aprendizaje por refuerzo (reinforcement learning) es un área que ha tenido un

rápido crecimiento y ha sido de interés en campos como la inteligencia artificial y la

teoría de control. En principio, las técnicas de aprendizaje por refuerzo permiten a un

agente ser competente explorando y explotando su entorno, por medio de la

observación de resultados y cambios del mismo. Particularmente en problemas de

control, el aprendizaje por refuerzo puede tener ventajas significativas sobre un

aprendizaje supervisado, ya que no requiere de un ser humano calificado que le

provea ejemplos de entrenamiento. Otra ventaja, es que el proceso de exploración

permite al agente ser competente en áreas donde la experiencia humana es muy poca

o restringida. Por tanto, a través de este aprendizaje la exploración y explotación son

cruciales ya que le permite al agente descubrir la estructura del entorno y así

determinar la política óptima a seguir.

En un modelo de aprendizaje de refuerzo, un agente es conectado a su entorno a

través de percepciones y acciones. En cada etapa de la interacción el agente recibe

como entrada (i), alguna indicación del estado actual (s) del entorno; el agente luego

escoge una acción (a) para ser generada como salida. La acción cambia el estado del

entorno y el valor de este estado de transición es comunicado al agente a través de

una señal (r) llamada señal de refuerzo. El comportamiento del agente (B), debe

escoger acciones que tiendan a incrementar la suma a largo plazo de los valores de la

señal de refuerzo. Esto es aprendido por el agente, por medio de pruebas y errores o

guiado por un algoritmo que especifique la forma de hacerlo17

.

17

Littman L Michael, Moore Andrew W, Kaelblig Leslie Pack. Reinforcment Learning: A Survey.

Jorunal of Artificial Intelligence Research 4 (1996) 237-285.

Page 40: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

31

Figura 9 Modelo de aprendizaje por refuerzo

5.1.1 Esquema de aprendizaje estocástico

A menudo, la solución óptima de los procesos de explotación y exploración requieren

resolver problemas de decisión de Markov sobre los estados de información (conjunto

de todas las distribuciones de probabilidad posible sobre los modelos del entorno que

pueden ser alcanzadas por medio de la ejecución de todas las posibles secuencias de

acciones a partir de cualquier posible secuencia de preceptos y recompensas

recibida).

En el caso general de los problemas de aprendizaje por refuerzo, las acciones de los

agentes determinan no solamente su recompensa intermedia sino también, o al menos

probabilísticamente, el siguiente estado del entorno. Durante el lapso entre la

recompensa intermedia y el siguiente estado, el agente debe tomar una larga

secuencia de acciones, recibir refuerzos insignificantes para luego llegar al estado

final con un mayor grado de refuerzo; a ese intervalo se le conoce como recompensa

retrasada (delayed reward).

Los problemas derivados de delayed reward están modelados por procesos de

decisión de Markov (MDP), estos consisten en:

− S = conjunto de estados.

Page 41: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

32

− A = conjunto de acciones.

− R: SxA→R(reales), es la función de recompensa.

− T: SxA→Π(S), es la función de transición de estado, donde un miembro

de Π(S) es la distribución de probabilidad sobre el conjunto S. Esta

función especifica el siguiente estado del entorno como función de su

estado actual y la acción del agente.

Una posible implementación de este modelo de aprendizaje para el caso de subastas

es18

:

− A cada jugador i se le asocia un modelo de decisión estocástico, el cual

asigna un contexto de decisión posible C y una estrategia si a una

distribución de probabilidad P(ai|C,si) sobre las posibles acciones. El

contexto C es la información disponible del jugador antes de que éste

escoja una acción.

− El modelo de decisión estocástico puede ser representado por un modelo

flexible o no paramétrico. Un modelo con estas características podría ser

una red neuronal artificial la cual computa P con parámetros si.

− La estimación de los parámetros puede ser realizada con un algoritmo de

aprendizaje de MonteCarlo19

.

5.2 Aprendizaje adaptativo

Un esquema de aprendizaje adaptativo está definido por:

G = juego de un solo periodo (hasta que al jugador i tenga el turno de nuevo).

N = conjunto de jugadores en G definido en {1..n}.

Si = conjunto de acciones para el jugador i.

ui:: S→R (donde R es el conjunto de los reales) y donde S está definido (

j

Nj SS ∈×= )

ht = St (conjunto de historias de longitud t)

U∞

=→

0

:t

it

i SHf (estrategia para el jugador i).

)(X∆ = distribución de probabilidad sobre X.

)(:i

ett

i SHBi

−∞

=

∆→U (función de creencia para el jugador i, donde ei es un entero

positivo).

BRi = es la mejor respuesta que puede dar el jugador i.

18

Bengio Samy, Bengio Joshua, Robert Jacques, Bélanger Gilles. Stochastic learning of Strategic

Equilibrium for Auctions. 19

www.igidr.ac.in/~susant/TEACHING/TSA/ sl_tsa_03_montecarlointro.pdf

Page 42: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

33

Dada las anteriores definiciones estamos en condiciones de definir lo que es un

esquema de aprendizaje. Un esquema de aprendizaje para el jugador i, es una tupla

(Bi,f

i) tal que

it

iit

i etHBBRhf >∀∈ −− )),(()(11

.

Un esquema de aprendizaje, (Bi,f

i) es adaptativo si satisface las siguientes tres

condiciones para toda historia infinita.

- Para todo ε > 0 y para T > ei existe un M entero positivo tal que para todo s >

M, para todo ii Sx −− ∈ y para todo hs = (z1,.....zs) ∈ Hs, si

it xz −≠ para todo t

∈ [1,s] entonces: [ ] ε<−− ))(,(

1

isT

i xhhB . Esto significa que el jugador i asigna

una probabilidad baja a los perfiles de acciones que no hayan sido utilizados

recientemente.

- Para t>ei, si B

i(h[t-1])(x

-i)>0, entonces existe un s ∈ [1,t-1] tal que xs

-i = x

-i esto

significa que el jugador i asigna una probabilidad de cero a una acción que

nunca haya sido utilizada.

- Para x-i∈ S

-i y para t >e

i si xt-1

-i = x

-I, entonces B

i(h[t-1])(x

-i)>0, esto significa

que el jugador no ignora la información reciente.

A continuación se brindan dos ejemplos de esquemas de aprendizaje que cumplen

con los anteriores supuestos.

El primero de ellos es el aprendizaje bounded recall learning schemas (BR). Se dice

que un esquema de aprendizaje (Bi,f

i) exhibe un comportamiento de tipo BR si existe

un entero mi que pertenezca[1,e

i] tal que las siguientes condiciones sean satisfechas:

- Para t>ei tanto B

i como f

i dependen únicamente de los últimos m

i perfiles de

acción. Esto es, para cada 1

11,

−−−−−− ∈

ii

imt

mtmtHhh y para todo

( ),...,(),...,(:),...,(1,11,11 i

iiiii m

mti

mmt

i

mmZzhBZzhBHzz −−−−

=∈ y

),...,(),...,(1,11,1

ii

ii mmt

i

mmt

i ZzhfZzhf −−−−=

- Para t > ei, 0))(,(

1>−

−i

sti xhhB si y solo si existe un entero s ∈ [t-m

i,t-1] tal

que xs-i = x

-i, donde ht-1 = x1,...,xt-1. Esto quiere decir que el esquema de

aprendizaje es utilizado si x-i fue usado en uno de los últimos m

i periodos

20.

En el segundo de ellos la tupla (Bi,f

i) es generalized fictitious play (FP) learning

schema, si para t > ei y para toda historia ht-1 se tiene:

20

Hon-Snir Shlomit, Monderer Dov, Sela Aner. Alearning Approach to Auctions. Jorunal of Economic

Theory 82, 65-88(1998).

Page 43: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

34

{ }{ }

∑∑ −−− =−≤≤

−∈

−− =

iis xxts

s

ttt

it

i ww

xhB:11

1,...,1

1

1))(( entendiendo por esto como la distribución

obtenida a partir de la historia observada.

Page 44: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

35

6 CAPÍTULO 5: ESQUEMA DE UN MERCADO INTELIGENTE

El tipo de subasta que se va a utilizar para el desarrollo de esta tesis va a ser una de

primer precio secuencial. Este tipo de subasta fue seleccionado debido a la

disponib ilidad de información que se tiene acceso en cada ronda. Cabe aclarar que

por ronda se entiende al inicio de una nueva subasta con las mismas características

salvo que para el inicio de ésta, nueva información estará disponible sobre las ofertas

realizadas en la ronda anterior.

6.1 Dinámica de la subasta de primer precio secuencial

Existe un bien a subastar el cual es de interés común para más de un agente, el

subastador hace publico el precio mínimo por el cual él está dispuesto a entregar el

bien, además de informar la hora de inicio de la subasta. Antes de dar inicio a cada

ronda, un agente que quiera participar se registra con el subastador quien luego

informa a todos los agentes sobre este nuevo participante. Los agentes tienen un

tiempo preestablecido para enviar sus ofertas. Cuando este se cumple, el subastador

da por terminada la ronda, con lo cual procede a decidir quién es el ganador y enviar

esta información a los participantes; si ésta es la última ronda da por terminada la

subasta.

Condiciones para el inicio de la subasta

Una subasta se iniciará si se cumplen las siguientes condiciones:

1. Se ha llegado a la hora de inicio programada para la subasta

2. Hay por lo menos dos agentes interesados en el bien.

Si la segunda condición no se llegara a cumplir cuando el tiempo programado para la

subasta llega, se procederá a esperar hasta que ésta sea cumplida.

Page 45: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

36

Integridad en las rondas de la subasta

Una ronda de la subasta será inválida si existe sólo un participante. Este estado se

alcanza únicamente por condiciones exógenas (fallas en la comunicación, caídas en

los servidores, etc) a los agentes, es decir, la decisión de retirarse de una subasta por

parte de un agente no está contemplada como una alternativa para un agente. Si en

algún momento de la subasta se llegara a este estado, se dará por terminada y se

reiniciará una hora después.

Determinación del ganador la subasta

Luego de finalizar la última ronda, el ganador de la subasta será aquel que tenga la

máxima oferta en esa ronda. Si hay dos o más participantes con una oferta igual al

máximo de las ofertas realizadas en esa ronda, el ganador será aquel que haya ganado

más rondas anteriormente; si el empate persiste, se decidirá el ganador

aleatoriamente. El ganador siempre paga la cantidad ofrecida en la ronda que está

siendo evaluada.

6.1.1 Subasta simultánea de primer precio con múltiples rondas como una clase especial de juego bayesiano extenso con acciones observables.

La descripción formal de la subasta va a ser realizada partiendo de un juego

bayesiano extenso con acciones observables21

, para luego ser ampliado a un modelo

que logre incorporar características especiales de la subasta.

Jugadores

El conjunto de los jugadores para la ronda inicial está denotado por N0 = {1,...,n}. En

este caso los jugadores son los n agentes que ratifican su interés por participar en la

subasta al inicio de una ronda. Dado que en cualquier ronda de la subasta los

jugadores pueden entrar o abandonarla, es necesario identificar este tipo de jugadores

con dos conjuntos más. Sea Ei el conjunto de los jugadores que entran a la subasta

en la ronda i-ésima, y Oi el conjunto de los jugadores que no participarán en la rondad

i; es así como el conjunto de jugadores para la ronda i-esima de la subasta está

definido por:

21

Una completa descripción de este tipo de juego se encuentra en Osborne, Martín. Rubintein Ariel. A

course in game theory

Page 46: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

37

( ) iiii EONN U−= −1

donde:

• 1−⊆ ii NO : Los jugadores que no participan son aquellos que estaban

presentes en la ronda anterior

• Φ=−1ii NE I : un jugador sólo puede participar si no estuvo en la anterior

ronda

Existen varios supuestos que debemos hacer sobre los agentes participantes en la

subasta:

• El objetivo primario de los agentes es maximizar su utilidad.

• Los agentes tienen aversión al riesgo22

• La utilidad de los agentes está en función de la valoración que éste tiene

sobre el bien a subastar

Tipos

Debido a que la utilidad generada por la posible adquisición del bien es información

privada para cada agente, el tipo de un agente es la valoración que éste tiene sobre el

bien. Esto se debe a que la utilidad del agente está en función de la valoración, así la

caracterización de un jugador, es decir su tipo, puede ser hecha partiendo de su

valoración.

El tipo de un jugador está denotado por la variable vi la cual pertenece a un

subconjunto de los naturales. Este conjunto será identificado como iΘ . Aunque el

conjunto al que pertenece esta variable es potencialmente infinito, puede pensarse que

existe una cota superior para éste, determinada por la restricción presupuestal que un

individuo tiene al participar en la adquisición de un bien; este hecho hace que el

conjunto al que pertenece la valoración pueda suponerse finito cumpliendo con la

condición impuesta por un juego bayesiano con acciones observables

Los siguientes son supuestos realizados sobre los tipos:

• El tipo de un jugador es una variable exógena al modelo.

22

Un agente tiene aversión al riesgo si su función de utilidad definida sobre un rengo de números reales

es cóncava, es decir ( )[ ] )()1()(1 yUxUyxU αααα −+∗≥−+∗ . Luenberger, David.

Investment Science Pág. 231.

Page 47: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

38

• El tipo permanecerá constante a lo largo de la participación del agente en el

juego.

Espacio de acciones

Un supuesto importante realizado para el espacio de acciones fue la discretización de

la oferta realizada por el agente. Esto se hizo basándose en la idea de que la oferta

representa el dinero que el agente está dispuesto a pagar el cual aunque puede tomar

valores racionales, es escalable a un valor natural.

Para este juego, las acciones tomadas por los participantes son las ofertas que éstos

realizan en cada ronda por el bien a subastar, las cuales pertenecen a los naturales.

La acción tomada por el agente i para la ronda j de la subasta será denotada

por ij

i Ab ∈ , donde Ai denota el espacio de acciones.

Historia

La historia del juego es una secuencia de acciones tomadas por los jugadores,

formalmente la historia para el jugador i está definida por:

( ) KiKzzk

ki Ha ∈+= ,...,1,

, donde z es la ronda desde la cual empezó a participar en

el juego.

Es claro que la longitud de las secuencias puede ser diferente para cada jugador

debido a que éste puede entrar en una etapa posterior al inicio del juego.

Cabe aclarar que existe una correspondencia entre las secuencias y los jugadores que

están participando en la subasta, con lo que se garantiza que cualquier tipo de función

definida sobre el conjunto UiAi

iHH∈

= , es consistente con los jugadores que

intervienen en el juego.

Creencias

Un participante de este juego sólo posee información acerca de su valoración y de la

historia de las ofertas realizadas en rondas pasadas, desconociendo completamente la

valoración de sus competidores. Como consecuencia de esta asimetría en la

información los jugadores deben hacer supuestos que les permita identificar de alguna

manera el tipo de los otros jugadores con los que está compitiendo.

Page 48: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

39

Los supuestos que un jugador hace sobre sus oponentes serán denominados creencia,

la cual es una función de probabilidad sobre los tipos de los otros participantes, más

formalmente esta creencia será una función j

iµ , donde i es el jugador y j es la ronda,

tal que :

Uj

ki

kji H

0

)(:=

−Θ∆→µ

( )i−Θ∆ es la distribución de probabilidad sobre el conjunto de tipos de todos los

jugadores sin incluir a i.

En el desarrollo de este trabajo no se asumirá una forma funcional específica para

esta función de creencias, como a menudo sucede, sino que esta creencia será

realizada basándose en un determinado esquema de aprendizaje, el cual será definido

mas adelante.

Función de Utilidad

El tipo de la función de utilidad es Von Neumann-Morgenstern23

, la cual para el

jugador i va a estar definida como:

( )

−⋅

=contrario lo de , 0

subasta la de j ronda la deganador el fue si ,)(,

γγ jiij

iii

bvbvU

donde el parámetro γ es determinado exógenamente y 10 ≤≤ γ ; γ caracteriza la

aversión al riesgo del jugador.

La definición de la utilidad se hizo a nivel de rondas, pero también es aplicable para

el resultado final de la subasta.

23

Las funciones de tipo Von Neumann-Morgenstern suponen que las preferencias de las personas están

formadas sobre loterías, las cuales determinan su utilidad esperada.

http://cepa.newschool.edu/het/essays/uncert/choicecont.htm

Page 49: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

40

Estrategias

Una estrategia para un jugador es una regla que le indica qué acción debe tomar. En

el caso de esta subasta la acción será qué oferta realizar para la ronda en que se

encuentra participando.

Una estrategia está definida como:

Uj

ki

ki AHf

0

:=

Esta regla de asignación va a estar determinada por un sistema de valoración sobre el

juego compuesta por dos elementos (β,µ). El primero de estos es una colección de

acciones que determinan la forma como el jugador debe comportarse a lo largo del

juego, mientras que la segunda es el sistema de creencias que posee el jugador sobre

los tipos de los otros participantes.

6.1.2 Estimación del riesgo de un participante24

Esta encuesta tiene como propósito el asociar un riesgo a un participante nuevo que

desee entrar en alguna subasta. Dicho riesgo permitirá al sistema identificar la

tolerancia al riesgo que tiene un participante.

1. Su salario y sus entradas promedio de su trabajo van a tener un incremento

significativo en los próximos años.

a. En desacuerdo totalmente

b. En desacuerdo

c. No está en desacuerdo pero tampoco concuerda

d. Concuerda

e. Concuerda totalmente

2. Su usted tuviera que decidir cómo invertir sus contribuciones en su plan de

retiro, usted escogería inversiones que ofrecieran intereses fijos y estabilidad

a. En desacuerdo totalmente

b. En desacuerdo

c. No está en desacuerdo pero tampoco concuerda

d. Concuerda

e. Concuerda totalmente

24

Luenberger G. David. Investment Science. New York 1998.

Page 50: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

41

3. Usted considera que invertir en el mercado volátil actual es como un juego de

azar de un casino.

a. En desacuerdo totalmente

b. En desacuerdo

c. No está en desacuerdo pero tampoco concuerda

d. Concuerda

e. Concuerda totalmente

4. Si usted tuviera que seleccionar un mercado de valores, se inclinaría más por

compañías relacionadas con el desarrollo de tecnología para el futuro, como

podría ser lo que suplantará a la penicilina.

a. En desacuerdo totalmente

b. En desacuerdo

c. No está en desacuerdo pero tampoco concuerda

d. Concuerda

e. Concuerda totalmente

5. Si usted tuviera que invertir sobre el fondo de educación universitaria de sus

hijos, usted optaría por:

a. Certificados de deposito

b. Búsqueda de un fiador personal

c. Fiadores corporativos

d. Inversión en el mercado de valores

e. Ingresos esporádicos extras

6. El siguiente número de personas depende financieramente de usted.

a. Tres

b. Dos

c. Una

d. Solo usted

7. Número de años en lo que usted espera estar retirado

a. Retirado actualmente

b. En menos de 5 años

c. Entre 5 y 14 años

d. Entre 15 y 24 años

e. Más de 25 años

8. El capital neto con el que cuenta usted al año (entradas – salidas)

Page 51: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

42

a. Menos de 4.000.000

b. Entre 4.000.001 y 8.000.000

c. Entre 8.000.001 y 12.000.000

d. Entre 12.000.001 y 24.000.000

e. Más de 24.000.001

9. La cantidad de dinero que usted dispone para emergencias, como pérdida del

trabajo o emergencias médicas equivale a:

a. Un mes de salario o menos

b. De dos a seis meses de salario

c. De siete meses a un año de salario

d. De un año a dos años de salario

e. Más de dos años de salario

10. Usted prefiere invertir en diferentes acciones en un mercado de valores que

sólo en una porque así usted tiene una mayor diversificación y un manejo más

profesional.

a. En desacuerdo totalmente

b. En desacuerdo

c. No está en desacuerdo pero tampoco concuerda

d. Concuerda

e. Concuerda totalmente

11. Usted quisiera y necesita reducir su nivel de deudas en sus finanzas

personales.

a. En desacuerdo totalmente

b. En desacuerdo

c. No está en desacuerdo pero tampoco concuerda

d. Concuerda

e. Concuerda totalmente

12. Cuando usted realiza una inversión, prefiere hacerlo donde la rentabilidad sea

baja y su dinero esté seguro o lo contrario.

a. En desacuerdo totalmente

b. En desacuerdo

c. No está en desacuerdo pero tampoco concuerda

d. Concuerda

e. Concuerda totalmente

Page 52: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

43

Para establecer el puntaje obtenido por el participante se estableció la siguiente

convención, por cada respuesta con a) se tiene un punto, con b) se obtienen dos

puntos, con c) se obtienen tres puntos, con d) se obtiene cuatro puntos y con e) se

obtiene cinco puntos. Si se llega a obtener un puntaje total mayor a 46 es probable

que usted se inclina por riesgo. Si el puntaje está entre 41-45 tiene una menor

tolerancia al riesgo aunque mantiene una buena combinación entre el alta riego y el

bajo riesgo. Si el puntaje está entre 36-40 se tiene una tolerancia promedio al riesgo.

Si el puntaje está entre 31-35 se está por debajo de la tolerancia al riesgo. Y si el

puntaje es menor a 30 no hay tolerancia al riesgo.

Luego de haber identificado la clase de riesgo a la cual va a pertenecer el participante,

se procede a asignar un valor para ρ que refleje dicho resultado. Esta asignación se

lleva a cabo teniendo en cuenta que la persona que opta por la acción a) es más

riesgo, comparada con la persona que escoja la opción e) quien sería más adversa al

riesgo. En la siguiente tabla se muestre la asignación de valor:

Mayor 46 41-45 36-40 31-35 Menor 30 ρ 0.9 0.7 0.5 0.3 0.1

Tabla 2 Asignación de valores que identifiquen la aversión al riesgo para un participante en la subasta

Page 53: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

44

7 CAPÍTULO 6: TÉCNICAS DE RECOMENDACIÓN

La idea de una recomendación es la de maximizar los resultados sujeto a las

restricciones impuestas en el entorno. Tratar de dar una clasificación de las estrategias

de recomendación puede llegar a ser muy difícil dado que se puede utilizar cualquier

algoritmo que evalué los resultados, realice las acciones y siga los procedimientos

necesarios para lograr un adecuado intercambio de información.

Recomendación es un proceso de exploración de los diferentes entornos que pueden

ser útiles en nuestro caso para que un participante entre o no a una subasta en la que

tenga una alta posibilidad de adquirir el bien a ser subastado. Por lo tanto, el agente

recomendador trata de encontrar un punto del espacio en el cual se llegue a un

equilibrio en el que se logren satisfacer sus objetivos.

Hay diferentes técnicas para la realización de la recomendación. Se encuentran las

técnicas de las aproximaciones evolutivas, donde se tiene en cuenta la historia de la

subasta, optimización, donde se maximiza un objetivo sujeto a un número de

restricciones.

Como pudo verse, existen diferentes aproximaciones para el proceso de

recomendación, las cuales pueden ser de gran ayuda en la búsqueda de una forma más

rápida y eficiente de estos procesos. Dependiendo del contexto donde se planee

desarrollar la recomendación se puede emplear una u otra técnica, aunque puede

darse el caso que a partir del uso combinado de éstas se genere un híbrido con el que

se tengan mejores resultados.

Para realizar la recomendación es necesario utilizar una simulación que sea rápida

para que el participante i tenga una respuesta que le permita tomar una decisión sobre

la subasta que más le conviene desde el punto de vista de su utilidad, y qué

probabilidad tiene que éste adquiera el bien a ser subastado. La simulación propuesta

tendrá como base la solución del problema de optimización planteado en la ecuación

1. En ésta se plantea la maximización de la utilidad esperada del participante sujeta a

que la oferta debe ser menor a la valoración que dicha persona tiene sobre el bien y

una mínima cantidad por la cual podrá ser admitida una oferta.

Page 54: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

45

) /(),( maxi

bibFibivU −

Sujeto a que ii vb ≤

bb iˆ≥

Ecuación 1 Maximización de la utilidad del participante

A continuación se muestra las variables de la simulación y el macro algoritmo del

proceso de recomendación:

Variables de Estado: son las variables necesarias para poder realizar la simulación.

- bjk es la oferta realizada en la ronda j por el participante k.

Constantes: constantes para ser tenidas en cuenta en la simulación.

- vk valoración que está dispuesto a tener el participante k.

- φ es el parámetro de la distribución de las valoraciones de los participantes.

Este parámetro se determina antes de comenzar la simulación a diferencia del

proceso de negociación en el que el parámetro es ajustado en cada ronda de la

subasta.

Macro algoritmo:

1. Estimación del parámetro φ a partir de la historia que hasta ese momento se

tenga de la subasta.

2. Generación de la oferta para cada participante de la subasta con base en la

ecuación 1.

3. Repetir los pasos uno y dos k-veces. 4. Recomendar al participante entrar o no en la subasta i. 5. A partir del resultado de la simulación establecer si el bien fue adjudicado al

participante.

Para obtener la solución al problema de la ecuación 1 se llevaron a cabo los

siguientes pasos.

En primera instancia lo que se desea obtener la maximización del valor esperado de la

utilidad del participante i que desee adquirir un bien:

[ ]),(U i ii vbEMax

Sujeto a que bbiˆ≥

Lo que deriva la siguiente ecuación:

)/()( ii bbFbiviMax −− γγ

Page 55: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

46

Sujeto a que bbiˆ≥

Ecuación 2

La restricción de ii vb ≤ no será tenida en cuenta para la solución de este problema,

gracias a las características de la función objetivo, pues en el óptimo ib debe ser

menor a la valoración de i.25

Para solucionar la ecuación 2 es preciso determinar en primera instancia la función de

probabilidad )/( ii bbF − . Para el desarrollo de esta tesis la función de probabilidad a

utilizar va estar definida por una distribución uniforme26

. Se dice que una variable

aleatoria X está distribuida uniformemente sobre el intervalo (a,b), si su función de

densidad de probabilidad está dada por:

≤≤−

contrario lo de 0

bx a )/(1),:(

abbaxf 27

Ahora bien, dado que se necesita de la función acumulada, realizamos la integral de

la función de densidad de probabilidad para obtener el siguiente resultado: dada la

)( xXP ≤ se llega a que la función acumulada F está determinada por:

ab

axF

−−= .

Para la recomendación se tendrán en cuenta dos situaciones, la primera cuando no

existe asociada una historia en la subasta, a la que el partic ipante quiera pertenecer,

eso quiere decir que la subasta del bien aún no ha comenzado y la segunda cuando

exista una historia previa sobre el bien a ser subastado, que el participante quiera

adquirir.

Lo que se quiere obtener en términos generales para las dos situaciones es la

probabilidad que la oferta a realizar por i sea mayor a las ofertas realizadas por los

otros, esto es )( ii bbP −≥ , de la cual se deriva la siguiente expresión:

)( ii bbP −≥ = 1 - )( ii bbP −≤

la cual es equivalente a:

25

Nótese que si la oferta supera a la valoración, la función objetivo sería negativa. 26

Supóngase que ocurre un evento en que una variable aleatoria toma valores de un intervalos finito,

de manera que éstos se encuentran distribuidos igualmente sobre el intervalo. Esto es la probabilidad

de que la variable aleatoria tome un valor en cada subintervalo de igual longitud es la misma y este es

justamente el caso que se tiene. 27

Canavos C. George Probabilidad y Estadistica. Aplicaciones y métodos. México 1988.

Page 56: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

47

)( ii bbP ≤− = ijcon )(1

≠≤∏=

n

jji bbP

Ecuación 3

donde n es el número de jugadores que están participando por adquirir el bien.

La anterior ecuación es válida teniendo en cuenta el supuesto de que las

probabilidades de los n jugadores son independientes entre sí. De la ecuación 3 se

deriva el hecho de que dada una distribución uniforme, la función acumulada de ésta

es:

)( ii bbP ≤− = ijconInfSup

Infbn

j

i ≠−

−∏=

limlim

lim

1

Ecuación 4

Para términos de la recomendación que se va a suministrar, se asumirá que el límite

superior (limSup) y el límite inferior (lim Inf) estarán definidos de la siguiente

manera:

- Primer caso: dada la incertidumbre que se tiene cuando no hay historia, se

definirá que el LímiteSuperior(LimSup) igual a iv y el LímiteInferior(LimInf)

estará definido por b̂ .

- Segundo caso: dado que no hay incertidumbre debido a la existencia de una

historia previa sobre la subasta del bien, se definirá el

LímiteSuperior(LimSup) igual al valor máximo medio ofrecido en cada ronda

menos σ 28 medio y el LímiteInferior(LimInf) estará definido por el valor

mínimo medio de todas las rondas ronda.

Una vez tenidos en cuenta los anteriores supuestos, se deriva de la ecuación 4 que:

)( ii bbP −≥ =

)1(

limlim

lim−

− n

i

InfSup

Infb

Ecuación 5

Ahora, que ya tenemos determinada la función acumulada de probabilidad definida

por la ecuación 5 podemos resolver la ecuación 2. Reemplazando el valor de la

ecuación 5 en la ecuación 2 obtenemos el siguiente resultado:

28 Tomando la desviación ( σ ) como: ∑

= −−n

i n

bbi

1 1

Page 57: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

48

)1(

limlim

lim)(

−−

n

i

InfSup

InfbbiviMax γγ

Sujeto a que bb iˆ≥

Ecuación 8

Aplicando Lagrange29

sobre la ecuación 8 obtenemos el siguiente resultado:

1

limlim

lim)(

−−

n

i

InfSup

InfbbiviMax γγ + )ˆ(* ibb −λ

Ahora derivamos con respecto a bi y obtenemos que:

λγγγ

γ −

−−

−−+

−−−=

−−−

21

12

limlim

lim

limlim

)1(*)(

limlim

lim*)(

n

i

n

ii

i InfSup

Infb

InfSup

nbivi

InfSup

Infbbvi

db

df

Ahora igualando a cero )(lim* ibInf −λ se tienen dos casos, uno para cuando λ es

diferente de 0, el cual generaría

ibInf =lim

Con λ igual a 0 se tiene que

21

12

limlim

lim1

limlim

)1(*)(

limlim

lim*)(

−−−

−−

−−−−=

−−

n

i

n

ii

InfSup

Infb

InfSup

nbivi

InfSup

Infbbvi

γγ γγ

Despejando bi* se obtiene el valor que finalmente dará la recomendación con el fin

de que el participante tome la decisión de entrar o no a dicha subasta. Al obtener el

valor de bi*, se pueden llegar a tener dos posibles situaciones:

• Situación 1: el bi* es mayor que el límite superior: Para este caso no es

posible asociarse una probabilidad de que el participante adquiera el bien. Por

29

Stewart James. Calculus Early Transcendentals Third edition. Para encontrar un valor mínimo o

máximo de una función f(x,y,z) sujetos a g(x,y,z) ≤ k (asumiendo que este valor extremo existe): a)

Encontrar los valores x,y,z y λ tal que ∇ f (x,y,z)= λ ∇ g (x,y,z) y que g (x,y,z)=k. b) Evaluar f

en todos los puntos (x,y,z) que salen del paso a). El valor más grande es el máximo valor de f y el más

pequeño es el mínimo valor de f.

Page 58: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

49

lo tanto el criterio de recomendación para este caso estará determinado por la

utilidad esperada y por el bi*.

• Situación 2: el bi* es mayor que el límite superior: Para este caso no es

posible asociarse una probabilidad de que el participante adquiera el bien. Por

lo tanto el criterio de recomendación para este caso estará determinado por la

utilidad esperada, la probabilidad de adquirir el bien y por el bi*.

Como resultados empíricos del algoritmo supongamos que estamos en una subasta,

en la que el comprador está en busca de un bien (televisor plano) con ciertas

características (21 pulgadas-Sony). El agente de recomendación, entonces busca todas

las posibles subastas en las que se encuentra el bien con las características que el

comprador desea y comienza el proceso de recomendación. Para propósitos prácticos

de este ejemplo, supongamos que la aversión al riesgo (γ ) del cliente es de 0.8, que

la máxima valuación por la que está dispuesto a pagar para adquirir el bien es de (vi)

1200 unidades y que lo mínimo por lo que el subastador vende su bien ( b̂ ) es de 500

unidades. En primera instancia supongamos que hay dos subastas a las que puede

ingresar el comprador, la primera aun no ha comenzado y tiene dos posibles

compradores del bien; mientras que en la segunda hay dos jugadores hasta ahora que

van en la primera ronda con los siguientes resultados:

Identificador de Subasta Jugador Oferta

4 Jugador 1 1000

4 Jugador 2 590

Por lo tanto para el primer caso los resultados que el algoritmo de recomendación

daría sería el siguiente:

Identificador de la Subasta

Utilidad Esperada

Probabilidad de adquirir el

bien

Oferta (bi) Límite Inferior

Límite Superior

3 78.96 0.55556 888.888 500 1200

Dado que para este caso hay una historia previa, de una ronda, se hace la corrección

correspondiente al límite inferior, tomándolo como el menor de las ofertas generadas

en la ronda, y el límite superior como el máximo de las ofertas menos la desviación

estándar de las ofertas de la ronda, por lo tanto para el segundo caso los resultados

serían los siguientes:

Identificador de la Subasta

Utilidad Esperada

Probabilidad de adquirir el

bien

Oferta (bi)

Límite Inferior

Límite Superior

4 70.73 0.889 928.888 590 971.0086

Page 59: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

50

Por lo tanto se le mostraría al comprador el resultado del proceso completo de

recomendación para que este tome la decisión a cual subasta es en la que desea

participar.

Page 60: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

51

8 CAPÍTULO 7: TÉCNICAS DE NEGOCIACIÓN

El foco de una negociación es maximizar los resultados dentro de restricciones del

entorno. Tratar de dar una clasificación exhaustiva de estrategias de negociación es

difícil puesto que una estrategia puede ser realizada por cualquier algoritmo que

evalué resultados, compute acciones apropiadas y siga protocolos para el intercambio

de información.

Negociación es un proceso de búsqueda. Los participantes realizan búsquedas en un

espacio multidimensional (e.g. cantidad, precio) tratando de encontrar un punto del

espacio en el cual ellos lleguen a un acuerdo en común y cumplan con sus objetivos.

Cuando las interacciones entre los participantes de la negociación son del tipo

muchos a muchos, el mecanismo apropiado es un mercado; para el caso de uno a

muchos, es utilizado el mecanismo de la subasta.

Existen varias técnicas para la realización de un proceso de negociación. Por una

parte se encuentran técnicas analíticas, las cuales están basadas en principios de

negociación e interacción entre individuos desarrollados por la teoría de juegos; por

otro lado, se encuentran modelos desarrollados con aproximaciones evolutivas, en las

cuales existe un algoritmo que opera sobre la historia de la negociación para que ésta

sea usada como base para el posterior desarrollo de la misma. Existe otro tipo de

técnica, la cual se basa en la formulación de un problema de satisfacción de

restricciones CSP (constraint Satisfaction Problem), en los cuales se busca la

asignación de valores a las variables de interés satisfaciendo el conjunto de

restricciones propuestas.

Como pudo verse, existen diferentes aproximaciones para el proceso de negociación,

las cuales pueden ser de gran ayuda en la búsqueda de una forma más rápida y

eficiente de estos procesos. Dependiendo del contexto donde se planee desarrollar la

negociación se puede emplear una u otra técnica, aunque puede darse el caso que a

partir del uso combinado de éstas se genere un híbrido con el que se tengan mejores

resultados.

Enseguida se definirá el modelo con el que se plantea el desarrollo de la negociación

en la subasta.

Page 61: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

52

8.1 Modelo de negociación

Como conclusión de la descripción anterior, especificar un modelo de negociación

está íntimamente relacionado con el ambiente donde ésta se planea implementar. Por

tal motivo, el tratamiento de una subasta desde el punto de vista de teoría de juegos

parece ser una buena aproximación debida la imposibilidad que para un agente

significa en un momento de la negociación conocer de alguna manera la estrategia

seguida por los otros participantes, lo cual puede ser solucionado si se escoge de

manera adecuada un modelo planteado por esta teoría..

El primer paso a realizar es plantear la subasta como un juego, lo cual fue realizado

en el capítulo 6, luego de esto debe especificarse la manera en que los agentes

incorporarán la información de la subasta al juego especificado, para esto debe

definirse el esquema de aprendizaje a seguir. Cualquier esquema que garantice las

condiciones del modelo utilizado sirve como mecanismo de aprendizaje. Para esta

tesis se empleará el esquema brindado por el juego ficticio, el cual está descrito en el

capítulo 5 y por lo tanto no se entrarán en mayores detalles.

El éxito de la negociación será determinado por el tipo de modelo escogido y las

propiedades que este tenga tales como existencia de equilibrio, convergencia de

creencias, etc.

El siguiente paso para definir por completo el modelo será la manera en que el agente

realizará las ofertas para cada ronda de la subasta. Para esto se utilizará la siguiente

heurística.

8.1.1 GENERACIÓN DE OFERTAS EN UNA SUBASTA SECUENCIAL

Una oferta realizada por un agente es una decisión basada en la historia que éste ha

observado y en el modelo de aprendizaje que utilice. El objetivo del agente siempre

es la maximización de su función de utilidad, por lo que la oferta realizada debe estar

acorde con este principio.

El algoritmo propuesto tiene como fin generar una oferta que maximice la utilidad del

agente dada una historia observada, a esta oferta se le conocerá como oferta óptima

Supuestos sobre los agentes

Este algoritmo supone que el agente utiliza un juego ficticio como esquema de

aprendizaje en la subasta, por lo que para cada secuencia de la subasta las acciones

tomadas por cada uno de sus participantes están determinadas mediante una función

de distribución determinada por dicho esquema.

Page 62: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

53

8.1.1.1 Algoritmo

En este algoritmo se denotará por [ ]1,0:)( →⋅ jij Af como la probabilidad que el

agente j utilice una acción en la secuencia i-ésima de la subasta, jf− es la función de

distribución para cualquier jugador excepto j. El conjunto de información para la i-

ésima secuencia de la subasta para el agente j será identificado como ijΙ , mientras

que un nodo que pertenezca a este conjunto será ),,(i

jjij ak −Ιη , donde k es el número

del nodo, ja la acción asociada a ese nodo y Ii-j los conjuntos de información para los

otros agentes.

El algoritmo está basado en la solución de un juego representado en su forma extensa,

pero en los conjuntos de información no se encuentran todas las estrategias que

pueden tomar los participantes sino aquellas que han sido utilizadas en alguna

secuencia anterior del juego.

Tratar de solucionar un juego en su forma extensa puede ser considerado como un

problema NP, por lo que es necesario desarrollar un criterio que permita replantear la

solución a uno de menor complejidad. A continuación se describe dicho criterio:

La idea del algoritmo se dará con base en la figura 9 donde se representa una subasta

en su forma extensa. El jugador A debe elegir la acción a tomar, x, para la secuencia

de la subasta en que se encuentra. Existen otros jugadores, B y C, cada uno con dos

acciones posibles a tomar. La función de utilidad de a A va a estar dada por 5.0

)8(5.0)( xxu −⋅=

Figura 10 Ejemplo de una subasta con tres participantes representada en forma extensa

4 4 3 3

3 7

X

B

C

A

Page 63: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

54

Dado que A desea maximizar su utilidad, la oferta que realice b debe satisfacer:

(1)

[ ]

}){}{)(max(arg

}){)(max(arg

)},max({)(max(arg

))(max(arg

CB

CB

CB

axPaxPxb

axaxPxb

aaxPxb

xEb

≥⋅≥⋅−⋅=

≥∧≥⋅−⋅=

≥⋅−⋅=

−⋅=

γ

γ

γ

γ

νγνγνγ

νγ

.

donde x es la oferta de A, v la valoración que tiene el jugador sobre el bien y γ es una

constante para A. aB y aC representan las acciones que pueden tomar los jugadores B

y C respectivamente (en este caso aB∈ {7,3} y aC∈ {3,4} ).

Para este ejemplo, existen dos conjuntos de información uno para B y otro para C,30

los cuales se presenta a continuación:

( ){ }),3,1(,,7,1 CCB ΙΙ=Ι

( ){ }),4,2(),,3,2(),,4,1(,,3,1 φφφφ=Ι C

La probabilidad que x sea mayor a una acción tomada por el jugador j va a estar

condicionada por la frecuencia con que ésta ha sido utilizada31

, así esta probabilidad

va a ser definida por:

(2)

>

=≥ contrario lo de , 0

xsi , )(}{

jjij

j

aafaxP

Teniendo esto en cuenta, la ultima igualdad de (1) puede ser redefinida como:

(3) ),max()),()()(max(arg CBCi

CBi

B aaxafafxb >⋅⋅−⋅= γνγ

Al analizar la ecuación (3) se ve que esta función puede ser descompuesta en dos

partes. La primera de éstas va a estar conformada por la expresión γνγ )( x−⋅ la cual

representa la utilidad devengada al utilizar la acción x, ésta va a ser denotada como

u(x); la segunda parte es )()( Ci

CBi

B afaf ⋅ y es simplemente la multiplicación de las

frecuencias de las acciones posibles a tomar por los otros jugadores. Es claro que u(x)

30

En la definición de un juego representado en su forma extensa, se debe tener para cada participante

un conjunto de información, pero en esta representación no se tendrá en cuenta el conjunto del jugador

para el cual se generara la oferta, esto se debe a la forma como opera el algoritmo. 31

Este supuesto proviene del esquema de aprendizaje utilizado, pues en un juego ficticio se supone que

los otros jugadores utilizaran alguna acción tomada en el pasado para la cual existe una frecuencia de

utilización asociada.

Page 64: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

55

crece a medida que x tiende a cero, pero por otro lado se tiene que ),max( CB aax > ;

combinando estas dos ideas se llega a que32

:

(4) { } 1),max( += cB aax

Ahora es necesario encontrar la tupla { } { }4,33,7,),( =∧=×∈ CBCBCB AAAAaa que

satisfaga (3), para esto se definen:

{ }{ }CBjAAxxxjx iCBiiiii ,,,:),(1

=∪∈>= +ψ

{ } { }CBjAyyfyfy jiikikik ,,),()(:)(1

=∈>= +φ .

Con estos dos conjuntos, se procede a buscar iterativamente tuplas de acciones que

dominen a otras33

, a continuación se describe el procedimiento a realizar para dicha

selección:

1. Seleccione la primera componente del primer elemento de ψ tal que 1

ψ 34.

Este elemento tiene la particularidad que

{ } { }( ) ),,max(4,33,7),(11

ψψ =×∈∀ CBCB aaaa , es así que

)()),,(max(11

ψψ uaau CB = , por lo que la utilidad parcial35

esperada para esta

acción va a ser )()(11

ψψ jfu ⋅

2. Para determinar por completo la tupla falta escoger el otro elemento, para esto

se debe seleccionar la acción a que cumpla con que su imagen bajo j−φ sea el

máximo de este conjunto y que no haya sido eliminada del conjunto ψ en

iteraciones pasadas , ésta va a ser denotada por )1(j−φ . Una vez identificado

este elemento, la utilidad esperada va a estar representada por:

)1()()(22 11 ψψ φψψ −⋅⋅ fu

3. Se elimina 1

ψ de ψ . Si todas las acciones disponibles para un conjunto de

información formaron parte de un proceso de selección como el descrito en 1

o ya se especificaron todas las acciones disponibles en los conjuntos de

información se detiene la iteración, de lo contrario hay que retornar al paso 1 .

32

Por los supuestos del modelo se tiene que x∈Ν , entonces x debe ser el siguiente natural al máximo

de la tupla de acciones aB y aC 33

Este procedimiento esta basado en la idea de la eliminación de estrategias dominadas, en donde el

sentido de dominación va a estar dado por la función de utilidad esperada.

( ))()(),())1(()())1(,(

),()1(,

212222

2

1111

11

bffbuffu

b

ψψψψψψ

ψ

ψψφψφψ

ψφψ

−−−−

f

34 Para abreviar se denotara por

1ψ a la primera componente del elemento (la acción) ψ , y

2ψ la

segunda componente (el identificador del jugador). 35

Por utilidad parcial se entiende como aquella utilidad donde aun no se ha especificado todos las

acciones que la conforman.

Page 65: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

56

4. A partir de las tuplas seleccionadas, se debe escoger aquella que tenga la

mayor utilidad esperada. Con esta tupla y utilizando la ecuación 4 se estable

la oferta a realzar para la i-ésima secuencia de la subasta.

La siguiente tabla representa las frecuencias de ocurrencia de las acciones de B y C:

7 4 3

B ¼ ¾

C 2/3 1/3

Tabla 3. Frecuencias de ocurrencia de las acciones para los jugadores B y C a partir del juego ficticio planteado por A.

Para este caso ψ sería igual a {(7,B), (4,C),(3,B),(3,C)}, y }7,3{=Bφ , }3,4{=Cφ

El primer paso del algoritmo daría como resultado 71

=ψ , con lo que la utilidad

parcial seria igual a 0.125. El segundo paso del algoritmo arrojaría )1(B−φ = 4,

obteniéndose una utilidad igual a 0.083; el resultado de esta iteración seria la pareja

(7,4).

Ahora como resultado de la siguiente iteración se tendría la pareja (3,4) con una

utilidad asociada de 0.5. En la tercera iteración se tiene la pareja (3,3) con una

utilidad de 0.27. Dado que las acciones disponibles de B ya se eliminaron, no es

necesario seguir iterando pues ya se tienen todas las parejas que dominan al resto. Es

claro que la pareja (3,4) es la que maximiza la utilidad esperada, por lo que la oferta

que A debe realizar de acuerdo con la ecuación (4) debe ser 5.

Una vez dada la idea intuitiva del algoritmo, se procederá a describirlo en su forma

general.

8.1.2 Especificación del algoritmo para la selección de la mejor accion a tomar.

1. Crear los elementos ψ y Ν∈∀ kk ,φ . Si el conjunto de información asociado

para algún jugador es vació entonces la acción asociada a este jugador va a ser

igual a36

:

36

Dado que en la prime ra secuencia de la subasta no se tiene información disponible sobre las acciones

de los otros participantes, se puede suponer que la acción que cada uno de los otros va a realizar será

una variable aleatoria uniformemente distribuida sobre el intervalo [ Supb,ˆ ], donde Sup es un valor

no determinado. Asumiendo esta distribución para las ofertas de los otros participantes y utilizando las

ecuaciones proporcionados en (1) se llega que la oferta a realizar debe ser la solución del siguiente

problema:

Page 66: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

57

1

)1(

−+−⋅+⋅

n

nvb

γγ

)

Seleccionar el primer elemento de ψ , el cual va a ser identificado por 1

ψ

2. Sea j el jugador que tiene la acción asociada al elemento1

ψ , ahora se debe

escoger para cada uno de los jugadores jii ≠Ν∈ , la acción ai tal que cumpla

con que su imagen bajo iφ sea el máximo de este conjunto y no haya sido

eliminada del conjunto ψ en iteraciones pasadas , ésta va a ser denotada por

)1(iφ . Con )1(iφ y 1

ψ se forma el conjunto de acciones kϑ para la k-esima

iteración.

3. Se elimina 1

ψ de ψ . Si todas las acciones disponibles para algún conjunto

de información formaron parte de un proceso de selección como el descrito en

2 se detiene la iteración, de lo contrario hay que retornar al paso 2.

4. A partir de ϑ , se debe escoger el k-ésimo elemento tal que tenga la mayor

utilidad esperada. Con esta tupla y utilizando la ecuación 4 se establece la

oferta a realzar para la i-ésima secuencia del juego. Si esta oferta es mayor a

límite superior de las ofertas (la valoración del objeto para este caso) la oferta

a realizar debe ser este límite.

8.1.3 Algoritmo para la generacion de ofertas en cada secuencia de la subasta

1. Seleccione la mejor acción por medio del algoritmo 2.7.3, ésta será denotada

por *b

2. Calcular los límites de donde debe estar la oferta

3. Calcular el promedio de las últimas k secuencias de la subasta. Este k es el

recall del aprendizaje del agente. A este promedio denótese por b

4. Si el periodo de calentamiento37

no ha terminado, genere una oferta de la

siguiente forma:

( ) InfSupbbsino

InfSupbbbbsi

limlim1

limlim)(

**

***

−⋅−+=⇒

−⋅−=⇒>

γ

γ

Si el periodo de calentamiento ya ha terminado, *b debe ser calculado como

( )γ−⋅−+= 1*** bvaloracionbb

5. Verificar si se violó la valoración del bien, si este es el caso la *b debe ser

igual a la valoración.

( )1

ˆ

ˆ.max

−−⋅−⋅

n

bSup

bbbv γγ

37 El periodo de calentamiento sirve para brindar la oportunidad a los agentes de conocer la forma

como los otros participantes realizan sus ofertas.

Page 67: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

58

9 CAPÍTULO 8: DISEÑO Y ARQUITECTURA DE LOS AGENTES Y DEL MERCADO INTELIGENTE

Este capítulo tiene como propósito el mostrar como sería el diseño y la arquitectura

del mercado inteligente que se quiere realizar. Además se mostrará las infraestructura

y organización que van a tener los agentes inteligentes dentro de éste, mostrando su

utilidad y funcionalidad dentro del mercado.

9.1 Comportamiento de los agentes Coordinador Proceso (CP): se encarga de recibir a los posibles compradores o

vendedores, pidiendo los respectivos datos según sea el caso, para luego asignar un

agente ya sea coordinador de compra o de subasta dependiendo del caso.

Coordinador de Compra (CC): es el encargado tanto de seguir el proceso de

recomendación como del proceso de negociación. Luego de obtener la información

recolectada por el agente recomendador informa al usuario el resultado obtenido,

quien finalmente toma la decisión de a que subasta pertenecer. Una vez tomada la

decisión, le es asociado un agente negociador el cual es el encargado de llevar el

proceso de negociación. Este coordinador informa en todo momento al usuario el

desarrollo de la subasta a la que pertenece.

Coordinador Subasta (CS): es el encargado de manejar las distintas peticiones de

los agentes recomendadores con su respectiva respuesta. Del mismo modo, se encarga

de administrar el desarrollo de la subasta de acuerdo a las ofertas realizadas por los

diferentes agentes negociadores y es quien posee toda la información sobre las

características del objeto que se está subastando.

Agente Recomendador (AR): se encarga de buscar dentro de las diferentes subastas

la que más le conviene al usuario dependiendo de la información que este haya

suministrado. Este agente interactúa con el coordinador de compra cada vez que

establece la posibilidad de que el usuario pertenezca a una subasta.

Page 68: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

59

Agente Negociador (AN): es el encargado de realizar la oferta durante cada ronda de

una subasta al coordinador de la subasta.

Agente Auxiliar (AU): es el encargado de suministrar la información asociada de

una subasta ya sea a un negociador o a un recomendador.

9.2 Arquitectura del mercado inteligente

En la descripción del sistema del mercado inteligente, tenemos que cada uno de los

coordinadores, tanto del proceso administrativo, de negociación y de recomendación

forman un sistema multi-agente. Por lo tanto, para el desarrollo de esta tesis se ha

decidido realizar una arquitectura tipo cliente / servidor.

Caso I (comprador) El comprador estará compuesto de una aplicación integrada por un CC con sus

diferentes AN1...ANN y sus AR1...ARN asociados, que interactuarán con un servidor

compuesto por un CP que tendrá a cargo las diferentes CS1...CSN y a su vez

compuesta por una Base de Datos (BD) en la que se mantendrá toda la información

generada por el mercado inteligente, como lo ilustra la siguiente ilustración:

Figura 11 Arquitectura comprador del bien

Usuario n

Usuario2

Usuario1

.

.

.

Comunicación

BD CC

ar1..arn an1 ann

CC

ar1..arn an1 ann

CC

ar1..arn an1 ann

CP

CS1 CS2.. CSN

AU1..AUN

Coordinación

Page 69: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

60

Caso II (vendedor) El vendedor estará compuesto de una aplicación que le permitirá saber la historia o la

información en curso de las subastas asociadas al mismo, que interactuarán con un

servidor previamente exp licado, como lo ilustra la siguiente ilustración:

Figura 12 Arquitectura subastador

El mercado inteligente puede ser dividido en cuatro fases diferentes, compuestas de la

siguiente manera:

Subastador n

Subastador2

Subastador1

.

.

.

Comunicación

BD

CP

CS1 CS2.. CSN

Coordinación

Page 70: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

61

1. Registra

1. Registra

2. Ingresa

2. Ingresa

4. Asigna

4.1 Asigna 4.2 Asigna

4. Asigna

5 Notifica

5 Notifica

3 Envió

de info.

3 Envió

de info

9.2.1 Fase I (Ingreso al sistema)

El proceso de ingreso al sistema será administrado por un Coordinador de proceso

(CP).Existen dos tipos de usuarios que pueden ingresar a la subasta, uno que desee

adquirir un bien (comprador) y un subastador (vendedor), quien es quien desea

vender un bien. En el caso de que el usuario sea aquel que desee adquirir un bien, le

será asignado por el sistema un Coordinador de Compra (CC), que a la vez estará

compuesto de un Agente Negociador (AN) y un Agente Recomendador (AR) (a). Para el caso en el que el usuario quiera vender un bien se le será asignado un

Coordinador de Subasta (CS)

(b).Fase Ia

Figura 13 Ingreso al sistema de un comprador de un bien

Fase Ib

Figura 14 Ingreso al sistema de un subastador

CP CC1 USUARIO1

AN AR

USUARIO2CS

CP

Page 71: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

62

Verificación de

estado del CC

1. Suministrar la

info al AR.

2. Pedir info del

estado de la

subasta.

3. Suministrar la

info al AR.

5. Retornar

resultado de la

simulación

4. Procesar

6. Informar

resultado

Verificación de

estado del AR

Notificación de

cambios.

9.2.2 Fase II (Busqueda de la subasta ideal)

Una vez ya se ha establecido el tipo de usuario que entró al sistema y a su vez éste

haya ingresado al mismo el Agente Recomendador (AR) inicia la búsqueda

interactuando con el Coordinador de Subasta para buscar la subasta óptima en la que

podría ingresar el usuario.

Figura 15 Proceso de recomendación

Verificación de

cambios de

estado

USUARIO1

CC

CS

AR

CP

AU

Page 72: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

63

Verificación de

estado del CC Verificación de

estado del CS

1. Procesar oferta

2. Envió de oferta 3.

Ordenamiento

de ofertas 4. Resultado de

la ronda

5. Envió del

resultado de l a

ronda

6 Mostrar

resultado. Verificación de

estado del AN

Verificación de

estado del AN

Notificación de

cambios.

9.2.3 Fase III (Negociacion)

Cuando el usuario establezca a qué subasta quiere pertenecer se da inicio al proceso

de negociación por el Agente Negociador (AN), y a su vez se mantiene informado al

usuario de los resultados obtenidos en cada ronda de la subasta a la que pertenece.

Figura 16 Proceso de negociación

USUARIO1

CC

ANCS

CP

Verificación de

cambios de

estado

AU

Page 73: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

64

1. Ingreso

2. Verificación

3. Suministrar

historia de la

subasta

4. Recopilación

5.Envio de info.

9.2.4 Fase IV (Notificación del proceso de la subasta al subastador)

Si el usuario es el vendedor de uno o más bienes en el mercado inteligente podrá

acceder a la información e historia relacionada alrededor de su o sus subastas.

Figura 17 Información subastador

9.3 Arquitectura de los coordinadores Los tres coordinadores (proceso, compra y subasta) y del agente auxiliar van a estar

modelados bajo la misma arquitectura que estará definida de la siguiente manera:

Figura 18 Arquitectura coordinador -agente auxiliar

- Comunicación: este módulo es el encargado de recibir, interpretar y enviar

mensajes al exterior del coordinador o del agente. Una vez interpretados los

mensajes son pasados al módulo de planeación.

USUARIO2

CS1

CP

CS2 CSn

ESTRATEGIA PLANEACION

COMUNICACIÓN

Page 74: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

65

- Planeación: este módulo será el encargado de armar el plan de ejecución,

dada la interpretación realizada a través de los mensajes recibidos del módulo

de comunicación, luego este plan es pasado al módulo de estrategia para que

sea ejecutado.

- Estrategia: este módulo se encarga de llevar a cabo la ejecución de una

estrategia definida para el manejo de una situación, cuya respuesta luego va a

ser utilizada ya sea para un proceso interno del agente o para ser comunicada

al exterior.

9.3.1 Coordinador de proceso

Funcionalidad La funcionalidad correspondiente al coordinador de proceso es la siguiente:

- Recibir información de nuevos usuarios.

- Validación de usuario previamente inscritos

- Asociar coordinadores a usuarios dependiendo del caso.

- Creación de nuevos coordinadores (subasta o compra).

- Verificación del estado de la negociación.

- Enviar la información sobre las subastas activas al agente recomendador.

- Recibir peticiones del agente recomendador.

- Verificar estado del coordinador de compra.

Control

Submetas:

Las metas de cada uno de los agentes del sistema son llamadas submetas porque se

derivan de la meta global. Las submetas correspondientes al agente coordinador del

proceso son:

- Coordinar el proceso de admisión de usuarios.

- Coordinar el proceso de asignación de coordinadores especializados.

- Garantizar el correcto funcionamiento de los procesos de negociación que se

estén llevando a cabo.

Plan

A continuación se definen las estrategias de cada uno de los planes del coordinador

para llevar a cabo sus submetas que pueden realizarse o no de manera secuencial.

Además, cuando algún plan contenga estrategias complejas se describirán un poco en

detalle.

Para cumplir con la submeta de admisión de usuarios se llevará a cabo:

- Registrar un usuario.

Page 75: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

66

- Validar usuario.

Para cumplir con la submeta de asignación de coordinadores se llevará a cabo el

siguiente plan:

- Coordinar el proceso de asignación del coordinador especializado.

Para cumplir con la submeta de garantizar el correcto funcionamiento de los procesos

de negociación se llevarán a cabo los siguientes planes:

- Mal funcionamiento de un coordinador especializado.

- Verificación del estado de negociación.

Estrategias

Para coordinar este proceso se necesita que el controlador de proceso siga las

siguientes estrategias:

- Registrar a un usuario: una vez se ha detectado que el usuario es nuevo se

procede a solicitar los datos necesarios, si algún dato falta y no coincide con el

formato esperado se le solicita al usuario la corrección del mismo.

- Validar usuario: con base en un login y password proporcionado por el

usuario se realiza la validación del mismo y se le asigna el coordinador

correspondiente ya sea este comprador o vendedor.

- Mal funcionamiento de un coordinador especializado: si es un coordinador

de subastas, se procede a informales a los coordinadores de compra asociados

a éste que ocurrió una falla y que por tal motivo debe finalizar el estado de

negociación; si es un coordinador de compra simplemente se le asigna uno

nuevo al usuario. En cualquiera de los dos casos se perderá la información de

estos.

- Verificación del estado de negociación: mira si no se han dado problemas en

el proceso de negociación, realizando peticiones a los coordinadores de

subasta sobre el estado en el que estos se encuentran. Si existe un error pasa a

realizar el plan de mal funcionamiento de un coordinador especializado

previamente especificado. En caso de que la subasta haya terminado, se

eliminará dando por terminada la labor del coordinador de subasta.

- Coordinar el proceso de asignación del coordinador especializado: dependiendo de sí el participante es comprador o vendedor se le asignará el

coordinador de compra o de subasta.

9.3.2 Coordinador de subasta

Funcionalidad La funcionalidad correspondiente al coordinar de subasta es la siguiente:

- Recibir y responder peticiones de la historia de la subasta por parte de un

agente recomendador.

- Dar la información sobre las características del bien que está siendo

subastado.

Page 76: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

67

- Recibir ofertas por parte de un agente negociador.

- Procesar las ofertas recibidas para cada ronda de la subasta.

- Asociación de un nuevo participante de la subasta.

- Notificar la información concerniente al resultado de una ronda o la historia a

los participantes de la subasta

- Dar por concluida una subasta

- Responder ante las peticiones de estado de la negociación al coordinador de

proceso

- Listar los agentes participantes en la subasta

Control

Submetas:

Las submetas correspondientes al coordinador de subasta son:

- Coordinar el desarrollo de la subasta.

- Atender peticiones de los agentes recomendadores sobre el desarrollo y la

información de la subasta.

- Comunicar los resultados obtenidos en la subasta al coordinador de proceso

- Comunicar los resultados obtenidos en la subasta al agente negociador.

- Garantizar la integridad de cada ronda de la subasta.

Plan

Para cumplir con la submeta de coordinación del desarrollo de la subasta se tendrá en

cuenta el siguiente plan:

- Recepción de nuevos agentes participantes sólo al comienzo de cada ronda.

- Informar a los participantes que se va dar inicio a una ronda.

- Recibir las ofertas de los diferentes participantes para cada ronda.

- Determina el ganador de la ronda e informa a los participantes asociados al

mismo.

- Almacenamiento de la información de la ronda.

- Dar por terminada la subasta cuando se llega a un número determinado de

rondas.

Para cumplir con la submeta de atender peticiones de los agentes recomendadores

sobre el desarrollo y la información de la subasta se tendrá en cuenta el siguiente

plan:

- Dar la información sobre la historia de las ofertas realizadas en la subasta

hasta la última ronda completada.

- Informar a los recomendadores en caso de que una nueva ronda haya

comenzando para que éste revalué por medio de las agentes auxiliares.

Para cumplir con la submeta de comunicar los resultados obtenidos en la subasta al

coordinador de proceso se tendrá en cuenta el siguiente plan:

Page 77: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

68

- Informar el estado de la subasta al coordinador de proceso.

Para cumplir con la submeta de comunicar los resultados obtenidos en la subasta al

agente negociador se tendrá en cuenta el siguiente plan:

- Informar el resultado de la ronda a cada agente negociador que pertenezca a la

subasta en curso.

- Confirmación de la recepción de la información por parte del agente

negociador.

Para cumplir con la submeta de garantizar la integridad de cada ronda de la subasta se

tendrá en cuenta el siguiente plan:

- Verificar el estado de los agentes que están participando en cada ronda. En

caso de que el agente no se encuentre activo se dará por terminada el proceso

del mismo.

9.3.3 Coordinador de compra

Funcionalidad La funcionalidad correspondiente al coordinar de compra es la siguiente:

- Asignar un agente de recomendación.

- Asignar un agente negociador.

- Mantenerse informado sobre el estado de la negociación.

- Informar al usuario sobre el resultado de cada ronda de la subasta a la que esté

asociado.

- Informar al usuario sobre el resultado de la recomendación.

- Mantener informado al coordinador de proceso sobre el estado en que se

encuentra.

Control

Submetas:

Las submetas correspondientes al coordinador de compra son:

- Coordinar el proceso de recomendación

- Control del proceso de negociación

- Informar al usuario sobre los procesos que se estén realizando

Page 78: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

69

Plan

Para cumplir con la submeta de coordinar el proceso de recomendación se tendrá en

cuenta el siguiente plan:

- Con base a la información suministrada por el coordinador de proceso se

procede a asociar un agente recomendador.

- Monitorear los resultados suministrados por el agente recomendador y con

base en estos, para que el usuario tome la decisión de cual es la subasta a la

que desea ingresar.

- Verificar el estado del agente recomendador en el caso en el que esté inactivo,

toma los datos parciales de éste y asigna un nuevo agente recomendador para

que termine el proceso de recomendación.

Para cumplir con la submeta de control del proceso de negociación se tendrá en

cuenta el siguiente plan:

- Una vez elegida la subasta a la que se desea ingresar, se procede a crear el

agente negociador.

- Monitorear los resultados obtenidos en cada ronda de la subasta a la que

pertenezca el agente.

- Verificar el estado del agente negociador en el caso que esté inactivo, se

notifica al usuario que el proceso de negociación ha finalizado.

Para cumplir con la submeta de Informar al usuario sobre los procesos que se estén

realizando se tendrá en cuenta el siguiente plan:

- Se suministrará al usuario con la información y el resultado de cada ronda de

la subasta a la que pertenezca.

9.3.4 Agente Auxiliar Funcionalidad La funcionalidad correspondiente al agente auxiliar es la siguiente:

- Notificar al agente recomendador que el estado de la subasta ha cambiado.

- Suministrar al agente recomendador los nuevos datos de una subasta en dado

caso que los mismos hayan cambiado durante el proceso de recomendación.

- Notificar al agente negociador que el estado de la subasta cambió.

- Notificar al agente recomendador en caso de que el coordinador de subasta

quede inactivo.

- Notificar al agente negociador en caso de que el coordinador de subasta quede

inactivo.

Page 79: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

70

Dado que el núcleo de esta tesis gira alrededor del agente recomendador y del

negociador, se definirá la arquitectura de cada uno por separado a continuación.

9.4 Arquitectura de los agentes

Los dos agentes(recomendador, negociador) van a estar modelados bajo la misma

arquitectura que estará definida de la siguiente manera:

Figura 19 Arquitectura agentes

- Comunicación: este módulo es el encargado de recibir, interpretar y enviar

mensajes al exterior del coordinador o del agente para luego ser transmitidos

al módulo de planeación.

- Planeación: este módulo será el encargado de armar el plan de ejecución,

dada la interpretación realizada a través de los mensajes recibidos del módulo

de comunicación que luego serán transmitidos al módulo de estrategia.

- Estrategia: este módulo se encarga de llevar a cabo la ejecución de una

estrategia definida para el manejo de una situación, y generará un resultado

que podrá ser utilizado por el agente internamente o externamente al mismo.

- Problem Solving Engine (PSE): este módulo es la representación abstracta del

problema a tratar ya sea recomendar o negociar; donde se encuentran los

algoritmos, optimizaciones y heurísticas para resolver el problema.

9.4.1 Agente recomendador

Funcionalidad La funcionalidad correspondiente al agente recomendador es la siguiente:

- Buscar la subasta que cumpla con las características proporcionadas por el

coordinador de compra.

ESTRATEGIA PLANEACION

COMUNICACIÓN

PSE

Page 80: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

71

- Enviar mensajes de petición de información del historial de la subasta a cada

coordinador de subasta

- Enviar los resultados de la evaluación realizada por el mismo sobre cada

subasta que esté en curso.

- Recibir las características iniciales del usuario sobre el objeto que desea

adquirir.

- Recibir la información de la subasta suministrada por el coordinador de

subastas.

- Procesar la información recibida por el coordinador de subastas.

- Realizar peticiones al coordinador de proceso para establecer qué subastas

están activas.

- Recibir información del coordinador de proceso para saber qué subastas están

activas.

- Informar sobre el estado del agente al coordinador de compra

Control

Submetas:

Las submetas correspondientes al agente recomendador son:

- Realizar el proceso de recomendación.

Plan

Para lograr la submeta de realizar el proceso de recomendación se seguirá el siguiente

plan:

- Se buscará según las características recibidas por el coordinador de compra las

subastas que cumplan con dichas características.

- Se realizará la simulación correspondiente para establecer qué tan

recomendable es o no para el usuario dicha subasta

- Se informará al coordinador de compra sobre cada resultado obtenido.

9.4.2 Agente negociador

Funcionalidad La funcionalidad correspondiente al agente negociador es la siguiente:

- Registrarse a la subasta deseada por medio del envío de un mensaje al

coordinador de subastas.

- Enviar ofertas al coordinador de subastas.

- Enviar los resultados de cada ronda al coordinador de compras.

- Informar sobre el estado del agente al coordinador de compras y de subastas

- Generar ofertas para cada ronda

Page 81: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

72

- Recibir mensajes provenientes del coordinador de compra con el fin de

establecer la subasta a la que pertenece.

- Recibir mensajes del coordinador de subasta con la información de cada

ronda.

- Atender solicitudes que indaguen el estado de la negociación.

Control

Submetas:

La submeta correspondientes al agente negociador son:

- Realizar el proceso de negociación

Plan

Para lograr la submeta de realizar el proceso de recomendación se seguirá el siguiente

plan:

- Registrarse como nuevo participante con el coordinador de subasta

- Obtener información sobre la historia de la subasta

- Generar la oferta para la ronda

- Con base en la información enviada por el coordinador de la subasta,

informar al coordinador de compra sobre el resultado de la ronda

- Retomar desde el paso dos si no ha finalizado la subasta

9.5 Especificación de la comunicación

Para el desarrollo de esta tesis se utilizará como lenguaje base para la comunicación

el lenguaje KQML38

(Knowledge Query And Manipulation Language). Dada la

arquitectura que se utilizará en esta tesis, se ha decidido escoger la sintaxis del

lenguaje KQML dado que éste fue desarrollado para aplicaciones estructuradas a

partir de agentes que operan en forma autónoma y asincrónica. Esto permite que el

agente receptor tome diferentes acciones dependiendo del mensaje recibido; teniendo

en cuenta que cada agente es capaz de decidir con quién es que éste desea establecer

una comunicación selectiva. Los mensajes KQML son llamados ejecutores, debido a

que el mensaje produce que el receptor tenga que realizar alguna tarea, por lo que se

asegura que toda comunicación tendrá una respuesta por parte del receptor. De

acuerdo a las especificaciones el sistema de comunicación propuesto por KQML se

tendrán en cuenta los siguientes supuestos:

- El envió de los mensajes entre los agentes es unidireccional.

- El envió de mensajes puede tener un retraso asociado.

38

James Mcguire, Richard Pelavin, Stuart Chapiro, Chris Beck. DRAFT Specification of the KQML

Agent-Communication Laguange.

Page 82: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

73

- Cuando un agente recibe un mensaje, sabe quién fue el emisor

- Cuando un agente responde un mensaje va directamente a quien lo remitió.

- El sistema de mensaje será de tipo FIFO (first in- first out).

- Los mensajes podrán ser reenviados si el caso lo amerita.

Debido a la abstracción antes descrita las conexiones entre los agentes serán TCP/IP

ya sea por medio de una red local o en Internet.

La comunicación que se presentará en el mercado inteligente se dará a un mismo

nivel BA ⊗ donde ⊗ son los diferentes esquemas de mensajes comunicados entre

un agente y otro:

⊗ Significado

Ask-about A Solicita a B respuesta por una petición

especificada en content

Ask-all A solicita a B respuesta por una serie de

peticiones especificadas en content

Break A informa a B que la comunicación entre

los dos ha terminado

Error A informa a B que se cometió un error.

Make A le dice a B que debe hacer la acción

especificada en content

Monitor A es monitoreado por B

Ready A está listo para ejecutar alguna acción o

para recibir mensaje

Register B se registra en A

Standby B está en standby

Sorry B no puede responder a requerimientos

de A

Reply B debe responder a A cuando reciba

mensaje o requerimiento de este.

A partir de la anterior tabla se construirán los diferentes mensajes que podrán ser

transmitidos entre un agente y otro. Todos los mensajes tendrán una estructura en

común, dado por el siguiente formato de comunicación:

Palabra clave Significado : type Tipo del mensaje

:content El contenido de la información que un

agente necesita que sea llevada a cabo.

:ontology Contexto del mensaje.

:in- reply-to El nivel esperado de respuesta, dando

prioridad al mensaje.

Page 83: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

74

:reply-with Identificar si el remitente necesita que el

mensaje de respuesta sea enviado a otro

agente diferente del mismo.

:receiver Lugar de recepción del mensaje.

:sender Lugar de origen del mensaje.

9.6 Diseño del mercado inteligente

El diseño propuesta para el desarrollo del mercado inteligente estará compuesto por:

- Diagrama de clases de cada coordinador (procesos compra y subasta) y del

auxiliar de agente

- Diagrama de clases de cada agente (recomendador, negociador)

- Diagrama de secuencia de los principales procesos del mercado.

- Diagrama relacional de la base de datos.

- Estructura de los mensajes de comunicación

Page 84: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

75

9.6.1 Diagrama de clases

9.6.1.1 Coordinador de proceso

El diagrama del coordinador de proceso está compuesto de tres clases principales, la

de planeación, comunicación y estrategia. Las estrategias a seguir para el proceso de

planeación implementan una interfaz en común InterfazEstrategiaProceso.

COORDINADOR DE PROCESOS

PersistenciaProceso

PersistenciaProceso( )guardarInformacion( )cargarInformacion( )

InterfazComunicacion

srvEnviarMensaje( )Vector srvRecibirMensaje( )

buscarCoordinadorCompranumero

buscarCoordinadorCompra( )

asociarCoordinadorCompra

numero

asociarCoordinadorCompra( )

asociarCoordinadorSubasta

numero

asociarCoordinadorSubasta( )

insercionCompradornumero

insercionComprador( )

insercionVendedor

numero

insercionVendedor( )

eliminarVendedor

numero

eliminarVendedor( ) eliminarComprador

numero

eliminarComprador( )

buscarCoordinadorSubastanumero

buscarCoordinadorSubasta( )

InterfazEstrategiaProceso

construirEstrategia( )

ComunicacionmensajeurlLocalurlDestinopuerto

Comunicacion( )recibirMnesaje()responderMensaje( )decifrarMensaje()

PlaneacionProceso

numeroCoordinadoresCompranumeroCoordinadoresSubastaobservadoresCoordinadoresSubastausuariosCompradoresusuariosVendedoresestrategiaProceso

PlaneacionProceso( )crearVendedor( )crearComprador( )validarUsuario( )crearCoordinadorCompra( )crearCoordinadorSubasta( )darInformacionCoordinadorSubasta( )darInformacionCoordinadorCompra( )darInformacionUsuario( )

Page 85: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

76

9.6.1.2 Coordinador de compra

El diagrama del coordinador de compra está compuesto de tres clases principales, la

de planeación, comunicación y estrategia. Las estrategias a seguir para el proceso de

planeación de compra implementan una interfaz en común InterfazEstrategiaCompra.

InterfazComunicacion

srvEnviarMensaje( )Vector srvRecibirMensaje( )

COORDINADOR DE COMPRA

InterfazUsuarioCompra

srvdarInformacionRecomendacion( )srvdarInformacionRonda( )srvdarInformacionHistoriaSubasta( )srvasociarAgenteNegociador( )

PersistenciaCompra

PersistenciaCompra( )guardarInformacion Ronda( )guardarHistoriaSubasta( )guardarRecomendacion( )cargarInformacion Ronda( )cargarHistoriaSubasta( )cargarRecomendacion( )cargarEstado( )guardarEstado( )

insercionAgenteRecomendador

numero

insercionAgenteRecomendador( )

insercionAgenteNegociador

numero

insercionAgenteNegociador( )

eliminarAgenteRecomendadornumero

eliminarAgenteRecomendador( )

eliminarAgenteNegociadornumero

eliminarAgenteNegociador( )

buscarAgenteRecomendador

numero

buscarAgenteRecomendador( )

buscarAgenteNegociador

numero

buscarAgenteNegociador( )

InterfazEstrategiasCompra

construirEstrategia( )

PlaneacionCompra

idCompradorestadoobservadoresRecomendadoresnumeroRecomendadoresobservadoresNegociadoresnumeroNegociadoresloginpasswordestrategiaCompra

PlaneacionCompra( )crearAgenteRecomendador( )crearAgenteNegociador( )darEstado( )darCedula( )verificarEstadoAgentesRecomendadores( )verificarEstadoAgentesNegociadores( )darInformacionLoginPass( )crearNuevoUsuario( )

Comunicacion

mensajeurlLocalurlDestinopuerto

Comunicacion( )recibirMnesaje()responderMensaje( )decifrarMensaje()

Page 86: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

77

9.6.1.3 Coordinador de subasta

El diagrama del coordinador de subasta está compuesto de dos clases principales, la

de planeación y estrategia. Las estrategias a seguir para el proceso de planeación de

subasta implementan una interfaz en común EstrategiaSubasta.

PersistenciaSubasta

PersistenciaSubasta( )guardarHistoriaSubasta( )guardarRondaSubasta( )cargarHistoriaSubasta( )cargarRondaSubasta( )cargarEstado( )guardarEstado( )

COORDINADOR DE SUBASTA

ordenarOferas

numero

ordenarOferta( )

cambiarEstado

numero

cambiarEstado( )

insercionAgenteNegociador

numero

inserciónAgenteNegociador( )

buscarAgenteNegociador

numero

buscarAgenteNegociador( )

eliminacionAgenteAuxiliar

numero

eliminacionAgenteAuxiliar( )

eliminacionAgenteAuxiliar

numero

eliminacionAgenteAuxiliar( )

eliminacionAgenteAuxiliar

numero

eliminacionAgenteAuxiliar( )

EstrategiaSubasta

construirEstrategia( )

PlaneacionSubasta

idVendedorestadoobservadoresAAuxiliarnumeroNegociadoresnumeroRondasnumeroRecomendadoresestrategiaSubasta

PlaneacionSubasta( )darHistoriaSubasta( )darAuxiliaresAsociados( )recibirOfertaGenerada( )darInformacionRonda( )asociarAgenteNegociador( )finalizarRonda( )inicializarRonda( )darAgentesAsociados( )darEstado( )darCedula( )cambiarEstado( )darIdVendedor( )

Page 87: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

78

9.6.1.4 Agente recomendador

El diagrama del agente recomendador está compuesto de tres clases principales, la de

planeación, comunicación y estrategia, a partir de este diagrama se puede ver

claramente el proceso a seguir en la planeación.

PersistenciaProceso

PersistenciaProceso( )guardarInformacion( )cargarInformacion( )

InterfazComunicacion

srvMandarMensaje( )Vector srvRecibirMensaje( )

AGENTE RECOMENDADOR

ComunicacionmensajeurlLocalurlDestinopuerto

Comunicacion( )recibirMnesaje()responderMensaje( )decifrarMensaje()

PlaneacionRecomendadorEstrategiaRecomendadorprecioMaximoCompradorresultadoRecomendacionriesgoCompradorSubastas

establecerMaximoComprador( )establecerRiesgo( )iniciarSimulacion( )PlaneacionRecomendador( )

PSERecomendadorprecioMaximoCompradorprecioMinimoVendedorlimiteInferiorlimiteSuperiornumeroJugadoresofertaprobabilidadriesgoutilidad

PSERecomendador( )calcularBi( )calcularProbabilidad( )calcularUtilidadEsperada( )calcularVarianza( )

EstrategiaRecomendador

precioMaximoCompradorprecioMinimoVendedorpseresultadoriesgoSubasta

EstrategiaRecomendacion( )Simulacion( )

Page 88: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

79

9.6.1.5 Agente negociador

El diagrama del agente negociador está compuesto de tres clases principales, la de

planeación, comunicación y estrategia, a partir de este diagrama se puede ver

claramente el proceso a seguir en la planeación de la negociación.

EstrategiaNegociacion

jugadoreslimInfnuevoRonuevoValnumeroCorridassecuancia

EstrategiaNegociacion( )Simulacion( )

AGENTE NEGOCIADOR

InterfazComunicacion

srvMandarMensaje( )Vector srvRecibirMensaje( )

PersistenciaProceso

PersistenciaProceso( )guardarInformacion( )cargarInformacion( )

Comunicacion

mensajeurlLocalurlDestinopuerto

Comunicacion( )recibirMnesaje()responderMensaje( )decifrarMensaje()

PlaneacionNegociacion

centinelajugadoreslimInfnuevoRonuevoValnumeroCorridassecuancia

PlaneacionNegociacion( )cargarHistoria( )generarInforme( )leerDatos( )

PSENegociacion

calentamientofrecuenciahistoriamemCallofortaInfpsirosinHistoriavaloracion

darPhi( )darPsi( )darSigueinteOferta( )establecerHistoria( )generarOferta( )PSENegociacion( )calcularLimites( )calcularPromedio( )contarOcurrencia( )criterioParada( )darAccion( )darFrecAccion( )esta( )evaluarUtilidad( )maximo( )ordenarFrecuencias( )

Page 89: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

80

9.6.2 Diagrama de secuencia

9.6.2.1 Ingreso nuevo comprador

CP : Coordinador de Proceso

Interfaz CC : Coordinador Compra

AN : Agente Negociador

AR: Agente Recomendador

11: crearAgenteNegociador(estado)

El estado del negociador es de iniciado. Lo que significa que está listo para comenzar el proceso de negociacion.

El estado del recomendador es de iniciado. Lo que siginifica que está listo para comenzar el proceso de recomendacion.

3: srvrecibirMensaje()

10: crearAgenteRecomendador (bien,caracteristicas,estado)

4: descifrarMensaje()

5: crearComprador (nombre,id,pais,bien,caracteristicas)

9: crearCoordinadorCompra (id,bien,caracteristicas)

8: descifrarMensaje()

14: descifrarMensaje()

1: nuevoUsuario (nombre,id,pais,bien,caracteristicas)

2: srvenviarMensaje (crearComprador (nombre,id,pais,bien,caracteristicas))

6: srvenviarMensaje (crearCoorinadorCompra (id,bien,caracteristicas))

7: srvrecibirMensaje()

12: srvenviarMensaje (darInformacionUsuario(usuario,clave))

13: srvrecibirMensaje()

15: darInformacionLoginPass()

Page 90: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

81

Especificación de los mensajes

2. srvenviarMensaje (crearComprador (nombre, id,pais,bien,caracteristicas))

:type register

:content <crearComprador>

<nombre></nombre>

<id></id>

<pais></pais>

<bien></bien>

<características></características>

</crearComprador>

:receiver CP [IP]

:sender CC [IP]

6. srvenviarMensaje (crearCoorinadorCompra (id,bien,caracteristicas))

:type make

:content <crearCC>

<id></id>

<bien></bien>

<características></características>

</crearCC>

:receiver CP [IP]

:sender CC [IP]

12. srvenviarMensaje (darInformacionUsuario(usuario,clave))

:type Reply

:content <usuario></usuario>

<clave></clave>

:receiver CP [IP]

:sender CC [IP]

Page 91: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

82

9.6.2.2 Ingreso de un nuevo subastador

Interfaz CP : Coordinador de Proceso

CS : Coordinador Subasta

El estado en esta etapa de la subasta es creada aunque el proceso de dar inicio a la subastcomienza a la hora y con un mínimo dos agente negociadore

2: srvrecibirMensaje()

5: crearCoorinadorSubasta (id,bien,caracteristicas,precioMinimo,est

4: crearVendedor (nombre,id,pais,bien,caracteristicas, precioMinimo()

6: srvenviarMensaje (darInformacionLoginPass (usuario,clave))

3: descifrarMensaje()

srvenviarMensaje (crearVendedor (nombre,id,pais,bien,caracteristicas, precioMinimo))

Page 92: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

83

Especificación de los mensajes 1. srvenviarMensaje crearVendedor ( nombre, id, pais, bien, caracteristicas,

precioMinimo))

:type register

:content <crearVendedor>

<nombre></nombre>

<id></id>

<pais></pais>

<bien></bien>

<características></características>

<precioMinimo></precioMinimo>

</crearComprador>

:receiver CP [IP]

:sender [IP]

6. srvenviarMensaje (darInformacionLoginPass (usuario,clave))

:type Reply

:content <usuario></usuario>

<clave></clave>

:receiver CP [IP]

:sender [IP]

Page 93: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

84

9.6.2.3 Ingreso viejo comprador

Interfaz CP : Coordinador de Proceso

CC : Coordinador Compra

darHistoriaInformaciónimplica retornar la información del agentesus características relevantes (bien, características,estado)

1: srvValidarUsuario (usuario,clave)

2: srvenviarMensaje (validarUsuario(usuario,clave))

3: srvrecibirMensaje()

4: descifrarMensaje()

5: validarUsuario(usuario,clave)

6: srvenviarMensaje(usuarioValidado())

7: srvrecibirMensaje()

8: descifrarMensaje()

9: darHistoriaInformacion ()

10: srvenviarMensaje (informacionHistoria())

11: srvrecibirMensaje()

12: descifrarMensaje()

13: mostrarInformacion()

Page 94: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

85

Especificación de los mensajes

2. srvenviarMensaje (validarUsuario(usuario,clave))

:type Ask-about

:content <validarUsuario>

<usuario></usuario>

<clave></clave>

</validarUsuario>

:receiver CP [IP]

:sender CC [IP]

6. srvenviarMensaje(usuarioValidado())

:type Reply

:content <usuarioValido></usuarioValido>

:receiver CP [IP]

:sender CC [IP]

10. srvenviarMensaje (informacionHistoria())

:type Ask-about

:content <informacionHistoria>

<fechaInicio></fechaInicio>

<fechaFin></fechaFin>

<bien></bien>

<caracteristicas></caracteristicas>

<gano></gano>

<precioFin></precioFin>

</informacionHistoria>

:receiver CP [IP]

:sender CC [IP]

Page 95: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

86

9.6.2.4 Ingreso viejo subastador

darInformacionSubasta implica retornar la informacion de la subasta (ronda, historia de la subasta,estado).

Interfaz CP : Coordinador de Proceso

2: srvrecibirMensaje()

3: descifrarMensaje()

4: validarUsuario(usuario,clave)

9: darHistoriaInformacionSubasta()

1: srvenviarMensaje (validarUsuario(usurio,clave))

5: srvenviarMensaje(usuarioValidado())

6: srvrecibirMensaje()

7: srvrecibirMensaje()

8: descifrarMensaje()

10: srvenviarMensaje (informacionHistoriaSubasta())

11: srvrecibirMensaje()

12: descifrarMensaje()

13: mostrarInformacion()

Page 96: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

87

Especificación de los mensajes

2. srvmandarMensaje (validarUsuario(usuario,clave))

:type Ask-about

:content <validarUsuario>

<usuario></usuario>

<clave></clave>

</validarUsuario>

:receiver CP [IP]

:sender CC [IP]

6. srvmandarMensaje(usuarioValidado())

:type Reply

:content <usuarioValido></usuarioValido>

:receiver CP [IP]

:sender [IP]

10. srvmandarMensaje (informacionHistoriaSubasta())

:type Ask-about

:content <informacionHistoriaSubasta>

<fechaInicio></fechaInicio>

<fechaFin></fechaFin>

<bien></bien>

<caracteristicas></caracteristicas>

<precioFin></precioFin>

<finalizoBien></finalizoBien>

</informacionHistoriaSubasta>

:receiver CP [IP]

:sender [IP]

Page 97: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

88

9.6.2.5 Recomendación

Interfaz CC: Controlador de Compra

CP: Coordinador de Proceso

CS: Coordinador de Subasta

AR: Agente Recomendador

AU: Agente Auxiliar

darInformacionSubastasActivas implica que el coordinador le suministra al agente la historia, precio mínimo, el codigo de la subasta

11: darDatosObtenidosSimulacion(Subasta,probabilidad)

12: informarResultados()

1: srvenviarMensaje (darSubastasActivas(bien,caracteristicas))

2: recibirMensaje()

3: descifrarMensaje()

4: darSubastasActivas(bien,caracteristicas)

10: comenzarRecomendacion (Subastas,estado)

8: descifrarInformacion()

9: iniciarSimulacion()

13: guardarRecomendacion()

14: srvenviarMensaje(cambioEstadoSubasta())

15: darEstadoRecomendador()

16: darEstadoSubastaActiva()

5: darInformacionSubasta()

7: srvrecibirMensaje()

6: srvenviarMensaje(darInformacionSubastasActivas())

Page 98: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

89

Especificación de los mensajes 1. srvenviarMensaje (darSubastasActivas(bien,caracteristicas))

:type Ask-about

:content <darSubastasActivas>

<bien></bien>

<caracteristicas></caracteristicas>

</darSubastasActivas>

:receiver CP [IP]

:sender AR [IP]

5. srvenviarMensaje (darInformacionSubastasActivas())

:type Ask-about

:content <informacionSubastasActivas>

<subastas>codigo1-codignon</subastas>

</informacionSubastasActivas>

:receiver AR [IP]

:sender CP [IP]

9. srvenviarMensaje(darInformacionSubastaActiva())

:type Ask-about

:content <informacionSubastasActivas>

</ informacionSubastasActivas>

:receiver CS [IP]

:sender AR [IP]

13. srvenviarMensaje (InformacionSubastaActiva())

:type Reply

:content <informacionSubastaActiva>

<historia></historia>

<ronda></ronda>

<precioactual></precioactual>

</informacionSubastaActiva>

:receiver AR [IP]

:sender CS [IP]

Page 99: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

90

20. srvenviarMensaje(cambioEstadoSubasta())

:type Monitor

:content < cambioEstadoSubasta >

<historia></historia>

<ronda></ronda>

<precioactual></precioactual>

</cambioEstadoSubasta>

:receiver AR [IP]

:sender AU [IP]

Page 100: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

91

9.6.2.6 Negociación

Interfaz CS: Controlador de Subasta

CP: Coordinador de Proceso

CC: Coordinador de Compra

AN: Agente Negociador

AU: Agente Auxiliar

1: comenzarRonda(precioactualbien)

Se notifica a todos los agentes negociadores de que una nueva ronda va empezar

Se da inicio al algoritmo para generar la oferta.

2: srvenviarMensaje(noticarComienzoRonda())

3: srvrecibirMensaje()

4: descifrarMensaje()

5: darInicioProcesoNegociacion()

6: generarOferta()

7: srvenviarMensaje(ofertaGenerada())

9: ofertaGenerada()

8: descifrarMensaje()

10: darinformacionResultados()

11: srvenviarMensaje(cambioEstadoSubas

12: darEstadoNegociador()

13: darEstadoSubastaActiva()

Page 101: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

92

Especificación de los mensajes

2. srvenviarMensaje(noticarComienzoRonda())

:type Ask-about

:content <noticarComienzoRonda>

<historia></historia>

<ronda></ronda>

<precioactual></precioactual>

</noticarComienzoRonda>

:reply-with AN

:receiver CC [IP]

:sender CS [IP]

7. srvenviarMensaje(ofertaGenerada())

:type Ask-about

:content <(ofertaGenerada>

</ofertaGenerada>

:receiver CP [IP]

:sender AN [IP]

15. srvmandarMensaje(cambioEstadoSubasta())

:type Monitor

:content < cambioEstadoSubasta >

<historia></historia>

<ronda></ronda>

<precioactual></precioactual>

</cambioEstadoSubasta>

:receiver AR [IP]

:sender AU [IP]

Page 102: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

93

9.6.2.7 Notificación subastador

Interfaz CP : Coordinador de Proceso

CS : Coordinador Subasta

viarMensaje (darInformacionSubastas(cedula))

4: buscarSubastas

5: darHistoriaSubasta()

6: srvmandarMensaje(darInformacionSubastas())

2: recibirMensaje()

3: descifrarMensaje()

7: srvrecibirMensaje()

8: descifrarMensaje()

Page 103: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

94

Especificación de los mensajes

1. srvenviarMensaje (darInformacionSubastas(cedula))

:type Ask-about

:content <darInformacionSubastas>

<cedula></cedula>

</darInformacionSubastas>

:receiver CP [IP]

:sender [IP]

6. srvenviarMensaje(darInformacionSuastas())

:type Reply

:content <darInformacionSubastas>

<fechaInicio></fechaInicio>

<fechaFin></fechaFin>

<bien></bien>

<caracteristicas></caracteristicas>

<precioFin></precioFin>

<finalizoBien></finalizoBien>

<ronda></ronda>

<nombreComprador></nombreComprador>

</darInformacionHistoriaSubasta>

:receiver CP [IP]

:sender [IP]

9.6.3 Diagrama relacional de la base de datos

Usuarios Nombre ID Pais Tipo Login Password

NN PK NN NN ND

*ID (documento de identidad) puede ser del vendedor o del comprador

Subasta CodigoSubasta Bien Caracteristicas PrecioBien CedulaVendedorPK NN NN NN FK

HistoriaRecomendacionSubasta CedulaComprador CodigoSubasta Probabilidad FechaInicio FechaFin PK FK,PK NN

Page 104: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

95

HistoriaNegociacionSubasta CodigoSubasta CedulaComprador PrecioFin PrecioInicio FechaInicioPK,FK PK,FK NN

FechaFin Rondas Finalizo NN NN

Page 105: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

96

10 CAPÍTULO 9: ANÁLISIS DE RESULTADOS

En este capítulo se pretende mostrar los resultados obtenidos por el motor de

inteligencia artificial, para lo cual se definirían algunos indicadores que nos permitan

evaluar el desempeño obtenido a partir de la utilización de éste. Para la realización

de esta prueba se construirán diferentes escenarios los cuales nos permitirán analizar

los resultados obtenidos a partir de los algoritmos.

10.1 Indicadores

Para el desarrollo de esta prueba es necesario contar con ciertos indicadores que

sirvan como puntos de comparación entre diferentes escenarios para realizar una

posterior evaluación de los resultados obtenidos por el mismo.

Los indicadores a construir van a ser de dos tipos, los primeros estarán relacionados

con el aspecto económico de la subasta mientras que los segundos tendrán que ver

con aspectos generales de los algoritmos.

10.1.1 Indicadores económicos

• Utilidad del subastador: Este indicador tiene como objetivo identificar cuál

es la ganancia en términos monetarios obtenida por el subastador al finalizar

la subasta, la cual está representada por la ultima oferta recibida.

• Utilidad del comprador: Este indicador tiene como objetivo identificar

cuál es la ganancia en términos monetarios obtenida por el oferente a quien

finalmente se le es adjudicado el bien. Este valor va a ser igual a la valoración

del objeto menos la oferta final realizada.

• Ganancia de la sociedad: Este es un indicador definido como la ganancia

neta de la subasta, es decir, la suma de la utilidad del subastador y del ganador

de la subasta. El objetivo de este indicador es evaluar la eficiencia de la

asignación lograda.

Page 106: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

97

10.1.2 Indicadores sobre los algoritmos

• Velocidad de convergencia: Este indicador tiene como objetivo evaluar la

velocidad con que el algoritmo llega a un estado estable del proceso de

negociación.

• Adjudicación del bien: Este indicador busca determinar qué tan buena fue la

recomendación realizada por el agente, lo cual estará reflejado en la

adjudicación o no del bien al comprador.

• Utilidad esperada vs. Utilidad real: El indicador pretende evaluar qué tan

parecido fue la utilidad prescrita por el agente recomendador con la que se

obtuvo en realidad.

Antes de establecer los distintos escenarios, se definirán algunos perfiles de aversión

al riesgo con el objetivo de facilitar el análisis del comportamiento seguido por los

agentes.

Tabla 4 Perfiles de riesgo seguido por los agentes.

10.2 Escenarios

Los escenarios están construidos con el fin de estudiar el comportamiento de los

agentes en diferentes ambientes y de esta manera determinar si dicho comportamiento

es el esperado o no.

Para cada uno de los parámetros se construirán diferentes escenarios, los cuales

buscan identificar explorar como reaccionan los agentes ante cambios en el valor de

este parámetro.

Perfil Coeficiente de aversión Característica Ansioso 0.1 Este tipo de agente no desea perder

el bien

Preocupado 0.25 La posible pérdida del bien preocupa

al agente

Temeroso 0.5 Siente un poco de temor al no ganar

el bien

Fresco 0.75 Desea el bien pero no se verá tan

afligido por la posible pérdida

Gates 0.9 La posible pérdida del bien no

preocupa a este tipo de agente

Page 107: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

98

10.2.1 Escenarios para el número de jugadores en la subasta 39

Objeto a subastar: Te levisor plasma 46”

Escenario 1. Número de participantes al inicio de la subasta: 2

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Preocupado US $ 3500

B Temeroso US $ 4000

Gráfica 1

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 33 con una valoración de $3700 por el bien.

39

El agente recomendador tendrá como parámetros un perfil de tipo Fresco y una valoración igual a US

$ 5000.

0

500

1000

1500

2000

2500

3000

3500

4000

1 4 7 10 13 16 19 22 25 28 31 34 37 40

A

B

Page 108: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

99

Escenario 2. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Preocupado US $ 3500

B Temeroso US $ 4000

C Gates US $ 3000

D Fresco US $ 3700

E Gates US $ 3000

Gráfica 2

En la gráfica 2 se puede ver como la convergencia del algoritmo se logra en la ronda

número 53 con una valoración de $3820 por el bien y es al jugador B a quién se le

adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57

A

B

C

D

E

Page 109: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

100

Escenario 3. Número de participantes al inicio de la subasta: 10

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Preocupado US $ 3500

B Temeroso US $ 4000

C Gates US $ 3000

D Fresco US $ 3700

E Gates US $ 3000

G Fresco US $ 2900

F Preocupado US $ 3250

H Gates US $ 3320

I Preocupado US $ 3700

J Gates US $ 3500

Gráfica 3

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 39 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46

A

B

C

D

E

F

G

H

I

J

Page 110: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

101

Escenario 4 Número de participantes al inicio de la subasta: 20

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Preocupado US $ 3500

B Temeroso US $ 4000

C Gates US $ 3000

D Fresco US $ 3700

E Gates US $ 3000

G Fresco US $ 2900

F Preocupado US $ 3250

H Gates US $ 3320

I Preocupado US $ 3700

J Gates US $ 3500

K Preocupado US $ 3550

L Gates US $ 2800

M Fresco US $ 2920

N Fresco US $ 4110

O Temeroso US $ 3650

P Preocupado US $ 3500

Q Temeroso US $ 4100

R Fresco US $ 4200

S Gates US $ 3330

T Preocupado US $ 3705

V Gates US $ 3500

Gráfica 4

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76

ABCDEFGHIJKLMNOPQRSTV

Page 111: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

102

Al observar la gráfica se puede establecer como la convergencia del algoritmo se

logra en la ronda número 77 con una valoración de $4128 por el bien y es al jugador

R a quién se le adjudica el bien.

Gráfica 5

Gráfica 6

3400

3500

3600

3700

3800

3900

4000

4100

4200

Utilidad subastador

Escenario1

Escenario2

Escenario3

Escenario4

0

50

100

150

200

250

300

Utilidad comprador

Escenario1

Escenario2

Escenario3

Escenario4

Page 112: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

103

Gráfica 7

Resultados para este grupo de escenarios – Caso agente negociador

A partir de las gráficas 1,2,3,4 se puede concluir que el número de participantes en la

subasta incide en el tiempo que el proceso de negociación entra a un estado estable.

Esto se debe a que a medida que el número de participantes se incrementa, la

probabilidad que exista valoraciones muy cercanas aumenta y por consiguiente el

número de secuencias. Dicho de otra manera, a medida que aumenta el número de

personas interesadas por el bien, la competencia entre éstas se incrementa generando

un incremento en los precios.

Con base en la gráfica 5 y 6, a mayor número de participantes la utilidad del

subastador aumentará y la de los participantes disminuirá debido al aumento en las

pujas. A partir de la gráfica 7 se puede concluir que entre mayor sea la valoración del

competidor mayor va a ser la ganancia de la sociedad.

Los resultados para la recomendación fueron (las secuencias en las que se hizo la

recomendación fueron en la ronda 2, 40 y 150)

3900

3950

4000

4050

4100

4150

4200

Ganancia Sociedad

Escenario1

Escenario2

Escenario3

Escenario4

Page 113: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

104

• El Bi fue de:

Gráfica 8

Debido a que la oferta de los participantes de las subastas es cada vez mayor a

medida que la subasta progresa, el Bi es mayor.

• La probabilidad de obtener el bien está dada por:

Gráfica 9

Así mismo, a medida de que las rondas aumentan y si el perfil del comprador es bajo

la oportunidad de que este adquiera el bien va a disminuir, debido a que existe un

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

2 40 150

Escenario1

Escenario2

Escenario3

Escenario4

3250

3300

3350

3400

3450

3500

3550

3600

3650

3700

3750

2 40 150

Escenario1

Escenario2

Escenario3

Escenario4

Page 114: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

105

mayor conocimiento de la historia así como de la forma en que están jugando los

participantes de la subasta.

• La utilidad esperada fue de:

Gráfica 10

De igual manera a medida que pasan las rondas de la subasta, los participantes

tienden a mejor las ofertas lo que afecta directamente la utilidad del posible

participante.

Resultados para este grupo de escenarios – Caso agente negociador

A partir de la gráfica 8 se puede notar cómo la oferta generada por el proceso de

recomendación aumenta a medida que hay un mayor número de participantes. El

valor de la oferta también aumenta dependiendo de la secuencia en que se haga

debido a que los agentes que están participando tienen más información sobre sus

competidores lo que origina que los tipos utilizados por los agentes sean más

aproximados a los verdaderos.

De la misma forma la probabilidad de obtener el bien va a verse negativamente

afectada con el número de participantes ya que existirán valoraciones superiores a las

del agente interesado en el bien.

0

10

20

30

40

50

60

2 40 150

Escenario1

Escenario2

Escenario3

Escenario4

Page 115: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

106

10.2.2 Escenarios para el coeficiente de aversión al riesgo: caso agente negociador

Objeto a subastar: Televisor plasma 46”

Escenario 1. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Ansioso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 11

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 38 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien. También se ve como en las primeras secuencias las pujas

mas altas son realizadas por el agente que presenta el coeficiente de riesgo mas alto.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 4 7 10 13 16 19 22 25 28 31 34 37 40

A

B

C

D

E

Page 116: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

107

Escenario 2. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Preocupado US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 12

De la gráfica 12 se puede establecer que la convergencia del algoritmo se logra en la

ronda número 38 con una valoración de $3820 por el bien y es al jugador B a quién se

le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49

A

B

C

D

E

Page 117: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

108

Escenario 3. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 13

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 41 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 4 7 10 13 16 19 22 25 28 31 34 37 40

A

B

C

D

E

Page 118: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

109

Escenario 4. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Fresco US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 14

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 51 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61

A

B

C

D

E

Page 119: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

110

Escenario 5. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Gates US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 15

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 54 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61

A

B

C

D

E

Page 120: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

111

Escenario 6. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Ansioso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 16

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 25 con una valoración de $3916 por el bien y es al jugador B a

quién se le adjudica el bien. Nótese como a diferencia de los anteriores escenarios, la

oferta ganadora fue mayor como consecuencia del aumento en el perfil de riesgo del

agente que la realizo.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 4 7 10 13 16 19 22 25 28 31 34 37 40

A

B

C

D

E

Page 121: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

112

Escenario 7. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Gates US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 17

A partir de la gráfica se puede ver como la convergencia del proceso se logra en la

ronda número 102 con una valoración de $3724 por el bien y es al jugador B a quién

se le adjudica el bien.

Resultados para este grupo de escenarios – Caso agente negociador

En general en las gráficas 11, 12, 13, 14, 15 se puede concluir que la aversión a riesgo

de un agente disminuye el número de secuencias necesarias para llegar a un estado

estable pues las ofertas generadas serán mayores alcanzando más rápidamente las

valoraciones de cada agente.

0

500

1000

1500

2000

2500

3000

3500

4000

1 8 15 22 29 36 43 50 57 64 71 78 85 92 99

A

B

C

D

E

Page 122: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

113

En la gráfica 16 se ejemplifica el caso de un agente con la valoración más alta y un

perfil de riesgo ansioso, el resultado de este escenario es que el proceso de

negociación converge en menos de treinta secuencias, caso contrario ocurre con el

resultado mostrado en la gráfica 17, donde el agente con la valoración más alta tiene

un perfil Gates implicando que el proceso se estabilice en un número de secuencia

cercana a 100. En estos dos casos, tanto la utilidad del subastador como la del agente

va a verse afectada, la primera de forma negativa y la segunda en forma positiva ya

que la oferta con la que se adjudica el bien disminuye con el perfil Gates, esto puede

explicarse a que con este perfil las ofertas realizadas reflejan una menor necesidad de

adquisición del bien.

Gráfica 18

El cambio en la utilidad del comprador se ve afectado por la aversión al riesgo que

este tenga entre menos se preocupe por la perdida del bien, mayor va a ser su utilidad

final, siempre y cuando tenga una alta valoración por el bien lo suficiente como para

poder tener la capacidad de adquirirlo frente a los otros participantes.

0

50

100

150

200

250

300

Utilidad comprador

Escenario1

Escenario2

Escenario3

Escenario4

Escenario5

Escenario6

Escenario7

Page 123: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

114

Gráfica 19

De igual manera el cambio en la utilidad del vendedor se ve afectado por la aversión

al riesgo que este tengan los participantes, entre menos se preocupen por la perdida

del bien, menor va a ser su utilidad final, debido a que existe una menor ansiedad por

partes de los participantes por adquirir el bien.

Gráfica 20

A partir de la gráfica se puede concluir que entre mayor sea la valoración del

participante mayor va a ser la ganancia de la sociedad.

3600

3650

3700

3750

3800

3850

3900

3950

Utilidad vendedor

Escenario1

Escenario2

Escenario3

Escenario4

Escenario5

Escenario6

Escenario7

0

500

1000

1500

2000

2500

3000

3500

4000

Ganancia Sociedad

Escenario1

Escenario2

Escenario3

Escenario4

Escenario5

Escenario6

Escenario7

Page 124: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

115

10.2.3 Escenarios para el coeficiente de aversión al riesgo: caso agente recomendador

Objeto a subastar: Televisor plasma 46”

Los participantes en la subasta tendrán los siguientes parámetros

Participante Perfil Valoración

A Ansioso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Gates US $ 3700

E Fresco US $ 3000

Gráfica 21

En la gráfica 21 se puede ver como la convergencia del algoritmo se logra en la ronda

número 54 con una valoración de $3820 por el bien y es al jugador B a quién se le

adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57

A

B

C

D

E

Page 125: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

116

Escenario 1. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Parámetros del agente recomendador:

Perfil Valoración

Ansioso US $ 3800

Escenario 2. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Parámetros del agente recomendador:

Perfil Valoración

Preocupado US $ 3800

Escenario 3. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Parámetros del agente recomendador:

Perfil Valoración

Temeroso US $ 3800

Escenario 4. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Parámetros del agente recomendador:

Perfil Valoración

Fresco US $ 3800

Escenario 5. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Parámetros del agente recomendador:

Perfil Valoración

Gates US $ 3800

Los resultados obtenidos por el agente recomendador fueron los siguientes:

Page 126: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

117

• El Bi fue de:

Gráfica 22

En la gráfica 22 se ve que a medida que el riesgo del agente para el cual se hace la

recomendación aumenta, la oferta óptima para la participación en la subasta

disminuye lo cual concuerda con las preferencias manifestadas por este individuo. La

oferta óptima aumenta con el número de la secuencia para el cual se hace la

recomendación como consecuencia de la disposición de mayor información sobre el

desarrollo de la subasta.

3450

3500

3550

3600

3650

3700

3750

3800

4 40 150

Ansioso

Preocupado

Temeroso

Fresco

Gates

Page 127: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

118

La probabilidad fue de:

Gráfica 23

Observando la gráfica 23 se puede ver como la probabilidad de obtener el bien va

sólo a ser afectada en una etapa avanzada de la subasta, pues es en este momento

cuando la asimetría en la información disminuye.

• La utilidad esperada fue de:

Gráfica 24

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

4 40 150

Ansioso

Preocupado

Temeroso

Fresco

Gates

0

20

40

60

80

100

120

4 40 150

Ansioso

Preocupado

Temeroso

Fresco

Gates

Page 128: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

119

10.2.4 Escenarios para la valoración del bien: caso agente negociador

Objeto a subastar: Televisor plasma 46”

Escenario 1. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 25

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 42 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49

A

B

C

D

E

Page 129: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

120

Escenario 2. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3500

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 26

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 46 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49

A

B

C

D

E

Page 130: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

121

Escenario 3. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 4200

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 27

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 58 con una valoración de $4080 por el bien y es al jugador C a

quién se le adjudica el bien.

En general, para las gráficas 25,26,27 se puede notar como el aumento en la

valoración del agente C repercute de manera positiva en él número de secuencias

necesarias para la convergencia. Esto se debe que el aumento en la valoración

provoca que la oferta con la que se adjudica el bien también aumente gracias a la

competencia que se genera entre los participantes con valoraciones altas.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61

A

B

C

D

E

Page 131: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

122

Gráfica 28

La utilidad del comprador cambio en el tercer escenario debido a que la valoración

del bien por parte del participante C fue mayor con respecto a los dos primeros

escenarios. No se vio afectada en el segundo porque la valoración de C no era lo

suficientemente alta como para que B ofreciera más por el bien.

Gráfica 29

Así mismo, la utilidad del vendedor se vio favorecida porque el participante C tenía

una valoración más alta en el tercer escenario.

0

20

40

60

80

100

120

140

160

180

Utilidad Comprador

Escenario1

Escenario2

Escenario3

3650

3700

3750

3800

3850

3900

3950

4000

4050

4100

Utilidad Vendedor

Escenario1

Escenario2

Escenario3

Page 132: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

123

Gráfica 30

A partir de la gráfica se puede concluir que entre mas altas sean las valoraciones,

mayor será la ganancia de la sociedad.

3900

3950

4000

4050

4100

4150

4200

Ganancia Sociedad

Escenario1

Escenario2

Escenario3

Page 133: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

124

10.2.5 Escenarios para la valoración del bien: caso agente recomendador

Objeto a subastar: Televisor plasma 46”

Los participantes en la subasta tendrán los siguientes parámetros

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 4200

D Temeroso US $ 3700

E Temeroso US $ 3000

Tamaño del recall: 10

Gráfica 31

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 58 con una valoración de $4080 por el bien y es al jugador C a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57

A

B

C

D

E

Page 134: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

125

Escenario 1. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Parámetros del agente recomendador:

Perfil Valoración

Temeroso US $ 3000

Escenario 2. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Parámetros del agente recomendador:

Perfil Valoración

Temeroso US $ 3500

Escenario 3. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Parámetros del agente recomendador:

Perfil Valoración

Temeroso US $ 4800

Los resultados obtenidos por el agente recomendador fueron:

• Para Bi:

Gráfica 32

A partir de la gráfica se puede decir que a medida que hay un mayor conocimiento de

la historia de la subasta, el Bi estimado es cada vez más acertado y a medida que la

0

5 0 0

1 0 0 0

1 5 0 0

2 0 0 0

2 5 0 0

3 0 0 0

3 5 0 0

4 0 0 0

4 5 0 0

5 0 0 0

4 4 0 1 5 0

U S $ 3 0 0 0

U S $ 3 5 0 0

U S $ 4 8 0 0

Page 135: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

126

valoración del participante entrante es mayor este tiene la capacidad de poder realizar

una mejor oferta.

• La probabilidad fue de:

Gráfica 33

Esta gráfica claramente muestra que a medida que el participante tiene una mayor

valoración, ésta refleja su probabilidad de adquirir el bien y si a esto le sumamos que

existe una mayor historia el posible comprador va a tener una mejor información para

poder tomar su decisión de su entrada a la subasta.

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

4 40 150

US$3000

US$3500

US$4800

Page 136: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

127

• La utilidad esperada fue de:

Gráfica 34

En esta gráfica se muestra como a medida que la historia de la subasta avanza así

mismo su utilidad disminuye y dependiendo de la valoración que se tenga esta

utilidad puede tender a cero si es muy baja o puede llegar a ser muy alta si mi

valoración así lo es.

En general, en las gráficas 32,34 se ve cómo la oferta y la utilidad generada con el

proceso de recomendación aumentan de acuerdo con la valoración, esto era de

esperarse pues existe una mayor cantidad de dinero disponible para la compra del

bien.

Con la gráfica 33 se ve nuevamente cómo a medida que las valoraciones aumentan,

la probabilidad de ganar el bien disminuye, aunque esta disminución dependerá de la

valoración que se tenga para el bien.

0

1

2

3

4

5

6

7

8

4 40 150

US$3000

US$3500

US$4000

Page 137: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

128

10.2.6 Escenarios para el tamaño del recall

Objeto a subastar: Televisor plasma 46”

Escenario 1. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 35

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 40 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49

A

B

C

D

E

Page 138: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

129

Escenario 2. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 20

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 36

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 86 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 7 13 19 25 31 37 43 49 55 61 67 73 79 85

A

B

C

D

E

Page 139: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

130

Escenario 3. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 30

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Gráfica 37

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 119 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

A través de las gráficas 35,36,37 se ve cómo al aumentar el tamaño del recall la

convergencia del proceso de negociación aumentará. Esto puede explicarse pues la

inclusión de información más reciente influye de manera positiva al aprendizaje de

los tipos de los otros agentes.

Los resultados obtenidos por el agente recomendador fueron:

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 10 19 28 37 46 55 64 73 82 91 100

109

118

127

A

B

C

D

E

Page 140: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

131

• Para Bi:

Gráfica 38

Esta gráfica se puede ver que a medida que se sabe de una mayor historia hay un

mayor conocimiento acerca de las reales intenciones de los diferentes participantes de

la subasta, así mismo se tiene un mayor recall las ofertas son más bajas debido a que

la convergencia del algoritmo es más alto.

• La probabilidad fue de:

Gráfica 39

Con esta gráfica se puede apreciar que para un posible participante de una subasta es

mejor tener un recall más bajito pues al tener una convergencia más baja así mismo el

algoritmo puede evaluar con una mayor probabilidad la adquisición del bien.

3 6 3 5

3 6 4 0

3 6 4 5

3 6 5 0

3 6 5 5

3 6 6 0

3 6 6 5

2 4 0 1 5 0

R e c a l l 1 0

R e c a l l 2 0

R e c a l l 3 0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

2 4 0 1 5 0

Reca l l10

Reca l l20

Reca l l30

Page 141: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

132

• La utilidad esperada fue de:

Gráfica 40

En esta gráfica a medida que el recall es más alto lo es también la utilidad aunque

disminuya a través de las rondas debidas al perfil del posible participante de la

subasta.

4.4

4.5

4.6

4.7

4.8

4.9

5

5.1

5.2

2 40 150

Recall10

Recall20

Recall30

Page 142: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

133

Gráfica 41

Para los tres escenarios la ganancia del comprador no cambia porque no existe nadie

en el grupo de participantes que pueda ofrecer más que el participante B por lo que el

recall no afecta la utilidad del comprador.

Gráfica 42

0

20

40

60

80

100

120

140

160

180

Utilidad Comprador

Escenario1

Escenario2

Escenario3

0

500

1000

1500

2000

2500

3000

3500

4000

Utilidad Vendedor

Escenario1

Escenario2

Escenario3

Page 143: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

134

Así mismo en esta gráfica la utilidad del vendedor tampoco se ve afecta porque el

participante B es quien tiene una mayor valoración del bien y por lo tanto no hay

nadie que llegue o pueda ofrecer más que él.

Gráfica 43

A partir de la gráfica se puede concluir que entre mayor sea la valoración del

participante mayor va a ser la ganancia de la sociedad.

En general se ve que al utilizar un mayor recall se puede ver cómo la probabilidad de

obtener el bien sólo se ve afectada en una secuencia avanzada de la subasta, pues es

en esta cuando la convergencia del proceso es más afectada por el tamaño del recall

produciendo ofertas más bajas. La misma incidencia tiene este parámetro en la

utilidad y la oferta.

0

500

1000

1500

2000

2500

3000

3500

4000

Ganancia Sociedad

Escenario1

Escenario2

Escenario3

Page 144: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

135

10.2.7 Escenarios para la entrada de jugadores cuando la subasta ya ha comenzado: caso agente negociador y negociador

Escenario 1. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que entra el nuevo jugador: 5

Parámetro del nuevo jugador

Participante Perfil Valoración

N Temeroso 3500

Gráfica 44

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 45 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

Escenario 2. Número de participantes al inicio de la subasta: 5

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49

A

B

C

D

E

N

Page 145: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

136

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que entra el nuevo jugador: 20

Parámetro del nuevo jugador

Participante Perfil Valoración

N Temeroso 3500

Gráfica 45

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 41 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

Escenario 3. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 4 7

10

13

16

19

22

25

28

31

34

37

40

43

46

49

A

B

C

D

E

N

Page 146: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

137

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que entra el nuevo jugador: 100

Parámetro del nuevo jugador

Participante Perfil Valoración

N Temeroso 3500

Gráfica 46

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 41 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

En general, en las gráficas 44,45,46 se puede ver cómo la entrada de un nuevo

jugador introduce muy poco ruido en el desarrollo del proceso, esto se debe a que la

valoración del nuevo participante no influye de manera significativa en las ofertas

que los otros participantes han estado realizando.

Los resultados del agente recomendador para los 3 primeros escenarios fueron de:

• Para Bi:

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 10 19 28 37 46 55 64 73 82 91 100

109

118

127

A

B

C

D

E

N

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 10 19 28 37 46 55 64 73 82 91 100

109

118

127

A

B

C

D

E

N

Page 147: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

138

Gráfica 47

La gráfica muestra que a medida que hay mayor información de la subasta, el valor

de la oferta real que se está dando en cada ronda es mucho más cercano al real a

medida que pasan las rondas debido a que los jugadores muestran con el tiempo sus

reales intenciones de juego.

3400

3405

3410

3415

3420

3425

3430

3435

3440

Bi

Ronda5

Ronda20

Ronda100

Page 148: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

139

• La probabilidad fue de:

Gráfica 48

Así mismo, la probabilidad de adjudicación del bien disminuye en el tiempo pues el

posible jugador con el perfil que tiene es difícil que sea le sea adjudicado el bien si

llega a entra a la subasta en juego.

• La utilidad esperada fue de:

Gráfica 49

Como era de esperarse en esta gráfica la utilidad esperada disminuye a medida que

hay más historia sobre la subasta.

0

0 . 1

0 . 2

0 . 3

0 . 4

0 . 50 . 6

0 . 7

0 . 8

0 . 9

1

Probab i l i dad

R o n d a 5

R o n d a 2 0

R o n d a 1 0 0

3.4

3.6

3.8

4

4.2

4.4

4.6

Utilidad Esperada

Ronda5

Ronda20

Ronda100

Page 149: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

140

Escenario 4. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que entra el nuevo jugador: 5

Parámetro del nuevo jugador

Participante Perfil Valoración

N Temeroso 4200

Gráfica 50

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 59 con una valoración de $4080 por el bien y es al jugador N a

quién se le adjudica el bien.

Escenario 5. Número de participantes al inicio de la subasta: 5

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57A

B

C

D

E

N

Page 150: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

141

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que entra el nuevo jugador: 100

Parámetro del nuevo jugador

Participante Perfil Valoración

N Temeroso 4200

Gráfica 51

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 151 con una valoración de $4080 por el bien y es al jugador N a

quién se le adjudica el bien.

En general, a partir de las gráficas 50,51 el nuevo participante posee una valoración

superior a la de los participantes originales en la subasta lo que ocasiona que las

ofertas que generadas por los otros participantes se incrementen hasta lograr las

valoraciones de cada uno de estos.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 11 21 31 41 51 61 71 81 91 101

111

121

131

141

151

A

B

C

D

E

N

Page 151: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

142

Los resultados obtenidos por el agente recomendador para los escenarios 4 y 5 fue de:

• Para Bi:

Gráfica 52

Como era de esperarse en la gráfica, a medida que hay más información sobre los

participantes, el Bi es mucho más aproximado al real y así mismo, en la siguiente

gráfica, la utilidad disminuye con cada ronda porque los participantes ofrecen más

por el bien.

• La utilidad esperada fue de:

Gráfica 53

4020

4025

4030

4035

4040

4045

4050

4055

4060

4065

Bi

Ronda5

Ronda100

5.5

5.6

5.75.8

5.9

66.1

6.2

6.3

6.46.5

UtilidadEsperada

Ronda5

Ronda100

Page 152: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

143

Escenario 6. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que entra el nuevo jugador: 20

Parámetro del nuevo jugador

Participante Perfil Valoración

N Ansioso 4000

Gráfica 54

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 91 con una valoración de $4000 por el bien y es al jugador B o N

a quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106

A

B

C

D

E

N

Page 153: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

144

Escenario 7. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que entra el nuevo jugador: 100

Parámetro del nuevo jugador

Participante Perfil Valoración

N Ansioso 4000

Gráfica 55

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 180 con una valoración de $4000 por el bien y es al jugador B o

N a quién se le adjudica el bien.

En el caso presentado en las gráficas 55 y 54 el nuevo participante tiene un perfil de

riesgo alto y una valoración alta. En la segunda de estas gráficas se puede ver cómo el

proceso había alcanzado un estado estable pero al entrar el nuevo participante el

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 12 23 34 45 56 67 78 89 100

111

122

133

144

155

166

177

A

B

C

D

E

N

Page 154: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

145

proceso paso a otro estado estable, lo que produjo un incremento en las ofertas

realizadas.

Los resultados obtenidos por el agente recomendador en los escenarios 6 y 7 fueron:

• Para Bi:

Gráfica 56

• La utilidad esperada fue de:

Gráfica 57

Aunque un aumento en la valoración incrementa las posibilidades de adquirir el bien,

la utilidad del agente va a estar determinado por el perfil de riesgo que este maneje, es

así que para el caso presentado en la gráfica 57, con un perfil Ansioso la utilidad es

menor que en el caso de la gráfica 48 pese a que este jugador tiene una mayor

probabilidad.

3 9 6 8

3 9 6 9

3 9 7 0

3 9 7 1

3 9 7 2

3 9 7 3

3 9 7 4

3 9 7 5

B i

R o n d a 2 0

R o n d a 1 0 0

0 . 1 3 7

0 . 1 3 7 5

0 . 1 3 8

0 . 1 3 8 5

0 . 1 3 9

0 . 1 3 9 5

0 . 1 4

0 . 1 4 0 5

U t i l i d a d E s p e r a d a

R o n d a 2 0

R o n d a 1 0 0

Page 155: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

146

Teniendo en cuenta estas características, el éxito del proceso de recomendación va a

estar condicionado por el momento de la secuencia en que se realice.

Con respecto a la utilidad esperada vs. la utilidad real, para la gráfica 57, la

aproximación de la utilidad esperada era cada vez menor a medida que las rondas

pasan dado el perfil del comprador, pues este prefiere sacrificar utilidad para poder

obtener el bien, diferencia que se ve reflejada cuando el perfil del jugador de la

gráfica 53 es temeroso. Para estos dos casos, la probabilidad de adquirir el bien fue

correcta, sin embargo, en la gráfica 48 es evidente que a medida que hay una mayor

historia y se empieza a ver la intención de los otros jugadores, la probabilidad de

adquirir el bien disminuye puesto que el comprador no está en la capacidad de tener

una mayor valoración del bien.

Page 156: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

147

10.2.8 Escenarios para la salida de jugadores

Escenario 1. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que sale el jugador: 5

Jugador que sale: C

Gráfica 58

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 60 con una valoración de $3820 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

4500

1 6

11 16 21 26 31 36 41 46 51 56 61 66

A

B

C

D

E

Page 157: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

148

Escenario 2. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que sale el jugador: 5

Jugador que sale: D

Gráfica 59

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 51 con una valoración de $3700 por el bien y es al jugador B a

quién se le adjudica el bien.

0

500

1000

1500

2000

2500

3000

3500

4000

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57

A

B

C

D

E

Page 158: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

149

Escenario 3. Número de participantes al inicio de la subasta: 5

Mínima oferta: US $1

Tamaño del recall: 10

Parámetros de los participantes:

Participante Perfil Valoración

A Temeroso US $ 3500

B Temeroso US $ 4000

C Temeroso US $ 3000

D Temeroso US $ 3700

E Temeroso US $ 3000

Secuencia en la que sale el jugador: 5

Jugador que sale: B

Gráfica 60

A partir de la gráfica se puede establecer que la convergencia del algoritmo se logra

en la ronda número 61 con una valoración de $3580 por el bien y es al jugador D a

quién se le adjudica el bien.

En general, cuando se da la salida de un jugador con una valoración alta de la subasta

repercute en la oferta con la que se adquiere el bien. En la gráfica 48 se muestra el

caso en que un agente con una valoración baja sale de la subasta, esto no tiene

0

500

1000

1500

2000

2500

3000

3500

4000

1 6 11 16 21 26 31 36 41 46 51 56 61 66

A

B

C

D

E

Page 159: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

150

consecuencias en proceso, al contrario de lo que pasa en la gráfica 49 y 50 donde el

jugador que sale tiene una valoración lo suficientemente alta como para influir en las

ofertas subsecuentes realizadas a la salida de este. Teniendo en cuenta estas

características, se puede concluir que la salida de agentes afectara al proceso de

negociación solamente si la valoración de este jugador es lo suficientemente alta con

respecto a la de los demás, mientras que para la gráfica

Page 160: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

151

11 TRABAJO FUTURO Y CONCLUSIONES

Este trabajo tuvo como principal objetivo el diseño de un mercado inteligente donde

el mecanismo de intercambio de bienes fuese realizado exclusivamente entre agentes

inteligentes. Para esto se establecieron dos roles principales, el agente recomendador

y el agente negociador. El primero de estos tenía como objetivo la búsqueda y

selección de las subastas, de acuerdo a unos parámetros previamente establecidos,

que facilitaran un posterior proceso de negociación realizado por el segundo de estos

agentes.

El diseño fue dividido en dos partes. La primera parte fue a nivel de software, donde

se establecía la arquitectura del mercado de los agentes y la forma como estos

deberían manejar los procesos, de tal manera que se lograra el cumplimiento de los

objetivos establecidos para cada uno. La segunda etapa estuvo relacionada con el

motor de inteligencia artificial utilizada por los dos agentes (recomendación y

negociación) para lo cual se estableció un modelo matemático para la representación

formal de una subasta (capítulo 4.2). Una vez establecido el modelo se procedió a

especificar la forma como los agentes interactuarían; para el caso del agente

negociador se estableció un tipo de aprendizaje adaptativo como lo es el juego ficticio

(capítulo 8) junto con un algoritmo que describía la forma como se realizaban las

ofertas basándose en este esquema de aprendizaje. Para el agente negociador se

proporcionó una heurística (capítulo 9) que definía el criterio de ordenamiento de

subastas para un determinado conjunto de parámetros propios del usuario (perfil de

riesgo, valoración del bien, características del bien).

La validación del diseño propuesto fue sólo realizada para el motor de inteligencia

artificial, pues es a este nivel que se puede determinar si el mercado está funcionando

como debería ser, es decir, si los comportamientos de los agentes corresponden a lo

que está en la teoría. A partir del análisis realizado en el capítulo 10 se puede concluir

que tanto el modelo propuesto como los esquemas empleados por los agentes

cumplen en buena medida con el comportamiento esperado, lo cual se ve reflejado en

la evolución de las ofertas a lo largo de la subasta, la asignación final del bien al

agente que más lo valora y la eficiencia de la recomendación a medida que se

dispone de más información.

Page 161: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

152

La capacidad de aprendizaje de los agentes va a estar condicionada solamente a

acciones previamente tomadas, lo cual podría verse como una desventaja. Para

solucionar este contratiempo, la posible inclusión de nuevos esquemas de aprendizaje

que fortalezcan el esquema propuesto sería un trabajo interesante, pues a partir de

técnicas de reconocimiento de patrones o generación y evaluación de posibles

escenarios mediante algoritmos genéticos, el proceso de recomendación aumentaría

su potencial y a sí mismo su efectividad.

Otro trabajo a realizarse sería la ampliación del mercado para permitir la coexistencia

en un mismo ambiente de agentes artificiales y seres humanos en una subasta, claro

está, la previa modificación de los esquemas de aprendizaje utilizados por dichos

agentes, ya que estos están realizados pensando un entorno compuesto sólo por

participantes con esquemas de aprendizaje semejantes a los de ellos. Con la inclusión

de humanos en el mercado se podría mejorar las estrategias que los agentes utilizan

ya que con un modelo más enriquecido los agentes podrían llegar a imitar y adaptarse

a comportamientos presentados en las estrategias seguidas por los humanos.

Con respecto a los algoritmos se puede concluir lo siguiente:

• La convergencia del proceso de negociación va aumentar a medida que el

número de participantes lo haga. De igual forma si el coeficiente de riesgo de

los participantes es alto, la convergencia Serra mayor.

• La recomendación va a tener mayor certeza si en el momento en que esta se

hace la subasta se encuentra en una secuencia avanzada.

• Los algoritmos de recomendación y negociación están basados en un tipo de

aprendizaje adaptativo, por lo que la disposición de mayor información

beneficiara el desempeño de los algoritmos.

• La entrada o salida de agentes en la subasta va a afectar el comportamiento de

los algoritmos si las características de estos agentes generan un cambio en las

ofertas realizadas por lo otros participantes de la subasta.

Page 162: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

153

12 BIBLIOGRAFÍA

• Presentación del curso de Agente de Software de Pavón Mestras Juan. Agente

Móviles de la universidad complutense de Madrid.

• Software Agents. Genesereth Michael R. y Ketchpel Steven P.

• An Inteligent Multi-Agent Architecture for Information Retrieval from the

Internet. Martín E Muller. Institute for Semantic Information Processing

• Autonomous Agents for participating in multiple online auctions. Patricia

Anthony, Wendy Hall, Viet Dung Dang y Nicholas R Jennings of the

department of electronics and computer science de la Universidad de

Southampton.

• Artificial Intelligence: A Modern Approach by Stuart Russell and Peter

Norvig, c 1995 Prentice-Hall, Inc.

• Presentación de Agente Inteligentes en la red Internet por el Dr. Jesús

Tramullas Saz. De la universidad de Saragoza.

• Online Learning about other agents in a Dynamic Multi-agent System. Junling

Hu y Michael P. Wellman. Laboratorio de Inteligencia Artificial de la

universidad de Michigan.

• Agents Participating in Internet Auctions. Junling Hu, Daniel Reeves y Hock-

Shan Wong. Laboratorio de Inteligencia Artificial de la universidad de

Michigan.

• Multiagente Reinforcement Learning in Stochastic Games. Junling Hu y

Michael P. Wellman. Laboratorio de Inteligencia Artificial de la universidad

de Michigan.

• Presentación que es un agente. Domingo Gallardo. Universidad de Alicante,

1999.

• Draft Specification of KQML. Agent-Communication Language. Tim Flinin,

Jay Weber, Gio Wiederhold, Michael Genesereth, Richard Fritzson, Donald

McKay, Chris Beck, Stuart Chapiro, James McGuire,Richard Pelavin. The

Darpa Knowledge Sharing Initiative External Interfaces Working Group.

• A learning Approach to Learning. Shlomit Hon-Snir, Dov Monderer y Aner

Sela. Technion-Israel Institute of Technology Haifa, Israel.

• Modeling Adaptive Autonomous Agents. Pattie Maes. MIT Media-

Laboratory.

Page 163: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

154

• Modeling human and organizational, behavior using a relation-centric multi-

agente system design paradigm. Kymberly A. Roddy y Michael R. Dickson.

• Stochastic Learning of Strategic Equilibria for Auctions. Samy Bengio,

Yoshua Bengio, Jacques Robert, Gilles Bélanger. Universidad de Montreal

• Agents Theories, Architectures and Languages: A Survey. Michael J.

Wooldridge y Nicholas R Jennings. Manchester Metropolitan University

Dept. of Electronic Engineering

• A Prunning Algorithm for Imperfect Information Games. Michael van Lent y

David Mutchler. Departamento de Computer Science de la Universidad de

Tennessee

• Conjetural Equilibrium in Multiagent Learning. Michael P. Wellman y

Junling Hu. Universidad de Michigan.

• An Architecture for Information Agents. Donald P McKay, Jon Pastor y

Robin McEntire. Computer Science and Electrical Engineering. Universidad

de Maryland

• Son las subastas lo mejor?. El Pais, Domingo 19 de noviembre de 2000. Paul

Kemperer.

• A Genetic Algorithm Tutorial. Darell Whitley.Universidad del Estado de

Colorado.

• Sardine: Dynamic Seller Strategies in an Acution MarketPlace. Joan Morris,

Peter Ree y Pattie Maes. MIT Media Labs.

• Agents advanced features for negotiation in Electronic Commerce and Virtual

Organisations formation process. Eugénio Oliveira y Ana Paola Rocha.

Universidad de Porto.

• Applying Game Theory to Automated Negotiation. Ken Binmore y Nir

Vulkman. Universidad de Rutdgers.

• Artificial Adaptative Agents in Economic Theory. John H Holland y John H.

Miller. The American Economic Review, Volumen 81, Issue 2.

• Internet Auctions. Manoj Kumar y Stuar I. Feldmna. IBM Research Division.

• Automated Negotiation in Agent-Mediated Electronic Commerce. Alessio

Lomuscio, Michael Wooldridge y Nicholas R. Jennings.

• Automated Service Negotiation Between Autonomous Computational Agents.

Peyman Faratin. Universidad de Londres.

• Designing Bidding Strategies for Trading Agents in Electronic Auctions.

Eduard Jiménez-Funes, Lluís Godo, Juan A Rodríguez Aguilar y Pérez

García-Calvés. Artificial Intelligence Research Institute, IIAI.

• Internet Auctions with Artificial Adaptative Agents: Evolution of Late and

Multiple Bidding. M. Utku Unver. Universidad de Koc.

• Negotiation Between Distributed Agents in a Concurrent Engineering System.

Sundar K. Victor. Instituto Politécnico de Workcester.

• Negotiation in Multi-Agent Systems. Martin Beer, Mark d´Inverno, Michael

Luck, Nick Jennings, Chris Preist y Michael Schroeder.

Page 164: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

155

• Multi- issue negotiation processes by evolutionary simulation:validation and

social extensions E.H. Gerding, D.D.B. van Bragt, J.A. La Poutré.

• Robust Learning Experiments. Evidence for Learning and Deliberation.

Werner Gruth

• Scientific Approaches and Techniques for Negotiation. A Game Theoretic and

Artificial Intelligence Perspective. E.H. Gerding, D.D.B. van Bragt y J.A. la

Poutre.

• A Market-Oriented Programming Environment and its Application to

Distributed Multicommodity Flow Problems. Michael P. Wellman.

Universidad de Michigan.

• Agents that reason and negotiate by arguing. Simon Parsons, Carles Sierra y

Nick R. Jennings. Universidad de Londres.

• Optimal Negotiation Strategies for Agents with Incomplete Information. S.

Shaheen Fatima, Michael Wooldridge y Nicholas R. Jennings.

• Allocation Mechanisms and the Design of Acutions. Milton Harris y Artur

Raviv. Revista Econométrica, Volumen 49, Issue 6.

• How Soft Games can be Played. Philippe de Wilde. Imperial College of

Science, Technology and Medicine London.

• Optimal Auctions. John G. Riley y William F. Samuelson. The American

Economic Review. Volumen 71, Issue 3.

• Optimal Auctions with Risk Averse Buyers. Econometrical, Volumen 52

Issue 6.

http://www.cs.dartmouth.edu/~brd/Teaching/AI/Lectures/Summaries/architectures.ht

ml

http://ict.udlap.mx/people/sandra/is523/pres_agentes_i.html

http://www.fdi.ucm.es/asignaturas/ssii_sup/SI/grupo1/resumenes/Agentes%20Intelige

ntes.html

http://cruzrojaguayas.org/inteligencia/Estructura%20de%20Agentes%20Inteligentes.

htm

http://www.hermans.org/agents/toc.htm

http://www.elec.qmul.ac.uk/dai/pubs/KER95/

http://www.firstmonday.dk/issues/issue4_6/jonkheer/

http://www.cs.umn.edu/magnet/

http://www.labs.bt.com/projects/agents/publish/papers/review1.htm

http://www.cs.tcd.ie/research_groups/aig/iag/content2.html

http://www.beje.decon.ufpe.br/rivero/rivero.htm

http://www.ee.ic.ac.uk/research/neural/project.html

http://www.firstmonday.dk/issues/issue4_6/jonkheer/

http://www-iiuf.unifr.ch/~brugger/papers/95_cidre/cidre/node26.html

http://www-2.cs.cmu.edu/~softagents/retsina_agent_arch.html

http://www-iiuf.unifr.ch/~brugger/papers/95_cidre/cidre/node32.html

Page 165: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

156

13 ANEXOS

13.1 Código fuente del motor de inteligencia del agente recomendador

13.1.1 Clase PlaneacionRecomendador package clienteia.AgenteRecomendador.KernelARecomendador;

import java.util.Vector;

import clienteia.Subasta.Subasta;

/**

* <p>Title: Mercado Inteligente</p>

* <p>Description: Aplicacion del cliente</p>

* <p>Copyright: Copyright (c) 2002</p>

* <p>Company: Uniandes</p>

* @author Amaya-Aguia

* @version 1.0

*/

public class PlaneacionRecomendador

{

private Vector Subastas; //vector con la informacion de cada subasta que va a ser recomendada

private int precioMaximoComprador; //v precio que esta dispuesto a pagar el comprador por el bien

private double riesgoComprador; //adversidad al riesgo del comprador

private EstrategiaRecomendador estrategia; //define la estrategia a seguir por el agente recomendador

private Vector resultadoRecomendacion; //resultado de la recomendacion

/**

* Metodo constructor por defecto

*/

public PlaneacionRecomendador()

{

this.Subastas = new Vector(0,1);

this.precioMaximoComprador = 0;

this.riesgoComprador = 0;

this.resultadoRecomendacion = new Vector(0,1);

this.estrategia = new EstrategiaRecomendador();

}

/**

* Metodo constructor por parametros

Page 166: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

157

*/

public PlaneacionRecomendador(Vector Subastas)

{

this.Subastas = Subastas;

}

/**

* Se quiere establecer cual es el bien que se quiere adquirir con sus caracterisitcas

* con el precio que el comprador esta dispuesto a dar

* @param precioMaximoComprador

*/

public void establecerMaximoComprador (int precioMaximoComprador)

{

this.precioMaximoComprador = precioMaximoComprador;

}

/**

* Establece la adversidad al riesgo que tiene un comprador

* @param riesgo

*/

public void establecerRiesgo (double riesgo)

{

this.riesgoComprador = riesgo;

}

/**

* Inicia la simulacion para la recomendacion

* @param subastas

*/

public void iniciarSimulacionSubasta(Vector subastas)

{

int numsubasta;

Subasta subasta;

this.Subastas = subastas;

//prueba

int i;

//

if (this.Subastas.size() == 0)

{

//no hay subasta no hay nada que recomendar

}

else

{

for (nums ubasta = 0; numsubasta < this.Subastas.size(); numsubasta++)

{

if((this.riesgoComprador > 0) && (this.precioMaximoComprador > 0))

{

subasta = (Subasta)this.Subastas.get(numsubasta);

this.resultadoRecomendacion =

this.estrategia.Simulacion(this.riesgoComprador,this.precioMaximoComprador,subasta);

}

else

System.out.println("la simulacion no puede iniciarse porque los valores no estan inicializados

corretamente");

}

}

Page 167: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

158

}

}

13.1.2 Clase EstrategiaRecomendador package clienteia.AgenteRecomendador.KernelARecomendador;

import clienteia.Subasta.Subasta;

import java.util.Vector;

/**

* <p>Title: Mercado Inteligente</p>

* <p>Description: Aplicacion del cliente</p>

* <p>Copyright: Copyright (c) 2002</p>

* <p>Company: Uniandes</p>

* @author Amaya-Aguia

* @version 1.0

*/

public class EstrategiaRecomendador

{

private Subasta subasta; //Subasta con la informacion

private int precioMaximoComprador; //v precio que esta dispuesto a pagar el comprador por el bien

private double riesgoComprador; //adversidad al riesgo del comprador

private PSERecomendador pse; //motor recomendador

private int precioMinimoVendedor; //precio minimo por el que el subastador vende el bien

private Vector resultado; //vector con el resultado de cada ronda de la subasta i

(bi,UtilidadEsperada,Probabilidad)

/**

* Metodo constructor por defecto

*/

public EstrategiaRecomendador()

{

this.subasta = new Subasta();

this.precioMaximoComprador = 0;

this.riesgoComprador = 0;

this.precioMinimoVendedor = 0;

pse = new PSERecomendador();

this.resultado = new Vector(0,1);

}

/**

* Metodo donde se lleva a cabo la simulacion de la recomendacion

* @param riesgoComprador

* @param precioMaximoComprador

* @param subasta

*/

Page 168: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

159

public Vector Simulacion (double riesgoComprador, int precioMaximoComprador, Subasta subasta)

{

this.riesgoComprador = riesgoComprador;

this.precioMaximoComprador = precioMaximoComprador;

this.subasta = subasta;

this.resultado.add(pse.calcularBi(this.subasta.darHistoriaSubasta(),this.precioMaximoComprador,this.r

iesgoComprador,subasta.darPrecioMinimoVendedor(),subasta.darNumeroJugadores()) );

this.resultado.add(pse.calcularProbabilidad());

this.resultado.add(pse.calcularUtilidadEsperada());

return resultado;

}

}

13.1.3 Clase PSERecomendador

package clienteia.AgenteRecomendador.KernelARecomendador;

import java.util.Vector;

import java.lang.Math;

/**

* <p>Title: Mercado Inteligente</p>

* <p>Description: Aplicacion del cliente</p>

* <p>Copyright: Copyright (c) 2002</p>

* <p>Company: Uniandes</p>

* @author Amaya-Aguia

* @version 1.0

*/

public class PSERecomendador

{

private double limiteSuperior;

private double limiteInfe rior;

private double oferta; //bi parametro de salida

private double probabilidad; //parametro de salida

private double utilidad; //parametro de salida

private double riesgo;

private int numeroJugadores;

private int precioMaximoComprador;

private int precioMinimoVendedor;

/**

* Constructor por defecto

*/

public PSERecomendador()

{

this.limiteInferior = 0;

this.limiteSuperior = 0;

this.oferta = 0;

this.probabilidad = 0;

this.utilidad = 0;

Page 169: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

160

this.riesgo = 0;

this.numeroJugadores = 0;

this.precioMaximoComprador = 0;

this.precioMinimoVendedor = 0;

}

/**

* Funcion que calcula el valor de bi para un subasta con un numero especifico de jugadores

* @param HistoriaSubasta

* @param precioMaximoComprador

* @param riesgoComprador

* @param precioSubastador

* @return

*/

public Double calcularBi(Vector HistoriaSubasta,int precioMaximoComprador,double

riesgoComprador,int precioSubastador,int numJugadores)

{

int numJugador = 0;

int numRondas = 0;

boolean siguiente = true;

double varianza = 0;

Integer ofertaMayor = new Integer(0);

Integer ofertaMenor = new Integer(0);

Integer bi = new Integer(0);

Vector rondas = new Vector(0,1);

Vector numeros = new Vector(0,1);

this.numeroJugadores = numJugadores;

this.riesgo = riesgoComprador;

this.precioMaximoComprador = precioMaximoComprador;

this.limiteInferior = 0;

this.limiteSuperior = 0;

this.precioMinimoVendedor = precioSubastador;

//caso en que no exista historia en la subasta

if (HistoriaSubasta == null)

{

this.oferta = (this.riesgo*this.precioMinimoVendedor +

this.precioMaximoComprador*(this.numeroJugadores-1))/(this.riesgo+this.numeroJugadores -1);

this.limiteInferior = this.precioMinimoVendedor;

this.limiteSuperior = this.precioMaximoComprador;

}

else

{

while (numJugador<HistoriaSubasta.size())

{

rondas = (Vector)HistoriaSubasta.get(numJugador);

//inicializacion de las variables

if (numJugador == 0)

{

ofertaMenor = (Integer)rondas.get(numRondas);

ofertaMayor = (Integer)rondas.get(numRondas);

}

while (siguiente && numRondas < rondas.size())

{

Page 170: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

161

//vector para poder calcular la varianza no se deben tener en cuenta el jugador con -1

if (((Integer)rondas.get(numRondas)).intValue() != -1)

numeros.add( (Integer)rondas.get(numRondas));

//no necesita evaluar el primer caso jugador 0

if (numJugador != 0)

{

if (ofertaMayor.intValue() < ((Integer)rondas.get(numRondas)).intValue() &&

((Integer)rondas.get(numRondas)).intValue() != -1 )

ofertaMayor = (Integer)rondas.get(numRondas);

if (ofertaMenor.intValue() > ((Integer)rondas.get(numRondas)).intValue() &&

((Integer)rondas.get(numRondas)).intValue() != -1)

ofertaMenor = (Integer)rondas.get(numRondas);

}

siguiente = false;

//caso en el que toca evaluar la siguiente ronda

if (numJugador == HistoriaSubasta.size()-1)

{

numRondas++;

varianza = calcularVarianza(numeros);

this.limiteInferior = this.limiteInferior + ofertaMenor.intValue();

this.limiteSuperior = this.limiteSuperior + ofertaMayor.intValue() - (varianza*0);

numeros.clear();

//caso en el que se esta en la ultima ronda en el ultimo jugador

if (! ((numRondas == rondas.size()) && (numJugador == HistoriaSubasta.size()-1)) )

numJugador = -1;

}

numJugador++;

}

siguiente = true;

}

this.limiteInferior = this.limiteInferior/numRondas;

this.limiteSuperior = this.limiteSuperior/numRondas;

//caso en que exista historia en la subasta

this.oferta = (this.riesgo*this.limiteInferior +

this.precioMaximoComprador*(this.numeroJugadores-1))/(this.riesgo+this.numeroJugadores -1);

}

return new Double(this.oferta);

}

/**

* Funcion que calcula la desviacion estandar de una ronda de una subasta

* (nE(x^2) - (E x)^2)/n(n-1)

* @param varianza

* @return

*/

public double calcularVarianza (Vector numeros)

{

int n = 0;

int numOferta;

double desviacion = 0;

int primerTermino = 0;

int segundoTermino = 0;

n = numeros.size();

for (numOferta=0; numOferta<n; numOferta++)

Page 171: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

162

{

primerTermino = primerTermino +

((Integer)numeros.get(numOferta)).intValue()*((Integer)numeros.get(numOferta)).intValue();

segundoTermino = segundoTermino = segundoTermino +

((Integer)numeros.get(numOferta)).intValue();

}

primerTermino = primerTermino*n;

segundoTermino = segundoTermino*segundoTermino;

desviacion = (primerTermino-segundoTermino)/(n*(n-1));

return (Math.sqrt(desviacion));

}

public Double calcularProbabilidad()

{

if (this.limiteSuperior > this.oferta)

this.probabilidad = Math.pow( (this.oferta-this.limiteInferior)/(this.limiteSuperior-

this.limiteInferior),(this.numeroJugadores-1) );

else

this.probabilidad = 0.9999999;

return new Double(this.probabilidad);

}

public Double calcularUtilidadEsperada()

{

this.utilidad = this.riesgo * Math.pow((this.precioMaximoComprador-this.oferta),this.riesgo );

return new Double(this.utilidad);

}

}

package clienteia.Subasta;

import java.util.Vector;

/**

* <p>Title: Mercado Inteligente</p>

* <p>Description: Aplicacion del cliente</p>

* <p>Copyright: Copyright (c) 2002</p>

* <p>Company: Uniandes</p>

* @author Amaya-Aguia

* @version 1.0

*/

public class Subasta

{

private int numeroJugadores; //numero de jugadores que tiene una subasta determinada

private int identificador; //identificador de la subasta

private int precioMinimoVendedor; //precio minimo por el que se vende el bien

private Vector historiaSubasta; //historia de la subasta con cada jugador y sus jugadas

private String bien; //bien que quiere adquirir

private String caracteristicas; //caracteristicas del bien que se quiere adquirir

/**

* Constructor por defecto de una subasta

*/

Page 172: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

163

public Subasta()

{

this.numeroJugadores = 0;

this.identificador = 0;

this.historiaSubasta = new Vector(0,1);

this.precioMinimoVendedor = 0;

this.bien = new String();

this.caracteristicas = new String();

}

/**

* Constructora por parametro

* @param numJugadores

* @param identificador

* @param historia

* @param precioMinimo

* @param bien

* @param caracterisitcas

*/

public Subasta (int numJugadores,int identificador,Vector historia,int precioMinimo,String

bien,String caracteristicas)

{

this.numeroJugadores = numJugadores;

this.identificador = identificador;

this.historiaSubasta = historia;

this.precioMinimoVendedor = precioMinimo;

this.bien = bien;

this.caracteristicas = caracteristicas;

}

/**

* Da la historia asociada a una subasta

* @return

*/

public Vector darHistoriaSubasta()

{

return this.historiaSubasta;

}

/**

* Da el numero de jugadores asociados a una subasta

* @return

*/

public int darNumeroJugadores()

{

return this.numeroJugadores;

}

/**

* Da el precio minimo por el subastador vende el bien

* @return

*/

public int darPrecioMinimoVendedor ()

{

return this.precioMinimoVendedor;

}

/**

* Establece el numero de jugadores de una subasta

Page 173: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

164

* @param jugadores

*/

public void establecerNumeroJugadores (int jugadores)

{

this.numeroJugadores = jugadores;

}

/**

* Establece el identificador de una subasta

* @param id

*/

public void establecerIdentificador (int id)

{

this.identificador = id;

}

/**

* Establece el precio minimo por el que el subastador vende el bien

* @param precio

*/

public void establecerPrecioMinimoVendedor (int precio)

{

this.precioMinimoVendedor = precio;

}

/**

* Establece la historia de la subasta

* @param historia

*/

public void establecerHistoriaSubasta (Vector historia)

{

this.historiaSubasta = historia;

}

public void establecerObjectoSubastar (String caracteristica, String bien)

{

this.caracteristicas = caracteristica;

this.bien = bien;

}

}

Page 174: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

165

13.2 Código fuente del motor de inteligencia del agente negociador

13.2.1 Clase PlaneacionNegociador

package clienteia.AgenteNegociador.KernelANegociador;

import java.util.Vector;

import java.io.*;

import java.util.StringTokenizer;

/**

* <p>Title: Mercado Inteligente</p>

* <p>Description: Aplicacion del cliente</p>

* <p>Copyright: Copyright (c) 2002</p>

* <p>Company: Uniandes</p>

* @author Amaya-Aguia

* @version 1.0

*/

public class PlaneacionNegociador

{

EstrategiaNegociador planeacion;

public PlaneacionNegociador()

{

planeacion=new EstrategiaNegociador();

}

/**

* Hay que realizar el plan correspondiente a la generacion de la oferta

* @param historia historia de la subasta

*/

public int darOferta(Vector historia)

{

planeacion.ia.establecerHistoria(historia) ;

return planeacion.darSiguienteOferta() ;

}

}

13.2.2 Clase EstrategiaNegociador Package clienteia.AgenteNegociador.KernelANegociador;

/**

* <p>Title: Mercado Inteligente</p>

* <p>Description: Aplicacion del cliente</p>

* <p>Copyright: Copyright (c) 2002</p>

* <p>Company: Uniandes</p>

* @author Amaya-Aguia

* @version 1.0

*/

public class EstrategiaNegociador

{

Page 175: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

166

PSENegociador ia;

public EstrategiaNegociador()

{

ia=new PSENegociador();

}

/**

* Realizar la estrategia relacionada con la generacion de la oferta para la

* secuencia de la subasta

* @return int oferta para la siguiente secuencia

*/

public int darSiguienteOferta()

{

int oferta;

if(ia.sinHistoria==ia.historia.size() )

{

/*si no hay historia para todos los jugadores se debe generar

la oferta con el resultado del problema de optimizacion asociado

*/

oferta=(int) ((ia.ro*ia.ofertaInf + ia.valoracion*(ia.historia.size()))/(ia.ro+ia.historia.size()));

}

else

{

oferta=ia.generarOferta(ia.historia);

double promedio=ia.calcularPromedio();

int[] limite=ia.calcuclarLimites(oferta,promedio);

if(oferta>promedio && ia.calentamiento>0.1)

{

oferta-=(ia.ro)*Math.abs(limite[1]-limite[0]);//acercarse al promedio sin pasarse de lim inf

}

e lse if(ia.calentamiento>0.1)

{

oferta+=(1-ia.ro)*Math.abs(limite[1]-limite[0]);//acercarse al promdeio sin pasarse del lim sup

if(((ia.ro)*Math.abs(oferta-limite[1]))*10%10>5)//aprox si el residuo es mayor a 0.5

oferta++;

}

ia.calentamiento-=0.1;

}

if(oferta<ia.ofertaInf )

{

oferta=ia.ofertaInf;

}

else if(oferta>ia.valoracion )

oferta=ia.valoracion ;

else if(ia.calentamiento<=0.1)

{

oferta=(int)(oferta+(ia.valoracion-oferta)*(1-ia.ro));

}

return oferta;

}

}

Page 176: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

167

13.2.3 Clase PSENegociador package clienteia.AgenteNegociador.KernelANegociador;

import java.util.Vector;

/**

* <p>Title: Mercado Inteligente</p>

* <p>Description: Aplicacion del cliente</p>

* <p>Copyright: Copyright (c) 2002</p>

* <p>Company: Uniandes</p>

* @author Amaya-Aguia

* @version 1.0

*/

public class PSENegociador

{

Vector historia;//historia de la subasta sin tener en cuenta a si mismo

Vector frecuencia;//frecuencia de observacion de las aciones para la historia dada

double ro;//parametro de la funcion de utilidad

int valoracion;//valoracion del objeto a subastar.

int ofertaInf; //minima oferta aceptada

int sinHistoria;//numero de jugadore sin historia

Vector psi;

double calentamiento=1;

int MemCall=10;

/**

* Constructora

*/

public PSENegociador()

{

}

/**

* Cambia de formato la historia. Pasa de vector de vectores a vector de arreglo int

* @param hist

*/

public void establecerHistoria(Vector his t)

{

int i,j;

int temp1;

int temp[]=temp=new int[5];

this.historia=new Vector(hist.size());

this.sinHistoria=0;

for(i=0;i<hist.size();i++)

{

temp=new int[((Vector)hist.get(i)).size()];

for(j=0;j<((Vector)hist.get(i)).size();j++)

{

temp[j]=((Integer)((Vector)hist.get(i)).get(j)).intValue();

}

if(j==0)

{

Page 177: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

168

temp=new int[1];

temp[0]=this.ofertaInf;//hay que dar

sinHistoria++;

}

this.historia.add(temp);

}

}

/**

* Retorna la oferta a realizar dada una historia

* @param historia

* @return int

*/

public int generarOferta(Vector historia)

{

Vector phi;//(frecuencia,accion)

Vector ve;//vector con las tuplas optimas para cada

Vector veFre;//vector con las frecuencias para las tuplas selecciondas

//Primer paso

//Generar los elementos psi , phy

psi=this.darPsi();

phi=this.darPhi();

ve=new Vector();

veFre=new Vector();

int k;//iteracion del algoritmo

for(k=0;!this.criterioParada(historia,psi,k);k++)

{

//Segundo paso

//tomar el primer elemento de psi

int psi1[] = new int[2];

psi1=(int[])psi.get(k);//obtener la maxima accion para la iteracion k

//Tercer Paso

//seleccionar las otras acciones segun criterio

int i;

int[] tupla=new int[historia.size()];

double[] frec=new double[historia.size()];

for(i=0;i< historia.size();i++)

{

if(i!=psi1[1])//no se t iene en cuenta el jugador con la accion psi1

{

//obtiene la accion que cumpla con la condicion impuesta por el paso

//tres del algoritmo

tupla[i]=this.darAccion(phi,psi,i,k);

frec[i]=this.darFrecAccion(phi,psi,i,k) ;//frecuencia de las accion para i

}

else

{

tupla[i]=psi1[0];

frec[i]=this.darFrecAccion(phi,psi,i,0);

}

}

ve.add(tupla);

Page 178: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

169

veFre.add(frec) ;

}

//paso 5

//determinar cual de todas las tuplas es la optima

int[] temp = new int[historia.size()];

int posOptimo=0;

for(k=1;k<ve.size();k++)

{

temp=(int[])ve.get(k);

if(this.evaluarUtilidad(temp,(double[])veFre.get(k))>this.evaluarUtilidad((int[])ve.get(posOptimo),(do

uble[])veFre.get(posOptimo)))

{

posOptimo=k;

}

}

int maximaAccion=this.maximo((int[])ve.get(posOptimo));

if(maximaAccion > this.valoracion)

maximaAccion=this.valoracion;

else if(maximaAccion<this.ofertaInf)

maximaAccion=this.ofertaInf;

else

maximaAccion++;

return maximaAccion;

}

/**

* retorna el elemento maximo de una tupla

* @param tupla

* @return int

*/

private int maximo(int tupla[])

{

int i=0;

int maximo=0;

if(tupla.length>0)

maximo=tupla[0];

for(i=1;i<tupla.length; i++)

{

if(tupla[i]>maximo)

maximo=tupla[i];

}

return maximo;

}

/**

* Retorna la utilidad dad una tupla de acciones

* @param tupla

* @return utilidad

*/

private double evaluarUtilidad(int tupla[],double frec[])

{

int i;

double utilidad=0;

Page 179: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

170

if(tupla.length>0)

{

int max=this.maximo(tupla);

if(this.valoracion-max>0)

utilidad=(double)this.ro*Math.pow((double)this.valoracion-(double)this.maximo(tupla),this.ro);

else

utilidad=0;

}

for(i=0;i<frec.length ;i++)

{

utilidad*=(double)frec[i];

}

return utilidad;

}

/**

* Verifica si se cumple con el criterio de parada especificado en el paso cuatro

* del algoritmo para generar ofertas

* @param historia

* @param psi

* @param k iteracion del algoritmo

* @return

*/

private boolean criterioParada(Vector historia,Vector psi,int k)

{

int i;

boolean parar=false;

int numAccion[]=new int[historia.size()];

int temp[]=new int[2];

//si a partir dedd la sddecuecia k no hay mas acciones para algun jugador

//se debe parar.

for (i=k;i<psi.size();i++)

{

temp=(int[])psi.get(i);

//aumentar en num de acciones para el jugador que utiliza psi(i)

numAccion[temp[1]]++;

}

for(i=0;i<historia.size() ;i++)

{

if(numAccion[i]==0)

{

parar =true;

}

}

return parar;

}

/**

* obtiene la accion que cumpla con la condicion impuesta por el paso tres

* del algoritmo

* @param phi

* @param psi

* @param i posicion del jugador

* @param k iteracion del algoritmo

* @return int accion

*/

Page 180: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

171

private int darAccion(Vector phi,Vector psi,int i,int k)

{

int j;

int temp;

int resultado=0;

double temp2[][]=null;

boolean centinela=true;

double a=((double[][])phi.get(i)).length ;

for(j=0;j<a && centinela;j++)

{

temp2=new double[((double[][])phi.get(i)).length][2];

temp2=(double[][])phi.get(i);

temp=(int)temp2[j][1];

if(!this.esta((int)temp,psi,k,i))//no ha sido seleccionada, ya la encontre!

centinela=false;

}

//retornar la accion asociada a la frecuencia

return (int)temp2[j-1][1];

}

/**

* Retorna true si elem ha sido eliminado de psi para el jugador i en una de

* las k iteraciones pasadas

* @param elem elemento a buscar

* @param psi

* @param k iteracion del algoritmo

* @param i jugador

* @return

*/

private boolean esta(int elem, Vector psi, int k, int i)

{

int l;

boolean resultado=false;

int temp[]=new int[2];

for(l=0;l<=k && !resultado;l++)

{

temp =(int[])psi.get(l) ;

if(temp[1]==i && temp[0]==elem )//es el jugador i

resultado=true;

}

return resultado;

}

/**

* obtiene las frecuencias de las acciones que cumplan con la condicion impuesta por el paso tres

* @param phi

* @param psi

* @param i

* @param k

* @return

*/

private double darFrecAccion(Vector phi,Vector psi,int i,int k)

{

int j;

int temp;

int resultado=0;

Page 181: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

172

double temp2[][]=null;

boolean centinela=true;

for(j=0;j<((double[][])phi.get(i)).length && centinela;j++)

{

temp2=new double[((double[][])phi.get(i)).length/2][2];

temp2=(double[][])phi.get(i);

temp=(int)temp2[j][1];

if(!this.esta((int)temp,psi,k,i))//no ha sido seleccionada, ya la encontre!

centinela=false;

}

//retornar la frecuencia

return temp2[j-1][0];

}

/**

* Retorna un vector donde cada elemento es un arreglo de doubles de las frecuencias

* ordenadas descendentemente para cada jugador

* @return Vector

*/

public Vector darPhi()

{

Vector Phi=new Vector();

int i,j;

double frecuencia[][]=null;

for(i=0;i<this.historia.size() ;i++)

{

frecuencia=new double[((int[])this.historia.get(i)).length][2];

for(j=Math.max(this.historia.size()-MemCall,0);j<((int[])this.historia.get(i)).length ;j++)

{

if(((int[])this.historia.get(i)).length==0)

{//no hay historia de ese jugador

frecuencia=new double[1][2];

frecuencia[0][0]=1;

frecuencia[1][1]=this.ofertaInf;

}

else

{

frecuencia[j][0]=(double)contarOcurrencia((int[])this.historia.get(i),((int[])this.historia.get(i))[j])/(doub

le)frecuencia.length;

frecuencia[j][1]=(double)((int[])this.historia.get(i))[j];

}

}

frecuencia=ordenarFrecuencias(frecuencia);

Phi.add(frecuencia);

}

return Phi;

}

/**

* Cuenta las ocurrencias de elem en vector

* @param vector

* @param elem

* @return

Page 182: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

173

*/

private int contarOcurrencia(int vector[],int elem)

{

int i;

int numocurr=0;

for (i=Math.max(vector.length-MemCall,0); i<vector.length; i++)

{

if(vector[i]==elem)

numocurr++;

}

return numocurr;

}

/**

* Ordena el vector de acuerdo al parametro 0

* @param frecuencias

* @return

*/

private double[][] ordenarFrecuencias(double frecuencias[][])

{

int j,i;

double hold[]=new double[2];

double resultados[][]=new double[frecuencias.length][2];

int tam=(frecuencias.length);

for(i=0;i<tam;i++)

{

for(j=0;j<tam-1;j++)

{

if(frecuencias[j][0]<frecuencias[j+1][0])

{

hold[0]=frecuencias[j][0];

hold[1]=frecuencias[j][1];

frecuencias[j][0]=frecuencias[j+1][0];

frecuencias[j][1]=frecuencias[j+1][1];

frecuencias[j+1][0]=hold[0];

frecuencias[j+1][1]=hold[1];

}

}

}

int k=0;

for(i=0;i<tam;i++)

{

if(i<tam-1 && frecuencias[i][1]==frecuencias[i+1][1])

{

}

else

{

resultados[k][0]=frecuencias[i][0];

resultados[k][1]=frecuencias[i][1];

k++;

}

}

return resultados;

}

/**

Page 183: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

174

* Retorna un vector con las acciones de la hisotria ordenadas descendentemente

* Cada elemento del vector es un arreglo de enteros donde el primer elemento

* es la accion y el segundo es el numero(posicion en el vector historia) del

* jugador a quien pertenece dicha oferta

* @return Vector

*/

public Vector darPsi()

{

Vector Psi = new Vector();

int i,j,k;

int tam=0;

for(i=0;i<this.historia.size();i++)

{

if(MemCall-((int[])historia.get(i)).length > 0)

tam+=((int[])historia.get(i)).length;

else

tam+=MemCall;

}

int temp[][]=new int[tam][2];

int hold[]=new int[2];

int elem[]=new int[2];

k=0;

for(i=0;i<this.historia.size();i++)

{

for(j=Math.max(((int[])historia.get(i)).length-MemCall,0);j<((int[])historia.get(i)).length;j++)

{

temp[k][0]=((int[])historia.get(i))[j];

temp[k][1]=i;

k++;

}

}

//ordenar el arreglo

for(j=0;j<tam;j++)

{

for(i=0;i<tam-1;i++)

{

if(temp[i][0]<temp[i+1][0])

{

hold[0]=temp[i][0];

hold[1]=temp[i][1];

temp[i][0]=temp[i+1][0];

temp[i][1]=temp[i+1][1];

temp[i+1][0]=hold[0];

temp[i+1][1]=hold[1];

}

}

}

for(i=0;i<tam;i++)

{

elem=new int[2];

if(i<tam-1 && temp[i][0]==temp[i+1][0] && temp[i][1]==temp[i+1][1])

{

//no lo agrego

Page 184: MERCADO INTELIGENTE ALAN AGUIA AGUDELO DIEGO ANDRES …

ISC-2002-2-1

175

}

else

{

elem[0]=temp[i][0];

elem[1]=temp[i][1];

Psi.add(elem);

}

}

return Psi;

}

/**

* calcula el promedio de las ofertas en la historia

* @return double promedio

*/

double calcularPromedio()

{

int i=0;

double promedio=0;

double temp;

for(;i<this.psi.size() ;i++)

{

temp=((int[])this.psi.get(i))[0] ;

promedio=promedio+temp;

}

if(this.psi.size() >0)

promedio=promedio/psi.size();

return promedio;

}

int[] calcuclarLimites(int oferta,double promedio)

{

double utilSup, utilInf;

int lim[]=new int[2];

int limInf,limSup;

double porcentage=5;

if(oferta<promedio)

{

lim[0]=oferta;

lim[1]=(int)((this.valoracion-promedio)*(1-ro)+promedio);

}

else

{

lim[1]=oferta;

if(promedio-(promedio)*(0.2)<this.ofertaInf)

{

lim[0]=this.ofertaInf ;

}

else

{

lim[0]=(int)(promedio*0.8);

}

}

return lim;