1 Métodos óptimos de búsqueda El costo de RECORRIDO del camino debe ser minimizado (aún a expensas de mec. de BÚSQUEDA más complicados) : Costo Uniforme Branch and Bound Introducción de Subestimaciones Borrado de caminos A*
2 2 Reintroducción de costos de arcos en la RED A D B E C F G S 3 444 5 543 2 S AD BDEA CEEBBF DFBFCEACG GCGF G 3 33 3 3 2 2 2 4 4 44 4 4 4 4 4 4 4 4 55 55 5 5
3 3 Algoritmo de costo uniforme = primero el mejor uniforme SA D B D A E E BBF B FC E A C G G G FC 3 4 4 5 5 5 2 5 4 3 3 4 7 8 9 6 1011 C E D F G 4 5 111213 13 13 4 En cada paso, seleccionar el nodo con el costo acumulado más bajo.
4 4 Algoritmo de costo uniforme : (POR COSTO ACUMULADO) 1. COLA
5 5 Problema: NO siempre óptimo! G 100 5 D510 E 5 15 F 5 20 S A C 1 5 5 1 B12 Costo uniforme devuelve el camino con costo 102, habiendo un camino con costo 25.
6 6 El principio Branch-and-Bound Usar cualquier método de búsqueda (completo) para encontrar un camino. Remover todos los caminos parciales que tengan un costo acumulado mayor o igual que el camino hallado. Continuar la búsqueda para el próximo camino. Iterar. 3.5 S B D C G A 5 5 E 6 Primerobjetivoalcanzado 2 3 3 2 3 0.5 G XignorarXignorar
7 7 Una integración débil de branch and bound en costo uniforme: Cambiar la condición de terminación: terminar sólo cuando un camino a un nodo objetivo SE HA CONVERTIDO EN EL MEJOR CAMINO. G 100 B 5 S A C 1 1 5 1 2 102 F 5 D E55 5 10 15 20 25
8 8 Versión de costo uniforme óptimo: (por costo acumulado) 1. COLA
9 9 Ejemplo: S AD 4 S A BD 78 D S AD BD 78 A E 9 AD 34 S A BD 78 D A E 96 E BF 11 10
10 10 S AD B D 8 A E 9 B F 1110 S AD B D A E 9 B F 1110 CE 11 12 S AD B D A E B F 1110 CE 11 12 E 10 S AD B D A E B F 1110 CE 11 12 EB 13 B CE 11 12 D E 10 A B 13 E BF 1514
11 11 S AD B D A E B F 11 CE 11 12 EB 13 BF 1514 S AD B D A E B F CE 11 12 EB 13 BF 1514 G 13 S AD B D A E B F CE EB 13 BF 15 14 G 13 AC 1515 F G 13 ¡No parar todavía! B AC 1515 E FD 14 16 ¡PARAR!
12 12 Propiedades de costo uniforme extendido : Camino óptimo: If existe un número > 0, tal que todo arco tiene costo , y si el factor de ramificación es finito, Then costo uniforme extendido encuentra el camino óptimo (si existe). Memoria y velocidad: En el peor caso, al menos tan malo como en primero en amplitud: ¡necesita pasos de ordenamiento adicional luego de la expansión de cada camino! ¿Cómo mejorarlo?
13 13 Extensión con estimaciones heurísticas: Reemplazar el ‘costo acumulado’ en el algoritmo ‘costo uniforme extendido’ por una función: f(camino) = costo(camino) + h(T) costo(camino) = el costo acumulado del camino parcial h(T) = una estimación heurística del costo desde T al objetivo objetivo f(camino) = una estimación del costo de un camino que ex- tienda el camino actual para alcanzar el objetivo. tienda el camino actual para alcanzar el objetivo.+ where:
14 14 Ejemplo: Reconsiderar la distancia en linea recta: h(T) = la distancia en linea recta desde T hasta G D E G S A B C F 4 4 4 4 3 3 2 5 5 DE G S ABC F 4 6.710.411 8.9 6.9 3
15 15 AD 3 + 10.4 = 13.4 4 + 8.9 = 12.9 S S AD 13.4 S AD A E 13.4 19.4 S AD A E B F 13.4 19.4 17.7 D A E 9 + 10.4 = 19.4 6 + 6.9 = 12.9 E B F 10 + 3.0 = 13.0 11 + 6.7 = 17.7 F G 13 + 0.0 = 13.0 ¡PARAR!
16 16 Algoritmo de Estimación de costo uniforme extendido: (por f = costo + h) 1. COLA
17 17 Óptimo Con la misma condición en los costos de arcos y el factor de ramificación: S AD A E B F 13.4 19.4 17.7 G 13 IF para todo T: h(T) es una SUBestimación del costo restante al nodo objetivo THEN estimate-extended uniform cost es óptimo. Intuición: incluyesubestimación del costo restante G con costo restante real, este camino debe ser al menos 13.4
18 18 Más sobre subestimación: Ejemplo: S A D F B E H C G I 1 11 1 1 1 1 1 1 1 1 Costosrestantesreales 321 2 1 32 1 3215 4 4 3 2 Sobre-estima Si h NO es una subestimación: S A D F1+31+5 1+4 B2+2AB C3+1 C G 4 ¡No es el camino óptimo !
19 19 Más sobre subestimación: Ejemplo: 32S A D F B E H C G I 1 11 1 1 1 1 1 1 1 1 3 2 2 1 1 1 Costosrestantesreales Si h es una subestimación: S A D F1+11+2 1+3 1002 3 1 2 1 Sub-Estimac. A B2+0C3+0B G 4 G C DE E 3 ! Las malas subestimaciones siempre son corregidas por el costo acumulado increm. 2+1
20 20 Velocidad y memoria En el peor caso: no hay mejora respecto de ‘branch and bounded extended uniform cost’ Tomando h = 0 en todas partes. Para buenas funciones heurísticas: la búsqueda puede expandir mucho menos nodos! Ver nuestro ejemplo. PERO: el costo de computar estas funciones puede ser alto Solución de compromiso
21 21 Una extensión ortogonal : borrado de camino Descartar caminos redundantes: en el ‘branch and bound extended uniform cost’ : Principio: la mínima distancia desde S a G via I = (min. dist. desde S a I) + (min. dist. desde I a G) S A D 4 3 A B D 78 Distancia acumulada X ¡ descartar !
22 22 Más precisamente: IF la COLA contiene: un camino P que termina en I, con costo costo_P un camino Q conteniendo I, con costo costo_Q costo_P costo_Q THEN borrar P S A D BD 78 A E 96 X Q P
23 23 AD 34 S S A D 4 B D 78 X S A D BD 7 A E 96 XX S AD B D 7 A E B F 11 10 X XX
24 24 S AD B D A E B F 10 C E 11 12 X X X X S AD B D A E B F CE 11 G 13 X X X X Notar como esta optimización reduce el número de expansiones MUCHO, comparada con ‘branch and bound extended uniform cost’. ¡ 5 expansiones menos !
25 25 Búsqueda A* ES: Branch and bound extended, Heuristic Underestimate extended, Redundant path deletion extended, Uniform Cost Search. Notar que el borrado de caminos redundantes se basa sólo en los costos acumulados, de tal manera que no hay problemas en combinarlo con subestima- ciones heurísticas.
26 26 algoritmo A* : 1. COLA
27 27 AD 3 + 10.4 = 13.4 4 + 8.9 = 12.9 S S AD A E 13.4 9 + 10.4 = 19.4 6 + 6.9 = 12.9 X S AD A E B F 13.4 11 + 6.7 = 17.7 10 + 3.0 = 13.0 X S AD A E B F 13.4 17.7 G 13 + 0.0 = 13.0 ¡PARAR! X La única dif. está aquí.