Friday, January 30, 2009

Fase 1 - Proyecto

1. Descripción detallada del medio ambiente.

El medio ambiente de nuestro proyecto está definido por el espacio directo donde los cubos o figuras (representando los átomos). Los cubos, tienen movimientos regidos por reglas, y los movimientos son adyacentes a los demás cubos con base en su posición actual. Es importante recalcar que los cubos pueden moverse de manera diferente para generar la figura final. En eso se basa el dilema de nuestro proyecto.

2. Plataforma en la que se programara el medio ambiente y lenguaje de programación a ser utilizado.

Con el desarrollo del proyecto aún no se ha determinado el lenguaje y la plataforma en la que se hará. Sin embargo, algunos de nuestras ideas dirigen nuestra atención al lenguaje Java o Phyton.

3. ¿Cuáles problemas de optimización se encuentran en dicho medio?

El problema primordial de optimización se ve reflejado en el menor número de movimientos, dada una figura final, para realizar dicha figura a partir de un estado inicial. Esto se logrará con base en el desarrollo de la figura final

4. ¿Qué conocimiento con incertidumbre necesita ser representado?

El conocimiento con incertidumbre se ve reflejado directamente con el desconocimiento de la ruta o serie de movimientos que se tendrán que realizar para generar la figura final. Así como la incertidumbre de saber si es beneficioso o no, para llegar a la figura final, el movimiento independiente de las figuras.

Chutas: Proyecto Fase 1

Inteligencia Computacional. ¿Cuáles problemas de optimización se encuentran en dicho medio?

Los Naos al ser robots con mayores grados de libertad, existen múltiples situaciones en dónde físicamente se pueden optimizar sus movimientos. El objetivo inicial de la optimización se va a enfocar al movimiento coordinado de los motores y luego de esto se podrán optimizar lo que serían las jugadas y decisiones las cuales incluirán aspectos de la comunicación y el aprendizaje. A continuación analizamos ciertos problemas de optimización que encontramos en nuestro medio básico y que por el momento es factible su realización:

  • 1. ) Optimización del caminado del Nao.
Es necesario tener distintos rangos de la ubicación de los motores que permitan que el robot alcance una máxima velocidad sin caerse ni realizar movimientos incorrectos y bajo los parámetros deseados. Es decir si el robot tiene la bola tendrá un límite máximo establecido de velocidad, y cuando no tenga la bola este límite se expandirá permitiendo que el robot avance más rápido.

  • 2. ) Optimización de levantamiento del Nao.
De forma similar a la optimización del caminado, el levantamiento del Nao deberá utilizar un rango de valores en los motores que permita que se agrupen de tal forma que el levantamiento sea lo más rápido y correctamente posible.

  • 3. ) Optimización del tiro del Nao.
En este caso se pueden medir las diferentes posiciones en conjunto que permitan disparos más efectivos que se dirijan al arco contrario. Tomando los valores de la posición del Nao y los rangos de los motores en el disparo, podemos compararlo con el resultado de la aproximación del disparo al arco.


2. Inteligencia computacional. ¿Qué conocimiento con incertidumbre necesita ser representado?.

Cada robot necesita conocer cómo irá a reaccionar conforme su ambiente se vaya modicando; es decir, los robots no conocen qué podrá suceder al siguiente momento, pero lo que sí saben con certeza es cómo reaccionar a una situación en específico, o a un conjunto de situaciones en común.

Fase 1 - Proyecto

1. Descripción detallada del medio ambiente.

El medio ambiente de nuestro proyecto está definido por el espacio directo donde los cubos o figuras (representando los átomos). Los cubos, tienen movimientos regidos por reglas, y los movimientos son adyacentes a los demás cubos con base en su posición actual. Es importante recalcar que los cubos pueden moverse de manera diferente para generar la figura final. En eso se basa el dilema de nuestro proyecto.

2. Plataforma en la que se programara el medio ambiente y lenguaje de programación a ser utilizado.

Con el desarrollo del proyecto aún no se ha determinado el lenguaje y la plataforma en la que se hará. Sin embargo, algunos de nuestras ideas dirigen nuestra atención al lenguaje Java o Phyton.

3. ¿Cuáles problemas de optimización se encuentran en dicho medio?

El problema primordial de optimización se ve reflejado en el menor número de movimientos, dada una figura final, para realizar dicha figura a partir de un estado inicial. Esto se logrará con base en el desarrollo de la figura final

4. ¿Qué conocimiento con incertidumbre necesita ser representado?

El conocimiento con incertidumbre se ve reflejado directamente con el desconocimiento de la ruta o serie de movimientos que se tendrán que realizar para generar la figura final. Así como la incertidumbre de saber si es beneficioso o no, para llegar a la figura final, el movimiento independiente de las figuras.

Web Crawler + Applicacion Web

Un web crawler es un programa que navega de manera automática y sistemática por las páginas web, con el fin mostrar una relación entre palabras y URLs.
  1. Descripción detallada del medio ambiente.

    El Internet es un sistema global de redes interconectadas que intercambian datos.

    El ambiente en particular son lás páginas web escritas en (x)HTML y que utilizan el protocolo HTTP para transferir datos de una computadora llamada Servidor a otra llamada cliente.

  2. Plataforma en la que se programara el medio ambiente y lenguaje de programación a ser utilizado.

    Utilizaremos Python para hacer los prototipos del Web Crawler debido a que es un lenguaje que permite representar de manera sencilla los algoritmos además de contar con un gran numero de librerías y herramientas que facilitan la programación, como lo son avanzados profilers y debuggers.

    Para la aplicación tenemos pensado utilizar LAMP (Linux, Apache, MySQL y P*) para hacer la aplicación que presentara los resultados y hará las búsquedas en las bases de datos.

  3. ¿Cuáles problemas de optimización se encuentran en dicho medio?

    Maximizar la rapidez de la búsqueda de resultados de acuerdo a los criterios establecidos por el usuario. Así como minimizar el número de resultados no útiles presentados.

  4. ¿Qué conocimiento con incertidumbre necesita ser representado?

    No sabe realmente a dónde se dirigen los links ni sabe si los links funcionan o seguirán funcionando en el futuro. Además de que no se puede saber si el Web Crawler se quedará ciclado en una cierta zona de la web.

Seleccion medio ambiente - Oriam y su huerto de tomates

1. Descripción detallada del medio ambiente.

El medio ambiente será un mundo virtual en 3D diseñado por nosotros, dentro de un videojuego, el medio ambiente contará con plataformas, desniveles y una topología que será distinta en la mayor parte de sus puntos.

El juego se pretende que tenga equipos, uno será controlado por los usuarios y uno por los agentes que programemos, cada escenario contará con dos bases en los extremos del mismo en donde los personajes podrán anotar puntos.

Finalmente, el medio ambiente contara con lugares que dañaran la vida del jugador, incluso matándolo, por lo que los personajes deberán aprender de su medio. De igual manera habrá lugares inaccesibles para los personajes.


2. Plataforma en la que se programara el medio ambiente y lenguaje de programación a ser utilizado.

La plataforma que utilizaremos será la que desarrollemos y utilizaremos el lenguaje de programación C++ con las librerías de OpenGL. Estamos considerando el uso de Python, pero por el momento esa opción queda como tentativa.

3. ¿Cuáles problemas de optimización se encuentran en dicho medio?

El videojuego se enfocará en anotar puntos en cada una de las bases y cuando el rival ( agente) tenga el balón/pelota, puede comunicarse con sus compañeros y planear una ruta eficiente de pases para llegar a la zona de anotación.

4. ¿Qué conocimiento con incertidumbre necesita ser representado?

Por ser un videojuego la incertidumbre siempre estará presente, ya que los agentes no conocen el escenario por lo que conforme lo vayan explorando irán conociéndolo y formando estrategias dependiendo de su experiencia, de igual manera la posición del jugador es cambiante, y tiene que saber en qué lugares puede encontrarse o en donde buscarlo, ya sea para atacarlo o bien alejarse de él.

Monday, January 26, 2009

Instrucciones del blog

Este es el blog de Inteligencia Computacional TC3023. El objetivo es que vayan documentando su proyecto final y que vayan compartiendo con sus compañeros su trabajo.

Por favor, cuando suban una actividad, pongan en el titulo el titulo de la actividad y en la etiqueta pongan su numero de equipo y nombre. En este caso, yo estoy poniendo el titulo de "Instrucciones del blog" y la etiqueta "0-Jorge".

Si desean usar más etiquetas para clasificar mejor su contribución, por favor háganlo.

Cualquier pregunta, por favor mándenme un correo electrónico, preguntenme en clase, o simplemente den de alta un post y yo lo contesto.

Gracias.