270 likes | 444 Views
Métodos óptimos de búsqueda. Costo Uniforme Branch and Bound Introducción de Subestimaciones Borrado de caminos A*. El costo de RECORRIDO del camino debe ser minimizado (aún a expensas de mec. de BÚSQUEDA más complicados) :. 4. 4. 3. 5. 5. 4. 3. 2. 4. 4. 3. S. 4. A. D. 2.
E N D
Métodos óptimos de búsqueda Costo Uniforme Branch and Bound Introducción de Subestimaciones Borrado de caminos A* El costo de RECORRIDO del camino debe ser minimizado (aún a expensas de mec. de BÚSQUEDA más complicados) :
4 4 3 5 5 4 3 2 4 4 3 S 4 A D 2 5 5 A B C B D A E 4 5 S 5 2 4 4 G C E E B B F 2 4 5 4 4 5 4 4 D E F 3 D F B F C E A C G 3 4 3 4 G C G F 3 G Reintroducción de costos de arcos en la RED
S 3 4 4 3 A D 5 4 5 2 6 9 B 7 A 8 D E 5 4 5 4 5 4 11 10 11 12 13 C B 13 B F E E 3 B 13 F F C A C D E G C F G G G Algoritmo de costo uniforme = primero el mejor uniforme • En cada paso, seleccionar el nodo con el costo acumulado más bajo.
(POR COSTO ACUMULADO) Algoritmo de costo uniforme : 1. COLA <-- camino que solo contiene la raiz; 2. WHILECOLA no vacía AND objetivo no alcanzado DO remover el primer camino de la COLA; crear nuevos caminos (a todos los hijos); rechazar los nuevos caminos con ciclos; agreg. los nuevos caminos y ordenar toda la COLA; 3. IF objetivo alcanzado THEN éxito; ELSE falla;
S 1 1 5 5 A C 1 2 5 B 10 D 5 15 E 100 5 F 20 G 5 Problema: NO siempre óptimo! • Costo uniforme devuelve el camino con costo 102, habiendo un camino con costo 25.
S 2 3 A B 0.5 3.5 3 2 D 3 5 C 5 G 6 X ignorar E G X ignorar Primer objetivo alcanzado 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.
S 1 1 5 5 A C 1 2 5 B 10 D 5 15 E 100 5 F 20 G 5 102 25 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.
Versión de costo uniforme óptimo: 1. COLA <-- camino que sólo contiene la raiz; 2. WHILE COLA no vacía ANDel primer camino no ha alcanzado el objetivo remover el primer camino de la COLA; crear nuevos caminos (a todos los hijos); rechazar los nuevos caminos con ciclos; agregar los nuevos caminos y ordenar la COLA; 3. IF objetivo alcanzado THEN éxito; ELSE falla; (por costo acumulado)
S 3 4 A D S 4 A A D 7 8 B D S A D D 7 8 9 6 A B D E S A D 9 7 8 A E E B D 10 11 B F Ejemplo:
S A D 9 8 A D B B E 11 10 B F 11 12 C E S A D 9 A D D B E 11 10 B F 11 12 10 C E E S A D A A D B E 11 10 B F 11 13 12 10 C E E B S A D A D B E 11 10 B F 11 13 12 C E E E B 15 14 B F
S A D A D B E 11 B F F 11 13 12 C E E B 15 14 13 B F G S A D A D B E B B F 11 13 12 C E E B 15 14 15 15 13 B F A C G S A D A D B E B F 13 C E E E B 14 15 15 15 13 16 B F 14 D F A C G ¡No parar todavía! ¡PARAR!
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, • Thencosto 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?
f(camino) = costo(camino) + h(T) + Extensión con estimaciones heurísticas: • Reemplazar el ‘costo acumulado’ en el algoritmo ‘costo uniforme extendido’ por una función: • where: costo(camino) = el costo acumulado del camino parcial h(T) =una estimación heurística del costo desde T al objetivo f(camino) =una estimación del costo de un camino que ex- tienda el camino actual para alcanzar el objetivo.
G 3 C F 4 4 B 5 E 4 2 10.4 6.7 A B C 4 5 D A 11 S 4 G 8.9 3 F 6.9 S 3 D E Ejemplo: Reconsiderar la distancia en linea recta: • h(T) = la distancia en linea recta desde T hasta G
S 3 + 10.4 = 13.4 4 + 8.9 = 12.9 A D S 13.4 A D D 9 + 10.4 = 19.4 6 + 6.9 = 12.9 A E S 13.4 A D 19.4 A E E 11 + 6.7 = 17.7 B 10 + 3.0 = 13.0 F S 13.4 A D 19.4 A E 17.7 B F F 13 + 0.0 = 13.0 G ¡PARAR!
(por f = costo + h) Algoritmo de Estimación de costo uniforme extendido: 1. COLA <-- camino que sólo contiene la raiz; 2. WHILE COLA no vacía ANDel primer camino no alcanza el objet. remover el primer camino de la COLA; crear nuevos caminos (a todos los hijos); rechazar los nuevos caminos con ciclos; agregar los nuevos caminos y ordenar la COLA; 3. IF objetivo alcanzado THEN éxito; ELSE falla;
IF para todo T: h(T) es una SUBestimación del costo restante al nodo objetivo • THENestimate-extended uniform cost es óptimo. S incluye subestimación del costo restante 13.4 A D 19.4 A E 17.7 B F con costo restante real , este camino debe ser al menos 13.4 13 G G Óptimo • Con la misma condición en los costos de arcos y el factor de ramificación: • Intuición:
2 3 1 1 3 2 1 1 Costos restantes reales A B C 1 1 Sobre- estima 1 5 2 4 1 1 1 S D E G 3 2 1 1 3 1 4 2 1 1 F H I 1+3 2+2 3+1 A A B B C C 1+5 4 S D G 1+4 ¡No es el camino óptimo! F Más sobre subestimación: • Ejemplo: • Si h NO es una subestimación:
2 3 0 1 1 0 1 1 Costos restantes reales A B C 1 1 Sub- Estimac. 1 2 2 1 1 1 1 S D E G 3 2 1 1 2 1 3 1 1 1 F H I 1+1 2+0 3+0 A A B B C C 1+2 4 3 ! E E G S D D G 1+3 F Más sobre subestimación: • Ejemplo: • Si h es una subestimación: 2+1 Las malas subestimaciones siempre son corregidas por el costo acumulado increm.
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
S 3 4 A A D 7 8 B D Distancia acumulada • Principio: • la mínima distancia desde S a Gvia I = (min. dist. desde S a I) + (min. dist. desde I a G) Una extensión ortogonal :borrado de camino • Descartar caminos redundantes: • en el ‘branch and bound extended uniform cost’ : X ¡ descartar !
S A D Q P 7 8 9 6 A B D E 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_Pcosto_Q • THEN • borrar P X
S 3 4 A D S 4 A D 7 8 B D X S A D 7 9 6 A B D E X X S A D 7 A E B D X X 10 11 B F X
S A D A D B E X X 10 B F 11 12 C E X X S A D A D B E X X B F 11 C E X 13 X G Notar como esta optimización reduce el número de expansiones MUCHO, comparada con ‘branch and bound extended uniform cost’. ¡ 5 expansiones menos !
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.
algoritmo A* : 1. COLA <-- camino que sólo contiene la raiz; 2. WHILE COLA no vacía ANDel primer camino no alcanza el objet. remover el primer camino de la COLA; crear nuevos caminos (a todos los hijos); rechazar los nuevos caminos con ciclos; agregar los nuevos caminos y ordenar la COLA; IFCOLA contiene un caminoP terminando en I, con costo costo_P, y camino Q conteniendo I, con costo costo_Q AND costo_Pcosto_Q THEN borrar P 3. IF objetivo alcanzado THEN éxito; ELSE falla; (por f = costo + h)
S 3 + 10.4 = 13.4 4 + 8.9 = 12.9 A D S 13.4 A D 9 + 10.4 = 19.4 6 + 6.9 = 12.9 A E X La única dif. está aquí. S 13.4 A D A E X B 10 + 3.0 = 13.0 F 11 + 6.7 = 17.7 S 13.4 A D A E ¡PARAR! X 17.7 B F 13 + 0.0 = 13.0 G