métodos óptimos de búsqueda el costo de recorrido del camino debe ser minimizado (aún a expensas...

27
Métodos óptimos de búsqueda Métodos óptimos de búsqueda El costo de El costo de RECORRIDO RECORRIDO 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 Uniforme Costo Uniforme Branch and Bound Branch and Bound Introducción de Subestimaciones Introducción de Subestimaciones Borrado de caminos Borrado de caminos A* A*

Upload: cayo-najar

Post on 13-Feb-2015

14 views

Category:

Documents


1 download

TRANSCRIPT

Page 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

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*

Page 2: 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

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

Page 3: 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

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.

Page 4: 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

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;

Page 5: 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

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.

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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;

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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!

Page 12: 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

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?

Page 13: 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

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:

Page 14: 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

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

Page 15: 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

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!

Page 16: 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

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;

Page 17: 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

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

Page 18: 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

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!!

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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 !

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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 !

Page 25: 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

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.

Page 26: 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

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))

Page 27: 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

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í.