algoritmos de búsqueda informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...algoritmos...
TRANSCRIPT
![Page 1: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/1.jpg)
Algoritmos de Búsqueda Informados
Tomas Arredondo Vidal16/6/2010
![Page 2: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/2.jpg)
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
![Page 3: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/3.jpg)
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
![Page 4: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/4.jpg)
Rumania con costos de pasos en km
![Page 5: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/5.jpg)
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
![Page 6: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/6.jpg)
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
![Page 7: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/7.jpg)
Ejemplo greedy best-first search
![Page 8: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/8.jpg)
Ejemplo greedy best-first search
![Page 9: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/9.jpg)
Ejemplo greedy best-first search
![Page 10: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/10.jpg)
Ejemplo greedy best-first search
![Page 11: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/11.jpg)
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
![Page 12: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/12.jpg)
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
![Page 13: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/13.jpg)
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
![Page 14: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/14.jpg)
Ejemplo búsqueda A*
![Page 15: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/15.jpg)
Ejemplo búsqueda A*
![Page 16: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/16.jpg)
Ejemplo búsqueda A*
![Page 17: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/17.jpg)
Ejemplo búsqueda A*
![Page 18: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/18.jpg)
Ejemplo búsqueda A*
![Page 19: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/19.jpg)
Ejemplo búsqueda A*
![Page 20: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/20.jpg)
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
![Page 21: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/21.jpg)
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
![Page 22: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/22.jpg)
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.
![Page 23: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/23.jpg)
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.
![Page 24: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/24.jpg)
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
![Page 25: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/25.jpg)
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
![Page 26: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/26.jpg)
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) = ?
![Page 27: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/27.jpg)
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
![Page 28: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/28.jpg)
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
![Page 29: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/29.jpg)
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
![Page 30: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/30.jpg)
Algoritmos de Búsqueda Informados
Contenidos• Best-first search• Greedy best-first search• A* search• Heurísticas• Búsqueda local
![Page 31: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/31.jpg)
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
![Page 32: Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos de búsqueda local • En muchos problemas de optimización, la ruta a un objetivo](https://reader030.vdocuments.site/reader030/viewer/2022040300/5e5e47e4427cd255376ebd93/html5/thumbnails/32.jpg)
Algoritmos de búsqueda informados
Referencias:[1] S Russell, P Norvig, "Artificial Intelligence A Modern
Approach", Prentice Hall, 2003