lunes, 8 de diciembre de 2008
Practica Final - MUNDO WUMPUS
GONZALO NORIEGA LANDEROS
JUAN PADILLA PEREZ
PRACTICA DE AGENTES DELIVERATIVOS
Documento Word del proyecto
CODIGO FUENTE DEL AGENTE
Tuvimos complicaciones con la sensibilidad del sensor de luz por lo que únicamente logramos la resolución de la práctica probando con la consola. Por esto otorgamos en lugar de un video, el archivo ejecutable de la resolución del programa.
DESCARGAR ARCHIVO
martes, 2 de diciembre de 2008
LEGO NXT - Practica Laberinto
Gonzalo Noriega
Ignacio Peña
Juan Padilla
EL ROBOT
VIDEO DE LA ACTIVIDAD 4
Preguntas
Preguntas actividad 1.
¿Llegó el agente a la meta?
Sí
¿Por qué crees que haya sucedido esto?
Porque las reglas acción condición que tenía programadas fueron adecuadas para resolver el problema.
Actividad 2: Utilizando el mismo ambiente anterior, construye un agente reflexivo que tengauna memoria lo más simple posible que le permita salir del laberinto (llegar a la posición F). Una opción es que la memoria del agente contenga un contador de las veces que ha girado a la derecha.
Preguntas actividad 2:
¿Llegó el agente a la meta?
Sí
¿Cómo es la memoria del agente?
Recuerda cuando encontró una pared a la izquierda, derecha y enfrente, con lo que determina que el siguiente paso a seguir es dar un giro de 180 grados
¿Notas alguna diferencia con el agente reflexivo simple?
El tener una memoria le permite tomar decisiones más acertadas
Actividad 3: Utiliza el agente reflexivo con memoria construido en la actividad dos ypruébalo en el ambiente modificado para que el laberinto tenga la forma siguiente:
Preguntas actividad 3:
¿Llegó el agente a la meta?
Sí
Si no llegó a la meta ¿Qué le falta para eventualmente encontrar la salida?
Actividad 4: Haz las modificaciones pertinentes para que tu agente reflexivo con memoria pueda salir del laberinto anterior. Una vez que lo hayas terminado, pruébalo con el siguiente laberinto:
Preguntas actividad 4:
¿Pudo llegar el agente a la meta?
Sí
¿Qué calificación obtuvo?
9, en general, aunque bien el algoritmo de resolución podría tener un 10, la implementación del robot no es excelente ya que los recorridos no son del todo derechos y suele desviarse.
Prueba el agente cambiando la posición y la dirección iniciales y compara el desempeño cada vez.
¿Qué conclusiones obtienes de esto?
Si un agente está bien programado puede cumplir su objetivo aunque las circunstancias sean ligeramente distintas.
Reglas Condición-Acción
Las reglas que utilizamos están basadas en el algoritmo de la “mano derecha”:
Si adelante esta libre y a la derecha hay pared, avanzar hacia adelante
Si a la derecha está libre, avanzar hacia la derecha
Si tanto a la derecha como adelante hay pared guardar en memoria esto
Si está guardado en memoria y a la izquierda hay pared, dar giro de 180 grados
Si está guardado en memoria y a la izquierda no hay pared, avanzar a la izquierda
sábado, 29 de noviembre de 2008
Si el Lego se moviera asi....
Interesante solucion al laberinto
jueves, 27 de noviembre de 2008
Windows vista 64 bits
La primer aplicacion que presento complicación fue el Microsoft ROBOTICS en su simulación. Marca un error y no levanta la simulación del mudo por default. Al parecer deben buscarse algunas librerías especiales para 64 bits. Por cuestiones de tiempo decidimos intentar mejor con java.
LEJOS para java presento también una complicación pero en este caso no se busco una solución al problema e igualmente por cuestiones de tiempo, decidimos trabajar con una computadora que tuviera windows 32 bits.
Al parecer aun hay complicaciones con sistemas operativos de 64 bits pero se espera que en los próximos meses esto se vaya regularizando, a medida que vayan aumentando los usuarios de estas arquitectura.
miércoles, 1 de octubre de 2008
Practica 2 - Planeación
Practica 2. Parte 1.
EL MUNDO DE LOS BLOQUES.
Formalización.
Estado inicial: serie de bloques sobre una mesa.
Estado objetivo: bloques apilados.
OP(ACTION: Apilar(bloque),
PRECOND: brazo_libre ^ bloque_libre,
EFFECT: Levantar(bloque) ^ Mover(bloque) ^ Bajar(bloque) ^ ¬bloque_libre)
OP(ACTION: Levantar(bloque)
PRECOND: brazo_libre ^ bloque_libre
EFFECT: ¬brazo_libre)
OP(ACTION: Mover(bloque),
PRECOND: ¬brazo_libre
EFFECT:)
OP(ACTION: Bajar(bloque)
PRECOND: ¬brazo_libre
EFFECT: brazo_libre)
EL MUNDO DE SHAKEY.
ESTADO INICIAL.
Luz (habitación1, encendida).
Luz (habitacion2, apagada).
Luz (habitacion3, apagada).
Luz (habitacion4, encendida).
Caja1 (habitacion1).
Caja2 (habitacion1).
Caja3 (habitacion1).
Caja4 (habitacion1).
Shakey (estatico, sin_carga, habitacion3, encendido).
Estas son las definiciones de los estados de cada uno de los objetos envueltos en el problema según la imagen de la presentación.
Op ( Action: moverse (shakey),
Precond: shakey (estatico, sin_carga, habitacionx, encendido),
Effect: shakey(en_movimiento, sin_carga, ¬habitacionx, encendido)).
Op ( Action: mover_caja (shakey,cajax),
Precond: shakey (estatico, sin_carga, habitacionx, encendido) ˆ cajax (habitacionx),
Effect: shakey(en_movimiento, sin_carga, ¬habitacionx, encendido)).
Op ( Action: apagar (habitación x)
Precond: shakey (estatico, sin_carga, habitacionx, encendido) ˆ cajax (habitacionx) ˆ luz (habitación x, encendida)
Effect: shakey(apagar_luz , sin_carga, ¬habitacionx, encendido) ˆ luz (habitación x, apagada).
Op ( Action: apagars (shakey)
Precond: shakey (estatico, sin_carga, habitacion1, encendido) ˆ luz (habitación 1, apagada) ˆ luz (habitación 2, apagada) ˆ luz (habitación 3, apagada) ˆ luz (habitación 4, apagada)
Effect: shakey(apagar_luz , sin_carga, habitacionx, apagado).
EN COMPARACION A MI RESOLUCION.
¿En qué se parecen? ¿En qué son diferentes?
Mi solución a la del applet, se parecen la operaciones de levantar y de bajar alguna caja, pero la operación que yo definí de mover, no esta incluida ya que en las operación de bajar se especifica la posición.
¿Ventajas y desventajas de una y otra?
Las ventajas de mi solución es que quizás sea más fácil de entender lo que se desea hacer pero, es mas compleja en el momento de poner la serie de pasos para ver la solución. Y la ventaja de la propuesta en el applet es que es mas simplificado y de alguna manera es mucho mas eficiente a la hora de resolver el problema.
