Post on 28-Feb-2020
Algoritmos de Búsqueda Informados
Tomas Arredondo Vidal16/6/2010
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
Best-first search (i.e. búsqueda del mejor primero)
• Idea: usar una función de evaluación f(n) para cada nodo– Estimación de la “deseabilidad"� Expandir el nodo no expandido mas deseable
• Implementación:Ordenar los nodos en el fringe en orden decreciente de deseabilidad
• Casos especiales:– Greedy best-first search (i.e. búsqueda codiciosa del mejor primero)– A* search
Rumania con costos de pasos en km
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
Greedy best-first search
• Función de evaluación f(n) = h(n) (heuristic o heuristica)– estimación del costo desde n al objetivo
• e.g., hSLD(n) = distancia en línea recta (i.e. straight line distance) desde n a Bucharest
• Greedy best-first search expande el nodo que aparece estar mas cercano al objetivo
Ejemplo greedy best-first search
Ejemplo greedy best-first search
Ejemplo greedy best-first search
Ejemplo greedy best-first search
Propiedades de greedy best-first search
• Completo? No – se puede quedar pegado en lazos, e.g., Lasi a Fagaras: Lasi � Neamt �Lasi � Neamt � ...
• Tiempo? O(bm), pero una buena heurística puede dar muchas mejoras
• Espacio? O(bm) – mantiene todos los nodos en memoria
• Optima? No. e.g., Rimnicu � Vilcea � Pitesti es mejor que Arad � Sibiu � Fagaras
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
Búsqueda A*
• Idea: evitar expandir rutas que ya son costosos
• Función de evaluación f(n) = g(n) + h(n)
• g(n) = costo hasta ahora para llegar a n• h(n) = costo estimado desde n al objetivo• f(n) = costo estimado total de la ruta desde
n al objetivo
Ejemplo búsqueda A*
Ejemplo búsqueda A*
Ejemplo búsqueda A*
Ejemplo búsqueda A*
Ejemplo búsqueda A*
Ejemplo búsqueda A*
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
Heurísticas Admisibles
• Una heurística h(n) es admisible si para cada nodo n, h(n) ≤ h*(n), en el cual h*(n) es el costo verdadero para llegar al estado objetivo n .
• Una heurística admisible nunca sobreestima el costo para llegar al estado objetivo, i.e., es optimista
• Ejemplo: hSLD(n) (nunca sobreestima la distancia real en la carretera)
• Teorema: Si h(n) es admisible, A* usando TREE-SEARCH es optimo
Optimalidad de A*
• Suponga que algún objetivo subóptimo G2 ha sido generado y esta en el fringe. Deje que n sea un nodo no expandido en el fringe en el cual n esta en la ruta mas corta al objetivo óptimo G .
• f(G2) = g(G2) dado que h(G2) = 0 • g(G2) > g(G) dado que G2 es subóptimo• f(G) = g(G) dado que h(G) = 0 • f(G2) > f(G) de lo anterior• h(n) ≤ h*(n) dado que h es admisible• g(n) + h(n) ≤ g(n) + h*(n) • f(n) ≤ f(G ) dado que n esta en la ruta a GEntonces f(G2) > f(n), y A* nunca va a elegir a G2 para expansion.
Heuristicas Consistentes
• Una heurística es consistente si para cada nodo n, cada sucesor n' de n generado por una acción a ,
h(n) ≤ c(n,a,n') + h(n')
• Si h es consistente, tenemosf(n') = g(n') + h(n')
= g(n) + c(n,a,n') + h(n') ≥ g(n) + h(n) = f(n)
• i.e., f(n) es no- decreciente en cualquier ruta.• Theorema: Si h(n) es consistente, A* usando GRAPH-SEARCH es optimo.
Optimalidad de A*
• A* expande nodos en orden incemental de f value
• Gradualmente agrega "f-contornos" de nodos• Contorno i tiene todos los nodos con f = fi, en el cual fi < fi+1
Propertidades de A*
• Completo? Si (a menos que hayan infinito nodos con f ≤ f(G) )
• Tiempo? Exponencial• Espacio? Mantiene todos los nodos en
memoria• Optimo? Si
Heuristicas Admisibles
E.g., para el 8- puzzle:• h1(n) = numero de cuadros mal puestos• h2(n) = distancia total Manhattan(i.e., no. de cuadrados de la ubicación deseada para cada cuadro)
• h1(S) = ? • h2(S) = ?
Heuristicas Admisibles
E.g., para el 8- puzzle:• h1(n) = numero de cuadros mal puestos• h2(n) = distancia total Manhattan(i.e., no. de cuadrados de la ubicación deseada para cada cuadro)
• h1(S) = ? 8• h2(S) = ? 3+1+2+2+2+3+3+2 = 18
Dominación
• Si h2(n) ≥ h1(n) para todos los n (ambos admisibles)• entonces h2 domina a h1• h2 e s mejor para buscar.
• Típicos costos de búsqueda (i.e. numero promedio de nodos expandidos):
• d=12 IDS = 3,644,035 nodosA*(h1) = 227 nodos A*(h2) = 73 nodos
• d=24 IDS = demasiado numero de nodosA*(h1) = 39,135 nodos A*(h2 ) = 1,641 nodos
Problemas Relajados
• Un problema con menos restricciones en sus acciones posibles se llama un problema relajado
• El costo de una solución optima para un problema relajado es una heurística admisible
para el problema original• Si las reglas del 8-puzzle son relajadas para que
un cuadro se pueda mover a cualquier posición, entonces h1(n) da la solución mas corta
• Si las reglas se relajan para que un cuadro se pueda mover a cualquier cuadro adyacente, entonces h2(n) entrega la solución mas corta
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
Algoritmos de búsqueda local
• En muchos problemas de optimización, la ruta a un objetivo es irrelevante– el estado final es la solución
• Espacio de estados = conjunto de soluciones posibles
• Hay que buscar configuraciones que satisfagan sus restricciones
• Podemos probar distintos algoritmos: – Búsqueda local: tienen un estado actual, lo tratan de
mejorar– Búsqueda global: prueban múltiples estados al
mismo tiempo, tratan de encontrar el mejor
Algoritmos de búsqueda informados
Referencias:[1] S Russell, P Norvig, "Artificial Intelligence A Modern
Approach", Prentice Hall, 2003