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.

martes, 20 de septiembre de 2011

Avance clase Sistemas Adaptativos

Avance 
Fase 2
Proyecto Sistema de Aviones


Buenos días aquí les traemos un pequeño avance del proyecto

Actualmente contamos con solo el sistema de aeropuertos principales, esto quiere decir que contamos con los principales cuatro nodos y aun falta implementar las ciudades cercanas.

Actualmente no hemos utilizado alguna algoritmo en especifico para recorrer el grafo.
El programa o el avance muestra una pequeña pantalla donde le pide al usuario.
Por separado tenemos también una ventana si somos los operadores del aeropuerto podemos verificar y poner si otro aeropuerto o nosotros mismo poner si estamos disponibles o no.

Ventanas que se muestra:




Posteriormente al correr le programa nos muestra la cantidad de horas y en algunos casos nos muestra los lugares por donde ara escala.





Prometemos:
Calenderización



Temporada de exámenes

1-. Poner las  ciudades de los países en el grafo  y terminar el algoritmo del viajero
Integrantes con esta prioridad: Jonathan Alvarado, Alejandro Avendaño

2-. Poner adaptaciones
Integrantes con esta prioridad: Pedro Miguel , Enrique Rodriguez
Primera semana después de exámenes

Después de semana de exámenes
3-. Mejorar la interfaz para el usuario

Referencia de imágenes
http://4.bp.blogspot.com/_pMGG3_Dq3XI/S_4KjDmLvqI/AAAAAAAAAAc/p7tXyh6iqnw/s1600/jorgechvezafuturo27xi.jpg

jueves, 15 de septiembre de 2011

Lab de Sistemas Adaptativos (Grafos)

RED SOCIAL

Bienvenidos , nuestra idea para este segundo proyecto es crear un Grafo estilo red social donde los principales nodos son los que conocen a mas personas y estos mismos se conocen mutuamente, estos nodos les pusimos los nombres de lideres,
en este caso pusimos líder uno, líder dos y líder tres. Cada de estos lideres tienen a su disposición tres personas.

Como lenguaje de programación utilizamos python un lenguaje script, y también usamos la herramienta pygraph, esta librería nos permite crear grafos mas fácilmente y aplicar los diferentes tipos de algoritmos que cuenta.




Algoritmo:

El algoritmo que utilizaremos sera la minimizaron de arboles, este algoritmo reduce considerada-mente el tamaño del árbol y mejora los caminos de este mismo, esto aplicado al proyecto abría mayor comunicación entre todos los usuarios o personas.

Lo que genera el programa asta el momento:








El programa no lo acomoda de una manera mas eficiente y nos elimina una arista esto quiere decir que se optimizo un poco pero aun hay algunas fallas de código dependiendo del nodo que elegimos:


 Instrucciones para instalar la libreria de pygraph en ubuntu
Probado en la versión 11.04
Existen diferentes tipos de maneras para poder instalar esta librería de manera muy sencilla.
La primera es buscarla en el centro de software de ubuntu solo buscamos el paquete de python con el nombre de pygraph, pero les recomiendo que solo lo busquen con el nombre de "pygr" y ya le damos en instalar y eso seria todo.




También les recomiendo instalar el primer paquete de python que se muestra en la imagen.

Link de apoyo para el pygraph:  http://www.linux.ime.usp.br/~matiello/python-graph/docs/pygraph-module.html

lunes, 5 de septiembre de 2011

Avances Sistemas Adaptativos



Avances Proyecto de Sistemas Adaptativos
Aeropuertos



La idea del proyecto es crear una redes de aeropuertos de diferentes países y que en cada país tenga ciertos aeropuertos o cantidad de estos.



En cada país habrá un aeropuerto principal, ya que como en la vida real no se puede viajar de un país a otro desde cualquier aeropuerto.

Se podrá viajar de distintas maneras ya sea dentro de un mismo país o fuera de éste.

También tomaremos en cuenta las condiciones climáticas en cada país para así determinar si se puede viajar a ese país por cierta ruta o hay que tomar alguna ruta alternativa, o en ciertos casos cancelar los vuelos.
De lo que hasta el momento hemos visto en clase pensamos implementar el recorrido de grafos, en especial el del problema del viajero, ya que queremos utilizar la ruta más corta para llegar a la ciudad destino.

También le daríamos un peso a cada arista, ya que así además de saber cuál es la ruta más corta también sabríamos si es la ruta que provoca menos costo y así optimizaríamos tanto en emplear la ruta más corta como en costos.



Herramientas y Lenguajes a usar


Emacs como herramienta y java como lenguaje de programación.
La estructura en el código seria crear una serie de arreglos para cada uno de los países e ir moviéndose entre los diferentes aeropuertos que contienen por medio de punteros y nodos , al igual manera el cambio de arreglos, mediante estos mismos punteros.

Imagen:
http://yaraelena.blogspot.com/2007/05/el-problema-del-viajero.html