Comparación de Estrategias de Búsqueda Admisibles
Comparación de Estrategias de Búsqueda Admisibles
Comparación de Estrategias de Búsqueda Admisibles
1 Introducción
Para llevar a cabo el estudio se recurre al conocido problema del 8-puzzle puesto que
constituye uno de los ejemplos típicos de uso en la Inteligencia Artificial, entre otras
razones porque partiendo de un estado inicial lo que se pretende es llegar siempre a un
mismo y único estado final.
El 8-puzzle es un tablero de 3x3 que está constituido por ocho fichas numeradas (del
1 al 8) y un hueco vacío que permite llevar a cabo los movimientos de las fichas para
alcanzar el objetivo. Estos movimientos se encuentran sujetos a una serie de
restricciones que se detallarán en el capítulo siguiente.
Figura 1. Estado final
Se pretende que partiendo de un estado inicial, es decir, una situación determinada del
tablero se llegue con un número de movimientos mínimo al estado final mostrado en
la figura anterior. En cada movimiento se permite desplazar una única ficha y sólo se
autorizan aquellos realizados entre casillas que cumplan las siguientes restricciones:
3.1 Algoritmo A*
ABIERTA = (inicial);
Mientras NoVacia(ABIERTA) hacer
N = ExtraePrimero(ABIERTA);
Si EsObjetivo(n) entonces
Devuelve Camino(inicial, n) y para;
Fin si
S=Sucesores(n);
Añade S a la entrada de n en la TABLA_A;
Para cada q de S hacer
Si (q Є TABLA_A) entonces
Rectificar(q, n, Coste(n,q));
Ordenar(ABIERTA); {si es necesario}
Si no
Pone q en la TABLA_A con
Anterior(q) = n;
G(p) = g(n) + Coste(n, q);
H(q) = Heuristico(q);
ABIERTA = Mezclar(q, ABIERTA);
Fin si
Fin para
Fin mientras
Devuelve “no solucion”;
Figura 2. Algoritmo A*
La lista ABIERTA contiene los estados candidatos a ser expandidos y se encuentra
ordenada por menor valor de f, es decir, con los estados más prometedores al
principio.
Se complementa con TABLA_A que contiene para un determinado estado, su padre,
el valor de g(n) y h(n) y TABLA_G que almacena los sucesores de ese estado y sus
costes.
Una función heurística establece una medida de lo prometedor que puede ser un nodo
para ser expandido camino a la solución final. A lo largo del estudio se emplean
varios heurísticos obtenidos a través de diversos razonamientos y que por tanto
presentan comportamientos diferentes. El primero de ellos es el heurístico trivial h0
que siempre devuelve 0.
Posteriormente h1 y h2 se obtienen de manera sistemática prescindiendo de
restricciones asociadas al problema (en esta ocasión tres, presentadas en el capítulo
anterior). En el primer caso prescindiendo de todas ellas se obtiene h1 que mueve una
ficha directamente a su posición en el objetivo. Eliminando la última restricción, es
decir, que la casilla deba estar vacía se obtiene h2 llevando a la ficha al objetivo a
través de movimientos entre casillas adyacentes ortogonalmente, siempre buscando el
coste mínimo.
El heurístico h3 no proviene a priori de eliminar condiciones del problema y lo que
hace es multiplicar por dos al número de fichas que se encuentren a una distancia
ortogonal dos de su posición en el objetivo.
Tanto h1 como h2 son heurísticos son monótonos y por tanto admisibles, por ser
obtenidos a través de simplificaciones del problema (prescindiendo de condiciones).
Sin embargo h3 no es monótono pero si admisible.
Por último se considera otro heurístico en el estudio utilizado en el algoritmo Aε*
y etiquetado como h4, que devuelve el mínimo de las distancias pero penalizadas
ligeramente por si acaso se debe realizar algún movimiento adicional. Si una ficha
está a distancia 1 ó 2 devuelve ese mismo valor pero si se encuentra a distancia 3 ó 4
devuelve 4 y 6 respectivamente.
Constituyen algoritmos que sacrifican el hecho de obtener una solución óptima para
lograr mejorar el rendimiento del proceso pero sin desviarse en exceso del óptimo.
Este hecho se controla a través de ε que mide la distancia máxima al coste óptimo.
Se añade d(n) como la profundidad del nodo n y N que es una cota superior de la
profundidad de la mejor solución.
Este algoritmo a diferencia de los anteriores no modifica f sino que añade a ABIERTA
una sublista llamada FOCAL:
FOCAL = {n Є ABIERTA/ f(n) <= (1+ ε)min(f(n’), n’ Є ABIERTA)}
Esta sublista se ordena colocando los nodos más prometedores (menor valor) al
principio de acuerdo con el criterio otorgado por el heurístico h4 presentado con
anterioridad. Una vez escogido un n de FOCAL deberá de eliminarse también de la
lista ABIERTA.
El estudio experimental se divide en dos partes, una primera parte que ejecuta el
algoritmo A* con los diversos heurísticos y una segunda parte en la que se trabajan
las estrategias ε-admisibles con h2 como ya se indicó anteriormente.
(load "tabla-g.lsp")
(load "tabla-a.lsp")
(load "objetivo.lsp")
(load "fich-obj.lsp")
(load "inicial.lsp")
(load "fich-res.lsp")
(load "abierta.lsp")
(load "grafo.lsp")
(load "heuris-0.lsp")
(load "aestrela.lsp"))
(a+)
fichero del estado inicial: estadoin.lsp
fichero de resultados: …
5 Análisis de resultados
NG NE NG NE NG NE NG NE
En la segunda parte del estudio se muestran los resultados obtenidos con los
algoritmos ε-admisibles. Para ilustrar su comportamiento se ha recurrido
principalmente a los ejemplos de coste 20 ya que tras realizar las mediciones se han
erigido como los más representativos.
Las resultados obtenidos con el algoritmo de ponderación estática se resumen en
las siguientes gráficas:
Figura 7. Gráficas del algoritmo de ponderación estática para coste 20
En este caso se muestran los valores obtenidos para los problemas de coste 10
donde el valor 2 para la ε consigue resultados similares a A*. Se han ilustrado los
ejemplos relativos al coste 10 puesto que los de coste 15 mostraban unos resultados
muy pobres para ε=1 y un tiempo de ejecución excesivo para ε=2. En cuanto a los
ejemplos de coste 20 apenas se ejecutan y con resultados muy discretos (nodos
generados=1347 y expandidos=821) para ε=0.5 no alcanzando tiempos de ejecución
verificables para el resto de valores de ε. Por ello este algoritmo no se puede comparar
en las mismas condiciones con el resto de algoritmos ε-admisibles ni con A* puesto
que no es capaz de resolver en tiempo prudencial ejercicios con ciertos niveles de
dificultad.
6 Conclusiones
1. Thayer, J. T. and Ruml, W Faster than Weighted A*: An Optimistic Approach to Bounded
Suboptimal Searvh. Proceedings of the ICAPS 2008, pp.355-362.
2. J. Pearl, Heuristics: Intelligent Search Strategies for Computer Problem Solving. Reading,
MA: Addison-Wesley, 1984.
3. Apuntes Inteligencia Artificial 2008-09, Tema: “Introducción a los sistemas de búsqueda”.
4. Apuntes Inteligencia Artificial 2008-09, Tema: “Técnicas de Búsqueda heurística”.