Showing posts with label Actividad 1 Programación. Show all posts
Showing posts with label Actividad 1 Programación. Show all posts

Thursday, February 4, 2010

Selección del Medio Ambiente

José Iván Ferrer Ruiz, 468659
Daniel Salas Fukutake, 468938
José Alberto Ugalde del Rosal, 1161567

Actividad de Programación 1: Selección del medio ambiente

1. El medio ambiente es una superficie que cuenta con diferentes propiedades físicas, incluyendo viento y fricción en la superficie. En el centro se encuentra un pequeño bloque y aleatoriamente se selecciona un punto u objetivo. El bloque cuenta con “propulsores” simulados que apuntan desde cada uno de sus lados, consumen combustible y pueden ejercer fuerza en diferentes intensidades moviéndolo a través del medio.

2. Se utilizará como plataforma de desarrollo el lenguaje Python y los paquetes pygame y PyGTK para la creación de la interfaz gráfica. Todos funcionan correctamente sobre Linux y Windows.

3. La optimización se puede realizar al encontrar la intensidad con la que los propulsores deben ser usados de tal forma que el bloque se acerque al objetivo lo más posible dadas las condiciones del ambiente, minimizando la distancia al objetivo y el combustible usado.

4. Las características del ambiente, como el viento y la fricción de la superficie, hacen que sea incierta la forma en la que el bloque debe controlar los “propulsores” de tal forma que pueda propulsarse y frenar para ubicarse correctamente cerca del objetivo.

Thursday, January 28, 2010

Descripción del medio ambiente

Inteligencia Computacional
Grupo 1
Alejandro Morales A01161376
Jonathan Valle A01161110
Rafael Santos A01161734
26 de enero de 2010
Equipo 1 : ./42
Actividad 1
Ambiente: Cuerpo de un ser vivo (sistema inmunológico).

1. Descripción detallada del medio ambiente.
Todo se desarrolla en el momento en el que un virus, o conjunto de virus intenta infectar el cuerpo de un ser vivo. Dentro del cuerpo se encuentra un sistema inmunológico, basado en anticuerpos.
Puede haber diferentes escenarios, que involucren multiagentes reproduciéndose, o un ambiente centralizado en el que un agente controla la estrategia de todos los demás, o un solo agente que debe encontrar el camino para infectar la célula principal.
La construcción física de los escenarios dependerá de los conceptos que se deseen enfatizar con esa actividad de programación, sin embargo las bases del funcionamiento serían siempre las mismas, tal y como se describen en el párrafo anterior.
Cada tipo de agente puede tener diferentes propiedades o comportamientos, así como definir una estrategia de ataque o defensa para cada tipo de agente.

2. Plataforma en la que se programara el medio ambiente y lenguaje de programación a ser utilizado. ¿Por qué?
El desarrollo se realizará de forma local en una aplicación de escritorio. Se utilizará el lenguaje de programación: Python (2.6), combinado con GTK a través del binding de pyGTK para la interfaz gráfica.
Decidimos utilizar este lenguaje por su facilidad de uso, lo cual nos permitirá concentrarnos más en la parte de resolver los problemas y hacer los algoritmos, en lugar de lidiar con problemas sintácticos o morfológicos.
Además, algunos miembros del equipo contamos con cierta experiencia utilizando python+pygtk, lo cual facilita el proceso de desarrollo.

3.- ¿Cuáles problemas de optimización se encuentran en dicho medio?
Se puede tener un escenario en el que el virus, con un tiempo de vida establecido, necesite infectar células que se encuentran en diferentes lugares. El virus necesita optimizar su recorrido para lograr infectar el mayor número de células posibles antes de morir.
También se puede tener un escenario en el que un agente centralizado del virus necesite decidir que tipo de células debe mandar (suponiendo que hay diferentes tipos de células con diferentes tipos de propiedades) utilizando un recurso finito como que se consume de diferente manera cada vez que se crea una nueva célula. El agente centralizado necesita optimizar sus recursos para tener la mejor combinación de células para atacar.

4.- ¿Qué conocimiento con incertidumbre necesita ser representado?
Un ejemplo de ello lo encontramos en el escenario donde se libra una batalla campal entre virus y anticuerpos, ya que no se sabe exactamente el número de enemigos que aún se encuentran dentro del medio ambiente, pues este número va cambiando por las unidades que han sido eliminadas y las que se han reproducido. En este caso el equipo contrario no conoce el número exacto de enemigos, solo un estimado, y dependiendo de dicho número decidirá que estrategia utilizar.
También se puede dar el caso que el virus saben que deben infectar unas células en específico pero no saben donde están, dado que esas células también se mueven. Conforme los virus se mueven por el ambiente , deben tratar de estimar la posición de dichas células, basándose en las cosas que recopilan entre todos.

Wednesday, January 27, 2010

Selección del medio ambiente

Descripción del medio ambiente.
Un triangulo formado por números aleatorios. Cada nivel tiene uno más que el anterior. Iniciando de la punta de la pirámide y eligiendo un camino hacia abajo pasando por cualquiera de los dos números inmediatos inferiores hasta llegar al último nivel (la base del triangulo).
Plataforma y lenguaje a utilizar.
Se utilizará el lenguaje de programación C++ junto con OpenGL para la parte gráfica.
Problemas de optimización.
Encontrar el camino con la sumatoria más grande.
Conocimiento con incertidumbre a ser representado.
El camino que se deberá seguir desde la punta del triangulo a la base ya que en ese momento no se puede saber si el camino es el optimo o si existe otro mejor.