Métodos óptimos de búsqueda Métodos óptimos de búsqueda
El costo de El costo de RECORRIDORECORRIDO del camino debe ser del camino debe ser minimizado (aún a expensas de mec. de minimizado (aún a expensas de mec. de
BÚSQUEDA BÚSQUEDA más complicados) :más complicados) :
Costo UniformeCosto Uniforme
Branch and BoundBranch and Bound
Introducción de SubestimacionesIntroducción de Subestimaciones
Borrado de caminosBorrado de caminos
A*A*
2
Reintroducción de costos Reintroducción de costos de arcos en la REDde arcos en la RED
AA
DD
BB
EE
CC
FFGGSS
33
44
44
44
55 55
44
3322
SSAA DD
BB DD EEAA
CC EE EE BB BB FF
DD FF BB FF CC EE AA CC GG
GG CC GG FF
GG
33
33 33
33
33
22
22
2244
44
4444
44
4444
44
44
44
44
44
5555
55 55
5555
3
Algoritmo de costo uniforme Algoritmo de costo uniforme = primero el mejor uniforme= primero el mejor uniforme
SS
AA DD
BB DD AA EE
EE BB BB FF
BB FF CC EE AA CC GG
GG
GG FFCC
33 44
44 55
55
55 22
55 44
33
33 44
77 88 99 66
10101111CC EE
DD FF
GG
44 55
1111 1212 1313 1313
1313
44
En cada En cada paso, paso, seleccionaseleccionar el nodo r el nodo con el con el costo costo acumulado acumulado más bajo.más bajo.
4
Algoritmo de costo uniforme :Algoritmo de costo uniforme :
(POR COSTO ACUMULADO(POR COSTO ACUMULADO))
1. 1. COLACOLA <-- camino que solo contiene la raiz; <-- camino que solo contiene la raiz;
2. 2. WHILEWHILE COLACOLA no vacía no vacía ANDAND objetivo no alcanzado objetivo no alcanzado
DODO remover el primer camino de la remover el primer camino de la COLACOLA;; 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 agreg. los nuevos caminos y ordenar toda la COLACOLA;;
3. 3. IFIF objetivo alcanzado objetivo alcanzado THENTHEN éxito; éxito; ELSEELSE falla; falla;
5
Problema: NO siempre óptimo!Problema: NO siempre óptimo!
GG
100100
55
DD
55
1010
EE55
1515
FF55
2020
SSAA CC
11 5555
11
BB11
22 Costo uniforme Costo uniforme
devuelve el devuelve el camino con costo camino con costo 102, habiendo un 102, habiendo un camino con costo camino con costo 25.25.
6
El principio Branch-and-Bound El principio Branch-and-Bound
Usar cualquier método de Usar cualquier método de búsqueda (completo) para búsqueda (completo) para encontrar encontrar un caminoun camino..
Remover todos los caminos Remover todos los caminos parciales que tengan un parciales que tengan un costo acumulado mayor o costo acumulado mayor o igual que el camino igual que el camino hallado.hallado.
Continuar la búsqueda para Continuar la búsqueda para el próximo camino.el próximo camino.
Iterar.Iterar.
3.53.5
SS
BB
DDCCGG
AA
5555
EE 66
PrimerPrimerobjetivoobjetivoalcanzadoalcanzado
22
33
33
22 330.50.5
GGXX
ignorarignorar
XXignorarignorar
7
Una integración débil de branch Una integración débil de branch and bound en costo uniforme:and bound en costo uniforme:
Cambiar la condición de Cambiar la condición de terminación:terminación: terminar sólo terminar sólo
cuando un camino a cuando un camino a un nodo objetivo SE un nodo objetivo SE HA CONVERTIDO EN HA CONVERTIDO EN EL MEJOR CAMINO.EL MEJOR CAMINO.
GG
100100
BB
55SS
AA CC
11
11
5511
22
102102
FF55
DD
EE
55
55
55
1010
1515
2020
2525
8
Versión de costo uniforme Versión de costo uniforme óptimo:óptimo:
(por costo acumulado(por costo acumulado))
1. 1. COLACOLA <-- camino que sólo contiene la raiz; <-- camino que sólo contiene la raiz;
2. 2. WHILE WHILE COLACOLA no vacía no vacía ANDAND el primer caminoel primer camino no ha alcanzado no ha alcanzado
el objetivoel objetivo remover el primer camino de la remover el primer camino de la COLACOLA;; 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 agregar los nuevos caminos y ordenar la COLACOLA;;
3. 3. IFIF objetivo alcanzado objetivo alcanzado THENTHEN éxito; éxito; ELSEELSE falla; falla;
9
Ejemplo:Ejemplo:
SS
AA DD 44
SS
AA
BB DD77 88DD
SS
AA DD
BB DD77 88 AA EE99
AA DD33 44SS
AA
BB DD77 88
DD
AA EE99 66
EE
BB FF1111 1010
10
SSAA DD
BB DD 88 AA EE99BB FF1111 1010
SSAA DD
BB DD AA EE99BB FF1111 1010CC EE1111 1212
SSAA DD
BB DD AA EEBB FF1111 1010CC EE1111 1212 EE 1010
SSAA DD
BB DD AA EEBB FF1111 1010CC EE1111 1212 EE BB 1313
BB
CC EE1111 1212
DD
EE 1010
AA
BB 1313
EEBB FF1515 1414
11
SSAA DD
BB DD AA EEBB FF1111CC EE1111 1212 EE BB 1313
BB FF1515 1414
SSAA DD
BB DD AA EEBB FFCC EE1111 1212 EE BB 1313
BB FF1515 1414 GG 1313
SSAA DD
BB DD AA EEBB FFCC EE EE BB 1313
BB FF1515 1414 GG 1313AA CC1515 1515
FF
GG 1313¡No parar todavía!¡No parar todavía!
BB
AA CC1515 1515
EE
FFDD1414 1616 ¡PARAR!¡PARAR!
12
Propiedades de costo uniforme Propiedades de costo uniforme extendido :extendido :
Camino óptimo:Camino óptimo: IfIf existe un número existe un número > > 0, tal que todo arco tiene 0, tal que todo arco tiene
costocosto , y si el factor de ramificación es finito, , y si el factor de ramificación es finito, ThenThen costo uniforme extendido encuentra el costo uniforme extendido encuentra el
camino óptimo (si existe).camino óptimo (si existe).
Memoria y velocidad:Memoria y velocidad: En el peor caso, al menos tan malo como en En el peor caso, al menos tan malo como en
primero en amplitud:primero en amplitud: ¡necesita pasos de ordenamiento adicional ¡necesita pasos de ordenamiento adicional
luego de la expansión de cada camino!luego de la expansión de cada camino! ¿Cómo mejorarlo?¿Cómo mejorarlo?
13
Extensión con Extensión con estimaciones heurísticas:estimaciones heurísticas:
Reemplazar el ‘costo acumulado’ en el algoritmo Reemplazar el ‘costo acumulado’ en el algoritmo ‘costo uniforme extendido’ por una función:‘costo uniforme extendido’ por una función:
f(camino) f(camino) == costo(c costo(caminoamino) ) ++ h(T) h(T)
costo(ccosto(caminoamino) ) = = el costo acumulado del camino parcialel costo acumulado del camino parcialh(h(TT) ) == una estimación heurística del costo desde una estimación heurística del costo desde TT al al
objetivoobjetivo
f(f(caminocamino) ) == una estimación del costo de un camino que ex-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:where:
14
Ejemplo: Reconsiderar la Ejemplo: Reconsiderar la distancia en linea recta:distancia en linea recta:
h(h(TT)) = la distancia en linea recta desde = la distancia en linea recta desde TT hasta G hasta G
DD EE
GGSS
AA BB CC
FF
44
4444
4433
3322
55 55
DD EE
GGSS
AA BB CC
FF
446.76.710.410.4
1111
8.98.96.96.9 33
15
AA DD3 + 10.4 = 13.43 + 10.4 = 13.4 4 + 8.9 = 12.94 + 8.9 = 12.9
SS
SS
AA DD13.413.4
SSAA DD
AA EE13.413.4
19.419.4
SSAA DD
AA EEBB FF
13.413.419.419.4
17.717.7
DD
AA EE9 + 10.4 = 19.49 + 10.4 = 19.4 6 + 6.9 = 12.96 + 6.9 = 12.9
EEBB FF10 + 3.0 = 13.010 + 3.0 = 13.011 + 6.7 = 17.711 + 6.7 = 17.7
FF
GG13 + 0.0 = 13.013 + 0.0 = 13.0
¡PARAR!¡PARAR!
16
Algoritmo de Estimación de Algoritmo de Estimación de costo uniforme extendido:costo uniforme extendido:
(por f = costo + h(por f = costo + h))
1. 1. COLACOLA <-- camino que sólo contiene la raiz; <-- camino que sólo contiene la raiz;
2. 2. WHILE WHILE COLACOLA no vacía no vacía ANDAND el primer caminoel primer camino no alcanza el objet. no alcanza el objet. remover el primer camino de la remover el primer camino de la COLACOLA;; 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 agregar los nuevos caminos y ordenar la COLACOLA;;
3. 3. IFIF objetivo alcanzado objetivo alcanzado THENTHEN éxito; éxito; ELSEELSE falla; falla;
17
ÓptimoÓptimo Con la misma condición en los costos de arcos y el Con la misma condición en los costos de arcos y el
factor de ramificación:factor de ramificación:
SSAA DD
AA EEBB FF
13.413.419.419.4
17.717.7
GG 1313
IFIF para todo para todo TT: : h(h(TT)) es una SUBestimación del costo es una SUBestimación del costo restante al nodo objetivorestante al nodo objetivo
THENTHEN estimate-extended uniform costestimate-extended uniform cost es óptimo. es óptimo.
Intuición: Intuición:
incluye incluye subestimaciónsubestimacióndel costo restantedel costo restante
GG
con costo restante con costo restante realreal, este camino debe ser al menos 13.4, este camino debe ser al menos 13.4
18
Más sobre subestimación:Más sobre subestimación: Ejemplo:Ejemplo:
SS
AA
DD
FF
BB
EE
HH
CC
GG
II
1111 11
11
11
11
11
11
11
11
11
Costos Costos restantesrestantesrealesreales
33 22 11
22 11
33 22 11
33 22 11
55
44
44
33 22
Sobre-Sobre-estimaestima
Si Si hh NO es una subestimación: NO es una subestimación:
SS
AA
DD
FF
1+31+3
1+51+5
1+41+4
BB2+22+2
AA BB CC3+13+1
CC
GG44
¡No es el camino óptimo¡No es el camino óptimo!!
19
Más sobre subestimación:Más sobre subestimación: Ejemplo:Ejemplo:
33 22
SS
AA
DD
FF
BB
EE
HH
CC
GG
II
1111 11
11
11
11
11
11
11
11
11 33
22
22
11
11
11
Costos Costos restantesrestantesrealesreales
Si Si hh es una subestimación: es una subestimación:
SS
AA
DD
FF
1+11+1
1+21+2
1+31+3
11 00 00
22
33
11
22 11
Sub-Sub-Estimac.Estimac.
AA BB2+02+0
CC3+03+0
BB
GG44GG
CC
DD EEEE 3 !3 !
Las malas subestimaciones siempre son Las malas subestimaciones siempre son corregidas por el costo acumulado increm.corregidas por el costo acumulado increm.
2+12+1
20
Velocidad y memoriaVelocidad y memoria
En el peor caso: no hay mejora respecto de En el peor caso: no hay mejora respecto de ‘branch and bounded extended uniform cost’ ‘branch and bounded extended uniform cost’ Tomando h = 0 en todas partes.Tomando h = 0 en todas partes.
Para buenas funciones heurísticas: la búsqueda Para buenas funciones heurísticas: la búsqueda puede expandir mucho menos nodos!puede expandir mucho menos nodos! Ver nuestro ejemplo.Ver nuestro ejemplo.
PERO:PERO: el costo de computar estas funciones el costo de computar estas funciones puede ser altopuede ser alto Solución de compromiso Solución de compromiso
21
Una extensión ortogonal :Una extensión ortogonal :borrado de caminoborrado de camino
Descartar caminos redundantes:Descartar caminos redundantes: en el ‘branch and bound extended uniform cost’ :en el ‘branch and bound extended uniform cost’ :
Principio:Principio: la mínima distancia desde la mínima distancia desde SS a a GG via Ivia I = =
(min. dist. desde (min. dist. desde SS a a II) + (min. dist. desde ) + (min. dist. desde II a a GG) )
SS
AA DD 4433AA
BB DD77 88Distancia acumuladaDistancia acumuladaXX
¡ descartar !¡ descartar !
22
Más precisamente:Más precisamente:
IFIF la COLA contiene: la COLA contiene: un camino un camino PP que termina en que termina en II, con costo , con costo costo_Pcosto_P un camino un camino QQ conteniendo conteniendo I I, con costo , con costo costo_Qcosto_Q costo_Pcosto_P costo_Qcosto_Q
THENTHEN borrar borrar PP
SS
AA DD
BB DD77 88 AA EE99 66XX
QQ PP
23
AA DD33 44SS
SS
AA DD 44
BB DD77 88XX
SS
AA DD
BB DD77 AA EE99 66XX XX
SS
AA DD
BB DD77 AA EE
BB FF1111 1010XX
XX XX
24
SSAA DD
BB DD AA EEBB FF 1010CC EE1111 1212
XX XX
XXXX
SSAA DD
BB DD AA EEBB FFCC EE1111
GG 1313
XX XX
XXXX
Notar como esta optimización reduce el número de Notar como esta optimización reduce el número de expansiones MUCHO, comparada con ‘branch and expansiones MUCHO, comparada con ‘branch and bound extended uniform cost’.bound extended uniform cost’.
¡ 5 expansiones menos !¡ 5 expansiones menos !
25
Búsqueda A* Búsqueda A*
ES:ES: Branch and bound extended,Branch and bound extended, Heuristic Underestimate extended,Heuristic Underestimate extended, Redundant path deletion extended,Redundant path deletion extended, Uniform Cost Search.Uniform Cost Search.
Notar que el borrado de caminos redundantes se basa sólo Notar que el borrado de caminos redundantes se basa sólo en los en los costos acumuladoscostos acumulados, de tal manera que no hay , de tal manera que no hay problemas en combinarlo con subestima-ciones heurísticas.problemas en combinarlo con subestima-ciones heurísticas.
26
algoritmo A* :algoritmo A* :1. 1. COLACOLA <-- camino que sólo contiene la raiz; <-- camino que sólo contiene la raiz;
2. 2. WHILE WHILE COLACOLA no vacía no vacía ANDAND el primer caminoel primer camino no alcanza el no alcanza el objet.objet. remover el primer camino de la remover el primer camino de la COLACOLA;; 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 agregar los nuevos caminos y ordenar la COLACOLA;;
IFIF COLACOLA contiene un camino contiene un camino P terminando en I, con costo costo_P, y camino Q conteniendo I, con costo costo_Q ANDAND costo_P costo_Q
THENTHEN borrar P3. 3. IFIF objetivo alcanzado objetivo alcanzado THENTHEN éxito; éxito; ELSEELSE falla; falla;
(por f = costo + h(por f = costo + h))
27
AA DD3 + 10.4 = 13.43 + 10.4 = 13.4 4 + 8.9 = 12.94 + 8.9 = 12.9
SS
SS
AA DD
AA EE
13.413.4
9 + 10.4 = 19.49 + 10.4 = 19.4 6 + 6.9 = 12.96 + 6.9 = 12.9XX
SSAA DD
AA EEBB FF
13.413.4
11 + 6.7 = 17.711 + 6.7 = 17.7 10 + 3.0 = 13.010 + 3.0 = 13.0XX
SSAA DD
AA EEBB FF
13.413.4
17.717.7
GG13 + 0.0 = 13.013 + 0.0 = 13.0
¡PARAR!¡PARAR!XX
La única dif. está aquí.La única dif. está aquí.
Top Related