1. Fundamentos de Inteligencia Artificial
Búsquedas Heuristicas
David Chimbo José Coronel
Universidad de Cuenca
9 de noviembre de 2014
2. Búsquedas Heurísticas
Contenido
1 Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
3. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Contenido
1 Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
4. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsquedas Heurísticas
Introducción
Para la resolución de un problema, se recomienda realizar las 4
operaciones siguientes:
Comprender el problema
Planeamiento (Escoger y decidir las operaciones a
efectuar)
Resolución (Ejecutar en detalle cada operación)
Revisión (Analizar la solución)
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
5. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsquedas Heurísticas
Introducción
El objetivo de los métodos de búsqueda heurística es
reducir el número de estados a generar durante la
búsqueda.
Estos métodos no eliminan estados u operadores, sino que
intentan mejorar el coste del camino a una meta.
Utilizan en su estrategia de control las funciones de
evaluación heurística, que llamaremos fev.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
6. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsquedas Heurísticas
Introducción
El valor calculado por una fev, que estima lo bueno que es
el estado para llegar a la meta teniendo en cuenta todas
las restricciones, va a ser mejor que el calculado por todas
las fev que estimen lo mismo, pero cumpliendo solo
algunas de estas restricciones.
Cuanto más simple sea el modelo, menor coste tendrá la
fev, ya que esta es más simple, pero, en contraparte,
también dirigirá peor la búsqueda.
Una fev, en algunas ocasiones, puede ser demasiado
simple para estimar la distancia a la meta.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
7. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Clasificación Búsquedas
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
8. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Contenido
1 Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
9. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Métodos
Métodos
La diferencia entre estas estrategias y las Búsquedas a
ciegas, está en que, para dirigir la búsqueda, se define una
fev que calcula cual es el estado más prometedor de los
abiertos para llegar a la meta.
Cuanto mayor sea la calidad de la fev, menor será el grafo
de búsqueda explícito.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
10. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Métodos
Métodos
Las estrategias heurísticas de búsqueda clásicas son:
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Búsqueda A*
Búsqueda Avara (Greedy Search)
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
11. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Contenido
1 Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
12. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Definición
El nombre de este método viene precisamente de su
similitud con la escalada de una montaña: la meta es la
cima y en cada paso lo que hacemos es ascender unos
metros, no pudiendo retroceder en el camino.
Básicamente, consiste de una búsqueda en profundidad
guiada por una fev.
Se puede fijar un límite de exploración.
Es un método de búsqueda sin vuelta atrás.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
13. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Características
Usa una técnica de mejoramiento iterativo
Comienza a partir de un punto (punto actual) en el espacio
de búsqueda
Si el nuevo punto es mejor, se transforma en el punto
actual, si no, otro punto vecino es seleccionado y evaluado
El método termina cuando no hay mejorías, o cuando se
alcanza un número predefinido de iteraciones
El algoritmo de ascenso a la colina no contempla la ruta
sino que tiene como función principal encontrar una
respuesta o un estado final.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
14. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Escalada Simple
Dirigirse siempre a un estado mejor que el actual.
Función Heurística de proximidad.
No se mantiene reporte de los estados anteriores.
Es un método local, sus movimientos están determinados
por ser mejores que los previos.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
15. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Escalada Simple - Algoritmo
Denominar m al estado inicial y evaluarlo.
Si es estado objetivo, entonces devolverlo y terminar, si no,
convertirlo en estado actual.
Asignar m a una variable llamada elegido.
Repetir hasta que se encuentre solución o hasta que una
iteración completa no produzca un cambio en el estado
actual:
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
16. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Escalada Simple - Algoritmo
Expandir m. Para ello:
1 Aplicar cualquier operador aplicable al estado actual
m y obtener un nuevo estado Ei.
2 Evaluar Ei:
3 Si Ei es estado objetivo, devolverlo y terminar.
4 Si Ei no es estado objetivo no es así, evaluar si Ei es
mejor que el estado actual: (H(Ei)>H(elegido)), en
cuyo caso hacer m=Ei.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
17. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Escalada por Máxima Pendiente
Buscar no solamente un estado mejor que el actual, sino el
mejor de todos los estados posibles (Máxima Pendiente).
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
18. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Escalada por Máxima Pendiente - Algoritmo
Denominar m al estado inicial y evaluarlo.
Si es estado objetivo, entonces devolverlo y terminar, si no,
convertirlo en estado actual.
Asignar m a una variable llamada elegido.
Repetir hasta que se encuentre solución o hasta que una
iteración completa no produzca un cambio en el estado
actual:
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
19. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Escalada por Máxima Pendiente - Algoritmo
Expandir m creando el conjunto de todos sus sucesores.
1 Aplicar cada operador aplicable al estado actual m y
conseguir nuevos estados E1, ... En.
2 Evaluar E1 .... En. Si alguno es objetivo, devolverlo y
terminar Si no es así, seleccionar el mejor H(Em).
3 Si el mejor estado Em es mejor que el estado actual,
hacer que Em sea el estado actual. Volver al paso 2.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
20. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Desventajas
El proceso de búsqueda puede no encontrar una solución cuando se
encuentra con:
Máximo local: un estado que es mejor que todos sus vecinos, pero no
es mejor que otros estados de otros lugares. Puesto que todos los
estados vecinos son peores el proceso se queda paralizado.
Meseta: los estados vecinos tienen el mismo valor. El proceso, basado
en comparación local, no discrimina la mejor dirección
Soluciones parciales: Almacenar la traza para poder ir hacia atrás,
hasta un estado "prometedor"
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
21. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Aplicaciones
Se aplica en problemas en los que los espacios de estados
son muy grandes.
También es de aplicación a problemas en los que los
operadores cumplan la conmutatividad (estos problemas
siempre se resuelven, son completos).
Ejemplos típicos de este métodos los tenemos en la teoría
de grafos (algoritmos de Kruscal y Djikstra -minimizar el
coste-) y la planificación de tareas (minimizar coste de
tiempo).
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
22. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Análisis Algoritmo
Completo: Tiene una gran dependencia respecto de la fev;
si está informada, se encuentra la solución antes de llegar
a profundidad dada, si es que existe; excepto los
problemas que permitan la conmutatividad de operadores,
no es completo.
Óptimo: Aún cuando la fev sea la adecuada y encuentre
una solución, es posible que no encuentre la solución de
menor coste (en un momento dado puede desechar el
camino a la solución óptima).
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
23. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Analisis Algoritmo
Complejidad temporal: En cada nivel solo se va a
expandir un estado, luego la complejidad está en O(pn) 24 .
Complejidad espacial: Al solo requerir almacenar el nodo
a expandir, esta es O(1).
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
24. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Ejemplo
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
25. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Datos del Ejemplo
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
26. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 1
Se tiene a S0 como nodo inicial y a S1, S4, S5 y S6 como los nodos
directamente conectados a el.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
27. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 2
Se expanden los nodos directamente conectados a SO. En este caso
se tienen a S1, S4, S5 y S6. Se evalúa cual es la mejor ruta a seguir
basado en el valor de la función heurística.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
28. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 3
Se descarta el recorrido anterior y se toma S1 como el nuevo nodo
actual. Se expanden los nodos directamente conectados a S1. S2
esta directamente conectado a S1.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
29. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 4
Se descarta S1 y S2 se convierte en el nuevo nodo actual. Se
expanden los nodos conectados a S2. En este caso S3.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
30. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 5
Se descarta S2 para convertir a S3 en el nodo actual. Se colocan S8
ya que es el nodo que esta directamente conectado con S3. S8 tiene
valor de 0 para la función heurística así que consideramos una meta.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
31. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 6
Al llegar a S8 se descarta todo el recorrido y solo queda el mismo
como resultado final de la aplicación del algoritmo. S8 es la solución.
Camino Solución: S0 - S1 - S2 - S3 - S8
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
32. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Método del gradiente (Ascenso a la colina)
Conclusiones del Ejemplo
El algoritmo de ascenso a la colina no contempla la ruta sino que
tiene como función principal encontrar una respuesta o un estado
final.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
33. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Contenido
1 Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
34. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsqueda primero el mejor
Definición
Primero el mejor es una búsqueda que combina las
ventajas de los métodos de búsqueda en amplitud y en
profundidad.
Este es un caso en el cual se selecciona un nodo para la
expansión basada en una función de evaluación f(n).
Esta función de evaluación devuelve un número que sirve
para representar lo deseable o indeseable que sería la
expansión de un nodo.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
35. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsqueda primero el mejor
Definición
Hay una familia entera de algoritmos de Búsqueda Primero
el Mejor con funciones de evaluación diferentes. Un
componente clave de estos algoritmos es una función
heurística, denotada h(n).
h(n) = coste estimado del camino más barato desde el
nodo n a un nodo objetivo.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
36. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsqueda primero el mejor
Características
Este algoritmo soluciona el problema de los mínimos
locales y de las mesetas.
Si se llega a una de estas situaciones se permite que se
continúe con la búsqueda, y como no se permite la
repetición de estados (ausencia de bucles), finalmente
saldrá de ellas.
En el mínimo local se permite seguir por el camino más
prometedor siguiente y en las mesetas se sale después de
generar todos los estados de esta (esto supone un coste
importante).
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
37. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsqueda primero el mejor
Algoritmo
1 El estado inicial esta formado únicamente por el nodo
inicial.
2 Extraer el nodo inicial.
3 Se expande el nodo y se añade todos sus sucesores a la
cola. Guardar el recorrido.
4 Se evalúa cada uno de los nodos sucesores. Si algún
sucesor es la meta, entonces salir.
5 Se extrae el nodo con menor coste y se añada el recorrido.
6 Volver al paso 4.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
38. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsqueda primero el mejor
Análisis Algoritmo
Completo: Si el estado es meta, su fev es cero. Luego, por
muy larga que sea la rama, siempre encontrará otra rama
que tenga mejor fev y finalmente encontrará la meta, si
existe; por lo tanto es completo
Óptimo: No es óptimo, pues la fev solo estima la cercanía
a la meta y no se tiene en cuenta el coste del camino ya
recorrido.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
39. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Búsqueda primero el mejor
Análisis Algoritmo
Costo computacional: En el caso peor tendrá el mismo
coste que la búsqueda en profundidad, ya que la solución
podrá estar en el último estado de la última rama.
Costo espacial: Al igual que el coste computacional, en
promedio, su comportamiento puede ser mucho mejor
dependiendo de la calidad de la fev seleccionada.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
40. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Ejemplo
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
41. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Datos del Ejemplo
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
42. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 1
Se tiene como nodo inicial S0 y se observa que los nodos que están
directamente conectados con el son S1, S4, S5 y S6.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
43. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 2
Se expanden los nodos directamente conectados con S0 y se
observan sus valores para la función heurística. El nodo con menor
valor para la función heurística es S1.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
44. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 3 (1ra. Parte)
El recorrido continua por el nodo S1 y se agregan los nodos
directamente unidos a el. En este caso el único nodo directamente
conectado es S2.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
45. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 3 (2da. Parte)
Caso Hipotético
Si existiera un nodo S9 con un valor igual a 40 para la función
heurística el recorrido debería seguir por el nodo S2 debido a
que es este el que cuenta con el valor menor para la función
h(s), que es el criterio elegido para seleccionar el nodo por el
cual se continuara con el recorrido.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
46. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 4 (1ra. Parte)
Se agrega S3, que es el único nodo directamente conectado con S2.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
47. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 4 (2da. Parte)
Caso Hipotético
Si hubiese un nodo S10 conectado con S2 y el mismo tuviera
un valor igual a 5 para la función h(s) el recorrido debería seguir
por S10. Como se menciono anteriormente, este es un caso
hipotético.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
48. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 5
Se agregan los nodos conectados directamente con S3. En este
caso solo existe uno el cual es S8. Se puede observar que el valor
para la función heurística h(s) para S8 es 0. S8 es un estado meta.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
49. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 6
Se anota el camino solución analizando el recorrido hecho por el
algoritmo. Al sumar los valores del coste de los recorridos entre los
nodos se puede conocer cual es la distancia que existen entre los
mismos. En este caso la suma seria 10 + 100 + 25 + 5 = 140.
Camino Solución: S0 - S1 - S2 - S3 - S8
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
50. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Conclusiones Ejemplo (1ra. Parte)
Conclusiones del Ejemplo
Se puede observar en la tabla que el nodo S7 también tiene un
valor de 0 para la función h(s).
Sin embargo el algoritmo de búsqueda primero el mejor tiene
como objetivo encontrar la mejor ruta o solución basado en el
los valores dados por una función heurística que se aplica a
cada nodo del recorrido y en este caso esa respuesta esta dada
por el camino que lleva hacia el nodo S8.
A diferencia de los algoritmos de búsqueda no informada, este
algoritmo garantiza que su resultado sea el mas óptimo.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
51. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Conclusiones Ejemplo (2da. Parte)
Conclusiones del Ejemplo
El valor de una función heurística y los criterios por los cuales
se considera un valor mejor que otro dependen de cual sea el
planteamiento del problema dado y qué criterios se tengan en
cuenta para encontrar una meta.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
52. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Contenido
1 Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
53. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Definición
El algoritmo A* (A estrella o A asterisco) es un algoritmo de
búsqueda que encuentra la ruta de menor coste entre dos
puntos siempre y cuando se cumplan una serie de
condiciones.
Este algoritmo goza de una aceptable y continua
implementación gracias a su desempeño y precisión. Fue
descrito en 1968 como una extensión del algoritmo de
Dijkstra (1959), el algoritmo utiliza una función heurística
para encontrar no solo un camino sino el mas óptimo
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
54. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Características
El algoritmo es una combinación entre búsquedas del tipo
primero en anchura con primero en profundidad: mientras
que h?(n) tiende a primero en profundidad, g(n) tiende a
primero en anchura.
De este modo, se cambia de camino de búsqueda cada
vez que existen nodos más prometedores.
Utilizando una función heurística, se trata de métodos
exploratorios durante la resolución del problema en el cual
la solución se descubre por la evaluación del progreso
logrado en la búsqueda de un resultado final
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
55. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Representación
La representación es la siguiente:
f(n)=g(n) + h(n).
g(n) es la distancia total que se toma de ir de la posición
inicial a la posición actual.
h(n) es la distancia estimada desde la posición inicial a la
posición de destino de final, en este caso se usa una
función heurística para calcular el valor estimado.
El Resultado final f(n) es la suma de g(n) y h(n), y es el
valor calculado más corto.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
56. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Componentes del Algoritmo
Un nodo o punto inicial
Un nodo final que representa el final del algoritmo
Un método para identificar los nodos: traspasables y sólidos
Un método para determinar el costo directo (g) de moverse entre los
nodos
Un método para determinar el costo indirecto (h) identificado como
posibles movimientos, pero aún no han sido evaluados
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
57. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Componentes del Algoritmo
Una lista de nodos cerrados, donde se guardarán todos los nodos
evaluados y descartados
Una forma de identificar que nodo procede a otro, para poder retornar la
cadena de los nodos
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
58. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Algoritmo
1 Si el nodo inicial es igual al nodo final, se retorna el nodo inicial como
solución
2 Si no, se adiciona el nodo inicial a la lista abierta
3 Mientras la lista abierta no esté vacía, se recorre cada nodo que haya
en la lista abierta y se toma el que tenga el costo total más bajo
4 Si el nodo obtenido es igual al nodo final, se retornan los sucesores, al
encontrado
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
59. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Algoritmo
5 Si no , se toma el nodo y se elimina de la lista abierta para guardarse en
la lista cerrada y se buscan todos los nodos adyacentes al nodo
obtenido y se adicionan a la lista abierta a menos que el nodo se
encuentre en la lista cerrada o que el nodo sea sólido
6 Si el nodo adyacente ya se encuentra en la lista abierta se verifica que
el costo sea menor, si es menor se cambian los valores de costo, sino
se ignora
7 Se vuelve al paso 3 y se repite hasta que el punto 4 sea verdadero o
que la lista abierta quede vacía
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
60. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Análisis Algoritmo
Completo: si el problema tiene una solución, este
algoritmo la encuentra siempre.
Óptimo: Si. Si f(n) es admisible, se garantiza que la
solución encontrada es la óptima (la de menor coste).
Complejidad temporal: Exponencial. Si f(n) es
consistente, se garantiza que este algoritmo es el que
menos nodos expande de todos los anteriores.
Complejidad espacial: Mantiene todos los nodos en
memoria.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
61. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Aplicaciones
Aplicativos para encontrar rutas entre de desplazamiento
entre localidades.
Minería de datos, búsqueda decomportamiento en los
datos.
Procesamiento de imágenes.
Medicina humana, software médicos,control de tumores,
problemas cancerígenos.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
62. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda A*
Aplicaciones
En la aeronavegación y transporte, el pilotaje automático,
búsquedas de rutas más próximas.
Video juegos de estrategia, camino más corto, ejemplo:
Pacman: Los fantasmas que persiguen a Pacman buscan
elcamino más corto, en lugar de aparecer en forma
aleatoria en el Mapa del Juego.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
63. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Ejemplo
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
64. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Datos del Ejemplo
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
65. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 1
Se tiene a S0 como nodo inicial y a S1, S4, S5 y S6 como los nodos
directamente conectados a el.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
66. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 2 (Parte 1)
Se agregan al recorrido los nodos directamente conectados a S0
junto con sus costes (función g(s) y con los valores de la función
heurística h(s).
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
67. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 2 (Parte 2)
Se obtienen los valores para la función f(s) sumando los valores de
g(s) y h(s) que en este caso serian: f(s1) = 30, f(s4) = 50, f(s5) = 120
y f(s6) = 130.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
68. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 3 (Parte 1)
El recorrido se continua por el nodo cuya función f(s) haya sido la
menor. En este caso es el nodo S1 con función f(s) = 30.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
69. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 3 (Parte 2)
Se agregan los nodos directamente conectados a S1. El nodo
agregado fue S2. Se evalúa la función f(s) que da como resultado
f(S2) = 120.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
70. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 4 (Parte 1)
Es necesario evaluar si existe una mejor forma de hacer el recorrido
hasta el nodo S2. para esto es necesario saber si existen otros
nodos conectados con S2, en este caso existe uno el cual es S4.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
71. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 4 (Parte 2)
Se evalúa la función f(s) para el recorrido desde S4 hasta S2
calculando la suma de g(s) + h(s). El resultado de la operación es 80
+ 20 = f(S2) = 100.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
72. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 5 (Parte 1)
Se comprueba que el recorrido entre S4 y S2 es mejor y se descarta
el recorrido de S1 a S2. Se agregan los nodos directamente
conectados a S2.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
73. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 5 (Parte 2)
Para este caso se tiene que S3 esta directamente conectado. Se
evalúa la función f(S3) que resulta tener un valor de 35.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
74. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 6 (Parte 1)
Como en el caso anterior es necesario evaluar si existen rutas
alternas para llegar a S3. Existe una ruta que va desde S5 hasta S3.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
75. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 6 (Parte 2)
Se calcula el valor para f(s) en el recorrido de S5 a S3. el resultado
es f(S3) = 30.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
76. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 7
Al existir una mejor ruta para llegar a S3 se descarta la que fue
anteriormente encontrada y se sigue la nueva ruta. Se agregan los
nodos conectados a S3 y se encuentra el nodo S8 el cual es una
meta con valor h(S8) = 8 y cuyo recorrido desde S3 da como
resultado 5 para la función f(s).
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
77. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 8
El algoritmo termina cuando se encuentra una meta. El coste total
del recorrido es de 20 + 20 + 5 = 45.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
78. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Contenido
1 Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
79. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda Avara
Definición
Denominada Greedy Search, este algoritmo es también
una estrategia deriva del método "Primero el Mejor".
Este algoritmo lo que intenta es minimizar el coste total
para alcanzar la meta.
Por lo tanto, siguiendo una estrategia avara, se expandirá
el nodo que se presuponga mas cercano al nodo final, para
minimizar así también el recorrido.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
80. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda Avara
Caracteristicas
Es una de las más sencillas estrategias, que consiste en
reducir al mínimo el costo estimado para lograr una meta.
Aunque casi siempre es posible calcular el costo
aproximado hasta la meta, es difícil hacerlo con precisión.
La función utilizada para dicho estimado del costo se llama
función heurística, simbolizada por h.
h(n) = costo estimado de la ruta más barata que une el
estado del nodo n con un estado meta h puede ser
cualquier función.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
81. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda Avara
Caracteristicas
El único requisito es que h(n) = 0 cuando n es una meta.
Tiene sus mismas deficiencias: no es óptima, es
incompleta, puede recorrer una ruta infinita.
Una buena función heurística permite disminuir
notablemente la complejidad tanto de espacio como de
tiempo.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
82. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda Avara
Algoritmo
Q <– (start) //Inicializamos la cola con el nodo inicial
while Q is not empty do
Selecciona la ruta P con el menor coste de heurística h(head(P))
de la cola Q.
if head(P) = goal then return P; //Hemos llegado a la meta
foreach vértice v de tal manera que (head(P),v)pertenece E, do
add(v,P) para la cola Q;
return FAILURE; //Nada mas que considerar
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
83. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Busqueda Avara
Análisis del Algoritmo
Su complejidad espacial es tan grande como su temporal:
O(bm), donde m es la profundidad máxima del espacio de
búsqueda.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
84. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Ejemplo
Hallar la distancia de Arad a Bucharest.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
85. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 1
Escogemos el nodo inicial Arad con h=366. Ahora analizamos los 3
caminos que parten de Arad, que son Sibiu, Timisoara y Zerind, y
escogemos Sibiu ya que contiene el menor valor con h = 253.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
86. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 2
Ahora analizamos los 4 caminos que parten de Sibiu y escogemos
Fagaras ya que contiene el menor valor con h = 178.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
87. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Paso 3
Finalmente encontramos el nodo solucion Bucharest con h = 0, a
traves del camino presentado a continuacion.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
88. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Contenido
1 Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas
89. Búsquedas Heurísticas
Introducción
Métodos
Método del gradiente (Ascenso a la colina)
Búsqueda primero el mejor
Busqueda A*
Busqueda Avara
Conclusiones
Conclusiones
Conclusiones
Las métodos de búsquedas heurísticas son mas
utilizados ya que aplican un conocimiento previo
sobre los problemas para obtener mejores resultados
en la búsqueda.
El método A* es el mas utilizado ya que brinda
mejores resultados y a partir de este, se originan
otros métodos de búsquedas heurísticas.
David Chimbo, José Coronel Universidad de Cuenca Búsquedas Heuristicas