practica #4

12

Click here to load reader

Upload: luceroirg

Post on 09-Jul-2015

147 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Practica #4

Laboratorio de Sistemas Adaptativos

Martes – M4.M5

Angel Rodolfo Reyna Acevedo 1459652Lucía Guadalupe Moyeda Cornejo 1145154

Adrian Vega Magaña 1497896Lucero Itzel Ramos García 1491994

Page 2: Practica #4

El tema elegido fue Contract Net, el cual es un protocolo de reparto de tareas en sistemas multiagente , y consiste en una colección de agentes que forman la red de contrato.

Page 3: Practica #4

Con esta práctica se planea lograr un sistema multiagente, que logre hacer ventas de artículos electrónicos, con ayuda de un agente comercial que enlazara al comprador con el vendedor de mejor opción.

Page 4: Practica #4

Se eligió este tema porque es el que, podría decirse, tiene mas grande área de utilidad, se puede utilizar en muchos casos, y además es un tema que vimos un ejemplo en clase, el cual sirvió de manera útil para entender el concepto.

Se usara el software de apoyo MadKit, esto es porque es mas fácil de utilizar y probar.

Page 5: Practica #4

Este sistema multiagente consta de tres clases, el comprador, el vendedor, y el agente comercial que enlaza los dos anteriores. Entre ellos se mandaran mensajes con la información de que objeto están buscando o están interesados, en este caso, aparatos electrónicos. Cada clase se divide en grupo, es decir que hay grupos de agentes.

En los compradores, solo habrá tres en pantalla, hasta que se vaya uno, aparecerá el siguiente. Los agentes comerciales son estáticos, nunca desaparecen y siempre son tres. Los vendedores son siete, pero el objeto que venden es aleatorio cada que se corre el sistema, estos vendedores no se regeneran, si se elimina a uno, no saldrá otro.

Page 6: Practica #4

El problema consta en que el comprador le dice al agente que es lo que busca, y este le manda la oferta a los vendedores, y de entre ellos elige al mejor para el comprador, y así se genera la compra. Al comprar algo, el comprador se va. La mayor parte del sistema esta basado en tiempo, se usan pausas para generar tiempos de compras en milisegundos, y así se identifican entre ellos.

Page 7: Practica #4

Se verán unas capturas de pantalla con secciones claves del código.

Aquí se puede ver donde se crean los grupos y además se declaran los nombres de los artículos disponibles.

El Broker es el agente comercial.

Page 8: Practica #4

Aquí es donde se mandan las ofertas a la función para seleccionar la mejor. Se manda un mensaje para avisar sobre una oferta interesante, y se muestra si el vendedor esta listo.

Page 9: Practica #4

Esta es la función donde elige la mejor oferta, a ésta le llegan las ofertas realizadas por los compradores al agente comercial, o Broker. Se realiza un for que verifica todas las ofertas que llegaron y se compara el contenido de las ofertas para buscar la mejor.

Page 10: Practica #4

Esta es la función de cuando se es seleccionado un vendedor, el cual parpadeara en amarillo para ver la actividad, y mostrara un mensaje de que fue seleccionado.

La funcion main

Page 11: Practica #4

Al final, el resultado quedo bien, funciona de forma comprensible, y hace lo que debe hacer. Una de los aspectos que se deben mencionar es que, si por alguna razón, al generarse los Vendedores, no aparece ninguno de algún objeto, este objeto no se podrá vender, y el comprador que lo busque jamás se ira, siempre estará en pantalla, intentando comprar. El sistema no tiene fin, los compradores pueden seguir apareciendo, con tal de que no falte ningún vendedor de algún objeto como antes mencionado. O a menos que se mate a los agentes comerciales, también.

Page 12: Practica #4

En general, resultó complicado, tuvimos que investigar desde cero, empezar a generar ideas, y buscar tutoriales sobre sistemas multiagentes, tutoriales de Madkit, e irlos probando. Cabe mencionar que se intento utilizar JADE pero no dio buen resultado, era inestable y de vez en cuando no corría, así que se decidió probar con MadKit y resulto una mejor opción.

Durante esta practica se aprendió mas a fondo los sistemas multiagente, el contract net, y el uso del Madkit.