Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porCayo Najar Modificado hace 9 años
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 <-- camino que solo contiene la raiz; 2. WHILE COLA no vacía AND objetivo no alcanzado AND objetivo no alcanzado DO remover el primer camino de la COLA; DO remover el primer camino de la COLA; crear nuevos caminos (a todos los hijos); crear nuevos caminos (a todos los hijos); rechazar los nuevos caminos con ciclos; rechazar los nuevos caminos con ciclos; agreg. los nuevos caminos y ordenar toda la COLA; agreg. los nuevos caminos y ordenar toda la COLA; 3. IF objetivo alcanzado THEN éxito; THEN éxito; ELSE falla; ELSE falla;
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 <-- camino que sólo contiene la raiz; 2. WHILE COLA no vacía AND el primer camino no ha alcanzado AND el primer camino no ha alcanzado el objetivo el objetivo remover el primer camino de la COLA; remover el primer camino de la COLA; crear nuevos caminos (a todos los hijos); crear nuevos caminos (a todos los hijos); rechazar los nuevos caminos con ciclos; rechazar los nuevos caminos con ciclos; agregar los nuevos caminos y ordenar la COLA; agregar los nuevos caminos y ordenar la COLA; 3. IF objetivo alcanzado THEN éxito; THEN éxito; ELSE falla; ELSE falla;
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 <-- camino que sólo contiene la raiz; 2. WHILE COLA no vacía AND el primer camino no alcanza el objet. AND el primer camino no alcanza el objet. remover el primer camino de la COLA; remover el primer camino de la COLA; crear nuevos caminos (a todos los hijos); crear nuevos caminos (a todos los hijos); rechazar los nuevos caminos con ciclos; rechazar los nuevos caminos con ciclos; agregar los nuevos caminos y ordenar la COLA; agregar los nuevos caminos y ordenar la COLA; 3. IF objetivo alcanzado THEN éxito; THEN éxito; ELSE falla; ELSE falla;
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 <-- camino que sólo contiene la raiz; 2. WHILE COLA no vacía AND el primer camino no alcanza el objet. AND el primer camino no alcanza el objet. remover el primer camino de la COLA; remover el primer camino de la COLA; crear nuevos caminos (a todos los hijos); crear nuevos caminos (a todos los hijos); rechazar los nuevos caminos con ciclos; rechazar los nuevos caminos con ciclos; agregar los nuevos caminos y ordenar la COLA; agregar los nuevos caminos y ordenar la COLA; IF COLA contiene un camino AND IF COLA contiene un camino P terminando en I, con costo costo_P, y camino Q conteniendo I, con costo costo_Q AND costo_P costo_Q THEN THEN borrar P 3. IF objetivo alcanzado THEN éxito; ELSE falla; ELSE falla; (por f = costo + h)
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í.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.