jueves, 17 de noviembre de 2011

Lab de sistemas adaptativos (Robo Cup)

Buenos días/tardes/noches

Para el entregable de laboratorio numero 4 con respecto a Robocup (Sistema Multiagentes)

Breve reseña de multiagentes:

En resumen los multiagentes, es un conjunto de múltiples agentes-inteligentes que interactuan entre ellos mismos. Estos tipos de sistemas son utilizados por lo general para problemas difíciles de resolver o imposibles para un agente común.


Para el Entregable de multiagentes se utilizara una plataforma llamada robocup, Esta plataforma es una simulación de un partido de fútbol.

Después de haber instalado la plataforma, utilizaremos un entrenador llamado atan, para el entrenamiento de los agentes y darles un poco de inteligencia.
Imagen del Campo:

Aquí se observa el campo de futbol, posteriormente se descarga el atan.jar y se guarda dentro de la carpeta donde se encuentran todos los jar de java:



Posteriormente se crea un Main para correr el equipo de atan:


Antes de iniciar la simulación, modificamos el atan de diversas maneras para darles mejor formación e inteligencia, ya que el ejemplo de atan tenia varias fallas iniciales, ya después de la modificación del atan se creo nuevamente el ata,jar y se guardo nuevamente en donde se encuentran las librerías de java.

Al correr el main  e iniciar el partido se muestra lo siguiente:


Entregable 4


Entregable 4
View more presentations from Alejandro O.

Aquí se muestra la primera interfaz del proyecto:

En esta interfaz si le damos un clic en el botón usuario nos aparecerá esta ventana de bienvenida donde pondremos el nombre del usuario y podremos elegir entre el país de origen y hacia donde queremos ir.

A las sugerencias del publico tenemos planeado una mejor interfaz de selección de los países por medio de un mapa.

Siguiente interfaz:


Aquí en esta imagen nos muestra las horas disponibles de vuelos y el total a pagar con respecto al recorrido que hará el avión y si aplica algún tipo de descuento por ser usuario frecuente, esto no lo mostrara en la terminal por el momento, planeamos mejorarlo para que nos muestre el camino que tomará el avión y llenar un registro de todos los usuarios por medio de base de datos.

Tercera interfaz (Los asientos)

En esta interfaz nos muestra los asientos, al hora de reservar un asientos nos mostrara un mono como en la clase vieron, donde mostrara que ese asiento estará ocupado y lo guardará en una base da datos, pondremos también (como nos lo sugirieron en clase) alguna referencia con respecto a las alas del avión y alguna salida de emergencia.

Adaptación:



Tenemos que un administrador elija que nodo  o Pais tiene algún problema, esto significa que no se puede utilizar para el viaje y en este caso el avión tendria que recorrer el grafo de diferente manera
Gracias a la sugerencia del publico tenemos planeado que esto sea automático con diferentes situaciones ya sea por cuestiones climatológicas decidiera en forma random que nodo eliminar o también por  saturación de vuelos.

Muestras de que funciona la parte adaptativa funciona:

Ejemplo de México a Japón sin problemas:



Ejemplo de eliminar EUA de los nodos, el recorrido es mayor y por lo tanto tiene un mayor costo.



Para el demo, planeamos mejorar la interfaz gráfica ya que tenemos  muchas ventanas y no aparecen en el centro sino que aparecen en la parte superior izquierda, además de mejorar un poco la parte adaptativa como ya se mencionó anteriormente. Estos serán los principales cambios que realizaremos para el demo.

Gracias por pasar por el blog y comentrar :)

jueves, 3 de noviembre de 2011

Reconocimiento de Patrones (Lab. Practica 3)

Nuestra practica de laboratorio trata sobrereconocer numeros, creados por el mismo usuario y reconocer los números dibujados.

Herramientas.
- Java
- OpenCV
- Python
- Shell


Instalacion de OpenCV
La manera de instalar el Opencv fue mediante el gestor de paquete synaptic

Creación de Bases
Se buscaron y crearon una colección de diferentes tipos de imagen
- Positivos
- Negativos

Cración de indices.
Se crearon archivos índices para las imágenes tanto positivas como negativas.
Lineas de comandos importantes:
opencv_createsamples
opencv_haartraining
OjectMaker

Problemas.