1. BÚSQUEDA INFORMADA Y
EXPLORACIÓN
Estrategias de búsqueda informada (heurísticas)
Funciones heurísticas
Algoritmos de búsqueda local y problemas de optimización
27/03/2014FCT-UNCAIng.HéctorEstigarribia
1
INTELIGENCIA ARTIFICIAL -
UNIDAD 4:
2. Introducción - Repaso
• Estrategias de búsqueda:
• Búsqueda no informadas soluciones generando nuevos
estados y probándolos con el objetivo.
• Son muy ineficientes en la mayoría de los casos.
• Búsqueda Informada (heurísticas) usan el conocimiento
específico del problema, más allá de la definición.
• Más eficientes.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
2
3. Estrategiasde búsquedainformadas
(heurísticas): Búsquedaprimeroel mejor
Búsqueda primero el mejor:
27/03/2014FCT-UNCAIng.HéctorEstigarribia
3
Caso particular de BUSQUEDA_ARBOLES o BÚSQUEDA_GRAFOS
Selecciona un nodo para la expansión basado en una función de evaluación f(n).
Se selecciona para la expansión el nodo con la evaluación más baja.
La evaluación mide la distancia al objetivo.
Su nombre correcto debería ser “búsqueda primero el aparentemente mejor”
Función heurística h(n):
Coste estimado del camino más barato desde el nodo n al objetivo.
Por ahora la consideraremos arbitraria, específica del problema. Si un
nodo es objetivo, h(n) = 0
4. • Búsqueda voraz (avara) primero el mejor: evalúa los nodos
usando solamente la función heurística f(n) = h(n).
27/03/2014FCT-UNCAIng.HéctorEstigarribia
4
Estrategiasde búsquedainformadas
(heurísticas): Búsquedaprimeroel mejor
• Para Rumania: distancia en línea recta DLR hDLR
• Ejemplo: hDLR(En(Arad)) = 366
• Algoritmo “avaro” en cada paso procura ponerse tan cerca
del objetivo como pueda
• Parecido a “primero en profundidad”, no es óptima, es
incompleta. (Probar llegar desde Iasi a Fagaras)
8. • Búsqueda A*: minimizar el costo total de la solución
• (Búsqueda A estrella), forma más conocida de la búsqueda
primero el mejor.
• g(n) coste para alcanzar el nodo n desde el inicio
• h(n) coste de ir al nodo objetivo.
• f(n) = g(n) + h(n) coste más barato estimado de la solución a través de n
27/03/2014FCT-UNCAIng.HéctorEstigarribia
8
Estrategiasde búsquedainformadas
(heurísticas):BúsquedaA*
• Heurística admisible: h(n) no debe sobrestimar el coste de
alcanzar el objetivo, heurísticas optimistas.
• Por tanto f(n) nunca sobrestima el coste verdadero de una
solución a través de n
10. • Si C* es el coste del camino de solución óptimo:
• A* expande todos los nodos con f(n) < C*, o sea
• A* no expande ningún nodo con f(n) > C*.
• Nótese por ejemplo, Timisoara no se expande 447>418.
• El árbol debajo de Timisoara está podado.
• Poda: eliminación de posibilidades a considerar sin necesidad de
examinarlas.
• Cualquier algoritmo que no expanda todos los nodos con f(n) < C*
corre el riesgo de omitir la solución óptima.
• La búsqueda A* es completa, óptima y óptimamente eficiente.
• Problema: espacio en memoria muy grande, no práctico para
problemas grandes
27/03/2014FCT-UNCAIng.HéctorEstigarribia
10
Estrategiasde búsquedainformadas
(heurísticas):BúsquedaA*
11. • Se adapta la idea de profundizar iterativamente al
contexto de búsqueda heurística, para reducir la
exigencia de memoria de A*.
• Resultado: Algoritmo A* de profundidad iterativa A*PI.
• En cada iteración, el valor del corte es el coste más
pequeño de cualquier nodo que excedió el corte de la
iteración anterior.
• Práctico para problemas con costo unidad.
• Evita el trabajo de mantenimiento de cola ordenada.
• Sufre de los mismos problemas con costos reales que la
versión iterativa de búsqueda de costo uniforme.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
11
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada
12. • Similar a la búsqueda primero el mejor con profundidad recursiva.
• No sigue indefinidamente hacia abajo el camino actual.
• Mantiene la pista del mejor camino alternativo desde cualquier
antepasado del nodo actual.
• Si el nodo actual excede dicho límite, vuelve hacia atrás al camino
alternativo.
• Recuerda el valor de la mejor hoja en el sub árbol olvidado y puede
decidir si merece la pena expandirlo.
• Más eficiente que A*PI , pero sufre de regeneración excesiva de
nodos (ver ejemplo).
• El algoritmo “cambia de opinión” muchas veces y vuelve atrás.
• Cada “cambio de opinión” es una iteración de A*PI.
• No puede comprobar si hay estados repetidos excepto los que están
en el camino actual, usa poca memoria.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
12
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada–Búsqueda
recursivadelprimeromejorBRPM
16. • A*PI y BRPM sólo mantienen un número limitado de nodos en
memoria, no aprovecha toda la memoria disponible.
• A*MS avanza como A* expandiendo la mejor hoja hasta que
la memoria esté llena, para continuar suprime la peor hoja.
• ¿Y si todos los nodos hoja tienen el mismo valor?
• A*MS expande la mejor hoja más nueva y suprime la peor
hoja más vieja.
• A*MS es completo si la profundidad del nodo objetivo más
superficial es menor que el tamaño de memoria (expresado
en nodos, claro está).
• De todas formas, las limitaciones de memoria pueden hacer a
un problema intratable desde el punto de vista de tiempo de
cálculo.
• La única salida es suprimir la exigencia de optimización.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
16
Estrategiasdebúsquedainformadas(heurísticas):
Búsquedaheurísticaconmemoriaacotada–Búsqueda
A*M(memoriaacotada)yA*MS(A*Msimplificada)
17. Funciones heurísticas
• Si queremos encontrar las soluciones más cortas utilizando A*
necesitamos una función heurística que no sobrestime no sea mayor
que el número de pasos al objetivo.
• Para el 8-puzzle, hay 2 comúnmente usadas:
• h1: número de piezas mal colocadas = 8 (admisible).
• h2: suma de las distancias de las piezas a sus posiciones en el
objetivo (suma de las distancias horizontales y verticales, llamada
distancia de Manhattan).
• Para el ejemplo, h2= 18 (también admisible).
• Ambas son admisibles, pues no superan el coste solución verdadero,
que es 26
27/03/2014FCT-UNCAIng.HéctorEstigarribia
17
18. • Una manera de medir la calidad de la heurística sería el
factor de ramificación eficaz.
• Conviene siempre usar una función heurística con
valores más altos.
• Se podría “inventar” funciones heurísticas admisibles ,
sacando restricciones al problema (problema relajado).
• El costo de una solución óptima en un problema relajado
es una heurística admisible para el problema original.
• También, se podrían “aprender” heurísticas desde la
experiencia, usando un algoritmo de aprendizaje .
27/03/2014FCT-UNCAIng.HéctorEstigarribia
18
Funciones heurísticas
19. Algoritmos de Búsqueda local
y problemas de optimización
• Hasta ahora, los algoritmos estudiados se diseñan para explorar
espacios de búsqueda.
• Mantienen uno o más caminos en memoria y los marca como
explorados o no.
• Cuando se encuentra un objetivo, el camino al mismo también
constituye una solución al problema.
• En muchos problemas, el camino al objetivo es irrelevante (ejemplo:
8 reinas).
• En estos casos podemos considerar otro tipo de algoritmos, que no
se preocupen en absoluto de los caminos:
• Los algoritmos de búsqueda local funcionan con un solo estado
actual.
• Los caminos seguidos no se retienen.
• Usan poca memoria y pueden encontrar soluciones en espacios de
estados grandes.
27/03/2014FCT-UNCAIng.HéctorEstigarribia
19
20. • Paisaje del Espacio de estados: posición (estado) y elevación
(función heurística u objetivo)
• Si la elevación corresponde al costo, el objetivo es encontrar el
valle más bajo (mínimo global) .
• Si la elevación corresponde a una función objetivo, el objetivo es
encontrar el pico más alto (máximo global).
27/03/2014FCT-UNCAIng.HéctorEstigarribia
20
Algoritmos de Búsqueda local
y problemas de optimización
21. Búsqueda de
ascensión de colinas
Búsqueda de temple
simulado
Búsqueda por haz
local
Algoritmos
Genéticos
27/03/2014FCT-UNCAIng.HéctorEstigarribia
21
Algoritmos de Búsqueda local
y problemas de optimización