Вы находитесь на странице: 1из 4

INTRODUCCIÓN

Este trabajo está basado en el análisis del problema 8 Puzzle y su desarrollo de su resolución
por medio del algoritmo A*.
El objetivo del rompecabezas es que desde un estado inicial como una posible configuración,
logre llegar a un estado objetivo establecido. Luego se desordenan las fichas donde la
idea básica es mover las casillas para lograr organizarlas de nuevo.
Este es un problema clásico que permite tratar por medio de búsquedas de Anchura y
comparando este método con A*, e implementando “Distancia Manhattan”. Para que se
alcance las soluciones al problema planteado, creemos importe mostrar cómo sería el caso
si la solución fuese abordada por un algoritmo heurístico dado que ellos considerar no solo
la solución sino la que tiene menos coste o es considerada más efectiva.
DEFINICIÓN DEL PROBLEMA

1 PARTE: Representación de problemas en el espacio de estados

 Desarrollo de conceptos cómo descripción de la estrategia para tratar el problema y


llegar a una solución.
 Estado, una viable configuración de un problema. Se debe definir estado y también
considerar los Espacios de Estados.
 Inicial
 Final (objetivo)
 Operadores de Cambios de Estados
 Arriba: ^
 Abajo: v
 Derecha: >
 Izquierda: <

El siguiente diagrama explica los Estados (inicial y objetivo) como también los Espacios de
Estados como posibles configuraciones.
Con esto explicaremos el problema presentado, para ir desde un estado inicial:
(1, 2, 3)
(0, 5, 6)
(4, 7, 8)
El cual usaremos para explicar la solución que nos llevara al objetivo:
(1, 2, 3)
(4, 5, 6)
(7, 8, 0).

ESTADO INICIAL ESTADO FINAL


2. PARTE: Implementación de los Algoritmos de búsqueda en el espacio de estados.

Solución del Problema, secuencia operadores de inicial a objetivo.

· Búsqueda Heurística (búsqueda informada)

Este tipo de búsqueda estima el costo de colocar cada casilla o numeró que se encuentre fuera
de lugar en su lugar o estado objetivo respecto de su estado inicial. En el caso de este trabajo
se conoce como Estado Inicial a (1, 2, 3), (0, 5, 6), (4, 7, 8) y Estado Final a (1, 2, 3), (4, 5,
6), (7, 8, 0) del Puzzle 8.

Estado Final

Por lo cual los elementos fuera de lugar son 4, 7 y 8. Estas tres casillas o números necesitan
de un solo movimiento de lugar para estar en la posición objetivo, por lo que la heurística
calcula un costo de 3.

En general, los métodos heurísticos (búsquedas informadas) son preferibles a los métodos no
informados, en la solución de problemas difíciles para los que una búsqueda exhaustiva
necesitaría un tiempo demasiado grande.

En problemas de complejidad pequeña, esto definido, como un número reducido de


movimientos para resolver el problema, la heurística más eficaz es la de Manhattan, ya que
es capaz de resolverlo con el menor consumo de memoria al utilizar menos nodos.

3 PARTE: Experimentación con los algoritmos implementados

Para desarrollar una solución al puzle 8, se analizaron 2 tipos de búsquedas, anchura y


heurística y se determinó que la mejor forma de construir este proyecto es utilizar la heurística
de Manhattan. Esto significa, que hay que profundizar másg sobre este concepto para escribir
el código java capaz de ejecutarlo correctamente.
El programa contempla varios pasos preliminares, partiendo con la definición del estado final
(1, 2, 3, 4, 5, 6, 7, 8, 0). Luego el programa genera aleatoriamente un estado inicial. A partir
de estas dos definiciones, el programa las almacena en una estructura de datos simple, una
matriz de 3x3 para cada estado. Al utilizar las técnicas de expansión, se utiliza una estructura
de matriz de tres dimensiones, para almacenar cada una de las posibles expansiones.
El cuerpo principal del programa itera consultando si el estado actual es igual al final, de ser
así, el programa termina, de lo contrario, ejecuta la expansión y aplica la heurística
mencionada para cada expansión. Con estos datos el programa determina cuál es la expansión
de menor coste y asigna esta como nuevo estado actual y vuelve a iterar.
Finalmente los datos son desplegados en una ventana que muestra los mivimientos desde el
estado inicial al final (ver código fuente).

Conclusión

Como resultado a la propuesta establecida al estado final, como mejor solución se aplica
heurística Manhattan, donde la capacidad de llegar al estado final, mediante un estado inicial
aleatorio demuestra que se aplica correctamente este método.

Al término del desarrollo nos permitió investigar, entender y aplicar nuevos métodos en la
programación de soluciones, en particular resolución de problemas de complejidad
catalogada como alta. Permitiendo así, descubrir que muchos algoritmos y heurística tienen
una sustentación matemática que permite obtener una solución óptima.
Otra conclusión importante es establecer la diferencia de “inteligencia” entre los algoritmos
mencionados, dado que; tanto el de anchura como el de profundidad recorren todas las
posibles expansiones hasta dar con el estado final ó resultado. Sin embargo, el algoritmo que
aplica heurística de Manhattan introduce un elemento diferenciador porque aporta
conocimiento del problema ayudando a la resolución del mismo.
Todo este estudio nos permitió abrir nuestras posibilidades para encontrar distintas formas
de resolver situaciones complejas en nuestro mundo laboral.

Вам также может понравиться