documentacion proyecto final inteligencia artificial

7
UNIVERSIDAD DE NAVOJOA INGENIERÍA EN SISTEMAS COMPUTACIONALES Proyecto Final Trabajo presentado en cumplimiento parcial de la clase de: Inteligencia Artificial, Teoría de Juegos. NOMBRE DEL ALUMNO: Daniel López García, Daniel Ricardo Carrada Peña. NOMBRE DEL MAESTRO: Ing. Fernando López Orozco 20 de Mayo de 2014 Navojoa, Sonora.

Upload: daniel-lopez-garcia

Post on 31-Mar-2016

245 views

Category:

Documents


1 download

DESCRIPTION

Esta es la documentación de la realización del proyecto final para la materia de Inteligencia Artificial (4to semestre), de la escuela de Ingeniería en Sistemas Computacionales, de la Universidad de Navojoa.

TRANSCRIPT

UNIVERSIDAD DE NAVOJOA INGENIERÍA EN SISTEMAS COMPUTACIONALES

Proyecto Final

Trabajo presentado en cumplimiento parcial de la clase de: Inteligencia Artificial,

Teoría de Juegos.

NOMBRE DEL ALUMNO: Daniel López García,

Daniel Ricardo Carrada Peña.

NOMBRE DEL MAESTRO:

Ing. Fernando López Orozco

20 de Mayo de 2014

Navojoa, Sonora.

Laberinto que permita la interacción con el usuario.

El proyecto que se presentará a continuación, fue presentado para la materia de Teoría de Juegos y consta de un mapa, un personaje a guiar, un destino o meta y obstáculos. Este programa está basado en la resolución de un laberinto recursivo a base de caracteres encontrado en la página www.javaya.com.ar , donde un JLabel con valor 0 indica camino libre, 1 indica pared y 9 el recorrido.

Posterior mente se implementó un arreglo bidimensional de elementos JLabel con

proporción de 1:1, cada uno de ellos con una imagen asignada. El ícono de pasto en color verde representa el camino libre. Los bloques indican pared, zona por la que no se puede pasar o atravesar. El ícono de Mario es el personaje a guiar hacia la meta. Y el ícono de bandera indica la meta. Seguimos basándonos en JLabels, sólo que en lugar de texto utilizamos imágenes.

Botones inferiores

En la parte inferior izquierda de la interfaz se han colocado 6 elementos JButton (botones). El botón “Crear!” manda a llamar una función, la cual se encarga de armar un nuevo escenario en base a valores aleatorios. Las flechas que se tienen del lado derecho sirven para poder cambiar la posición de Mario en nuestro mapa. El botón “Estoy perdido” manda a llamar una función, que tiene como parámetro la posición actual de Mario. Esta función

(Estado del mapa antes de indicar que se está perdido)

(Estado del mapa después de indicársele que se está perdido.)

Al momento en el que se llega a la meta, en el título de la ventana aparece un mensaje que indica que el juego ha terminado, y los botones de movimiento pierden sus funciones.

Laberinto que se resuelva de manera automática.

Este proyecto fue entregado para la materia de Inteligencia Artificial. Este contiene

algunas diferencias muy notorias en diferencia con el anterior. La primera es que no es

interactivo. La segunda, es la cantidad de botones con los que se cuentan. Ahora sólo se

tienen 3.

Utilizando recursividad e Inteligencia Artificial, Mario recorre la ruta que lo lleva

hacia la meta. Teniendo en cuenta que Mario se encuentra inicialmente en la esquina

superior izquierda, y la meta en la esquina inferior derecha, el algoritmo de búsqueda que

se sigue es el siguiente: “Derecha, abajo, arriba, izquierda”.

Cuando el laberinto es sencillo para el programa, podemos obtener resultados

similares a este:

Bien se puede notar que su lógica de “prueba y error” no es tan mala. Sin embargo, cuando está cerrado el camino de forma que resulte imposible resolver el juego obtenemos una inundación de recorrido como se muestra a continuación.

Actualmente el programa se encuentra con oportunidad de mejoras. Falta afinar

algunos detalles.