Está en la página 1de 27

Mtodos ptimos de bsqueda

El costo de RECORRIDO del camino debe ser minimizado (an a expensas de mec. de BSQUEDA ms complicados) :
Costo Uniforme Branch and Bound Introduccin de Subestimaciones Borrado de caminos A*

Reintroduccin de costos de arcos en la RED


3 S 4 A 5 D 3 2 E
S

B 5 4

4 F 4
A

C 3 G

4
4
C B

2
5
E B F

2
D

4
F G

5
3
B C

4
C

5
E F

4 3

Algoritmo de costo uniforme = primero el mejor uniforme


3 4 B 7 4 5 C 11 D A 3 5 D 8 5 S 4 5 A9 4 B 13 C E F G
3

E 12
F G B C

E 13
F G

En cada paso, E 6 5 seleccionar 4 el nodo con B 11 F 10 el costo 3 acumulado G 13 A C ms bajo.


2

Algoritmo de costo uniforme :


1. COLA <-- camino que solo contiene la raiz;

2. WHILE
DO

COLA no vaca AND objetivo no alcanzado

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; (POR COSTO ACUMULADO)

3. IF objetivo alcanzado THEN xito; ELSE falla;

Problema: NO siempre ptimo!


1 2
1

5
5

D
5

10

100

E G F
5

15

Costo uniforme devuelve el camino con costo 102, habiendo un camino con costo 25.

20
5

El principio Branch-and-Bound
2

S
5

A
3

B C X
2 3

0.5

5 G

3.5

E6 ignorar X

Primer objetivo alcanzado

ignorar

Usar cualquier mtodo de bsqueda (completo) para encontrar un camino. Remover todos los caminos parciales que tengan un costo acumulado mayor o igual que el camino hallado. Continuar la bsqueda para el prximo camino. Iterar.
6

Una integracin dbil de branch and bound en costo uniforme:


1 2
1

5
5
Cambiar la condicin de terminacin: terminar slo cuando un camino a un nodo objetivo SE HA CONVERTIDO EN EL MEJOR CAMINO.

D
5

10

100

E G F
5

15

20
7

102

25

Versin de costo uniforme ptimo:


1. COLA <-- camino que slo contiene la raiz; 2. WHILE COLA no vaca AND el 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; (por costo acumulado) 3. IF objetivo alcanzado THEN xito; ELSE falla;
8

Ejemplo:
3 A
A S S D 4 D 4

7 B
A

D 8 S D D 8 S A D D 8

7 B

9 A

E 6

7 B

9 A 11 B

E F 10
9

A
B C 11 E 12

D 8

9 A
S

11 B
D

F 10

A
B C 11 E 12 A B

D E 10 S D E 10

9 A

11 B
D

F 10

A B 13

C 11

E 12
A B

11 B
D

F 10

S
D A

C 11

E 12

15 B

F 14

B 13

11 B

F 10
10

S A B D A F 14 S A B C 11 E 12 D A F 14 S D E B F C 15 G 13 B 13 D

C 11

E 12

15 B

11 B

E F

G No parar todava! 13

15 B
A

B 13

15 A
D

B C E

D B 15 E F 14

A
B 13

E B F C 15 G 13
11

14 D

F 16

PARAR! 15 A

Propiedades de costo uniforme extendido :


Camino ptimo: If existe un nmero > 0, tal que todo arco tiene costo , y si el factor de ramificacin 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 expansin de cada camino!

Cmo mejorarlo?

12

Extensin con estimaciones heursticas:


Reemplazar el costo acumulado en el algoritmo costo uniforme extendido por una funcin:

f(camino) = costo(camino) + h(T)


where: costo(camino) = el costo acumulado del camino parcial h(T) = una estimacin heurstica del costo desde T al objetivo +
f(camino) = una estimacin del costo de un camino que extienda el camino actual para alcanzar el objetivo.
13

Ejemplo: Reconsiderar la distancia en linea recta:


3 S 4 A

4 5
D 2 E

B 5

C G

h(T) = la distancia en linea recta desde T hasta G A 10.4 S B 6.7 C 4 G E 6.9 F 3


14

11
D 8.9

S
3 + 10.4 = 13.4 A

D 4 + 8.9 = 12.9

A 13.4
9 + 10.4 = 19.4 A

D
E 6 + 6.9 = 12.9
D

A 13.4

19.4 A 11 + 6.7 = 17.7 B


S 19.4 A

E F 10 + 3.0 = 13.0

A 13.4

D
17.7 B E F

PARAR!

G 13 + 0.0 = 13.0
15

Algoritmo de Estimacin de costo uniforme extendido:


1. COLA <-- camino que slo contiene la raiz; 2. WHILE COLA no vaca AND el 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; (por f = costo + h) 3. IF objetivo alcanzado THEN xito; ELSE falla;
16

ptimo
Con la misma condicin en los costos de arcos y el factor de ramificacin: IF para todo T: h(T) es una SUBestimacin del costo restante al nodo objetivo THEN estimate-extended uniform cost es ptimo.

Intuicin:
incluye A 13.4 subestimacin del costo restante S 19.4 A D E 17.7 B F con costo restante real , este camino debe ser al menos 13.4 G 13
17

Ms sobre subestimacin:
Ejemplo:
Costos 1 restantes 1 reales S 1 33 A 25 D 34 F 1 1 1 22 B 1 4 E 23 H 1 1 1 1 1 C 1 Sobreestima G 1 12 I

Si h NO es una subestimacin: 1+3


A S

2+2
B

3+1
C G

1+5
D

1+4
F

No es el camino ptimo!

18

Ms sobre subestimacin:
Ejemplo:

Costos 1 restantes 1 reales S 1

31 A 22 D 33 F

1 1 1

20 B 1 1 E 22 H

1 1 1

1 0 C 1 SubEstimac. G 1 11 I

Si h es una subestimacin: 1+1 2+0


A B S

3+0
C G

1+2
D F

2+1
E

3!

1+3 Las malas subestimaciones siempre son

19 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 heursticas: la bsqueda puede expandir mucho menos nodos!
Ver nuestro ejemplo.

PERO: el costo de computar estas funciones puede ser alto


Solucin de compromiso

20

Una extensin ortogonal : borrado de camino


Descartar caminos redundantes:
en el branch and bound extended uniform cost : S A

D 4

7 B

X Distancia acumulada descartar !

D 8

Principio:
la mnima distancia desde S a G via I = (min. dist. desde S a I) + (min. dist. desde I a G)
21

Ms precisamente:
S

7 B

D 8

9 A P X

D E 6

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
22

3 A
A

S S

D 4 D 4

7 B
A

D 8
X

S D
X

7 B

9 A
X

E 6

D
X

7 B

11 B

F 10
23

A
B C 11 E 12 X

D X

A X

D
B X

F 10

S A B C 11 E X D X A X D E

B X

F
G 13

Notar como esta optimizacin reduce el nmero de expansiones MUCHO, comparada con branch and bound extended uniform cost.
5 expansiones menos !
24

Bsqueda 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 slo en los costos acumulados, de tal manera que no hay problemas en combinarlo con subestimaciones heursticas.

25

algoritmo A* :
1. COLA <-- camino que slo contiene la raiz; 2. WHILE COLA no vaca AND el 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; (por f = costo + h) 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 borrar P 3. IF objetivo alcanzado THEN xito; ELSE falla;

26

S
3 + 10.4 = 13.4 A

D 4 + 8.9 = 12.9

A 13.4
9 + 10.4 = 19.4 A S

D
X
D
E B F 10 + 3.0 = 13.0

E 6 + 6.9 = 12.9 La nica dif. est aqu.

A 13.4

X
A 13.4 S

11 + 6.7 = 17.7 D

17.7 B

E F

PARAR!
27

G 13 + 0.0 = 13.0

También podría gustarte