Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos...

32
Algoritmos de Búsqueda Informados Tomas Arredondo Vidal 16/6/2010

Transcript of Algoritmos de Búsqueda Informadosprofesores.elo.utfsm.cl/~tarredondo/info/soft-comp/...Algoritmos...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Algoritmos de búsqueda informados

Referencias:[1] S Russell, P Norvig, "Artificial Intelligence A Modern

Approach", Prentice Hall, 2003