Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro...

15
Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain [email protected] Bogotá, 17-19 octubre 2006 Búsqueda Heurística 2 Búsqueda en tiempo real • Búsqueda clásica (off-line search): Búsqueda de una solución completa Ejecución de la solución • No sirve para tareas que • exigen respuestas en tiempo limitado: • robot puzzle de 35 • tienen información limitada: robot explorador no podemos esperar no podemos calcular

Transcript of Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro...

Page 1: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Búsqueda Heurística VII

Pedro Meseguer IIIA-CSIC

Bellaterra, [email protected]

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 2

Búsqueda en tiempo real• Búsqueda clásica (off-line search):

Búsqueda de una solución completa Ejecución de la solución

• No sirve para tareas que• exigen respuestas en tiempo limitado:

• robot

• puzzle de 35

• tienen información limitada:• robot explorador

no podemos esperar

no podemos calcular

Page 2: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 3

Búsqueda en tiempo real

Búsqueda Ejecución Búsqueda Ejecución Búsqueda Ejecución

IDEA: • calcular un trocito de la solución / ejecutarlo • se alterna búsqueda y ejecución (on-line search)

• La solución óptima NO se encuentra la primera vez• Se espera que la calidad de la solución mejore al repetir la resolución de ese problema concreto

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 4

Problemas para búsqueda en tiempo real

• Respuestas críticas en tiempo:

x

el robot ha de comenzar a moverse en un tiempo corto,si no el observador creerá que no funciona

robot, sin mapadel entorno

rango de visibilidad

objetivoobservador

humanomirando al

robot

Page 3: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 5

Problemas para búsqueda en tiempo real

1 387

2

12 13 1418 20

262419

30 31 32

4 6119

5

15 16 1721 23

292722

33 34 35

10

25 28

1 3872

13 142026

19

31 32

4 61195

15 16 1721 23

292722

33 34 35

10

25 28

12182430

Espacio de estados: 36!Demasiado grande para pretender calcular la solución óptima(gran cantidad de tiempo)Alternativa: búsqueda en tiempo real

Puzzle de 35

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 6

Movimiento

• Dado un estado x: ¿cuál es el siguiente estado y?

• IDEA: escoger el mejor de los sucesores

y ← arg min { c(x,z) + h(z) }, z ∈succ(x)

• IDEA: para calcular h(z), podemos hacer anticipación

• Se busca a profundidad limitada

• Función de evaluación en la frontera

• Los valores mínimos se propagan hacia arriba

minimin

Page 4: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 7

Ejemplo

2 +1 3 +1 1 +1

2 5 7 4 3 6 1 3 8

2 +1

2 5 7 4 3 6 1 3 8

d = 2

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 8

De un estado a la secuencia

• MiniMin: nos da la primera acción

estado actual → un sucesor

• ¿Cómo encontrar la secuencia solución?• Aplicar Minimin al nuevo estado:

115 5

• No funciona, se entra en ciclo• Se ha de modificar la h del estado actual

Page 5: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 9

Dos formas de actualizar

• RTA*: h(x) ← max{h(x), 2nd min c(x,y)+h(y)}

115 5

165 5

765 5

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 10

Dos formas de actualizar

• LRTA*: h(x) ← max{h(x), min c(x,y)+h(y)}

115 5

125 5

5 556

325 5

345 5

545 5

Page 6: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 11

RTA*

• Función heurística:– f(n) = g(n) + h(n)– g(n): coste desde el nodo actual hasta n

• RTA*:– Algoritmo del tipo primero el mejor– Heuristica diferente del A*– Actualiza la h del nodo actual, para evitar ciclos

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 12

Algoritmo RTA* / LRTA*

• Tabla T: h de nodos ya expandidos

• Bucle:– Generar sucesores del estado actual– Si un sucesor ya está en T, usar su h de T– Sino, calcular f de sucesores por Minimin– Almacenar estado actual en T con h = 2do min f / min f (LRTA*)– Acción: ir al mejor sucesor (min f)

Page 7: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 13

Ejecución

h

h h h

h

Anticipación(1)

Actualización

Acción

‘h’

agente

h cambia

N

S

E

algoritmo registra nueva h’

O

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 14

RTA*: ejemplo

23

4 5

6

78

9

1

a

b

cd

e i

j

k

l

m

Page 8: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 15

RTA*: ejemplo

23

4 5

6

78

9

1

a

b

cd

e i

j

k

l

m

3

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 16

RTA*: ejemplo

23

4 5

6

78

9

5

a

b

cd

e i

j

k

l

m

3

Page 9: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 17

RTA*: ejemplo

23

4 5

6

78

9

5

a

b

cd

e i

j

k

l

m

4

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 18

RTA*: ejemplo

73

4 5

6

78

9

5

a

b

cd

e i

j

k

l

m

4

Page 10: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 19

RTA*: ejemplo

73

4 5

6

78

9

5

a

b

cd

e i

j

k

l

m

6

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 20

Completitud

• Completitud RTA*/LTRA*: ambos son completos en• espacios de estados finitos• valores heurísticos finitos• solución alcanzable desde cada estado

• Primera ejecución:• RTA* es más rápido que LRTA*

• Ejecuciones repetidas sobre el mismo ejemplar:• LRTA* converge a caminos óptimos si h admisible• RTA* no converge a caminos óptimos: h se puede volver no admisible

Page 11: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 21

Convergencia

• Al resolver un problema: H0 → H1, matriz de valores heurísticos de estados de la búsqueda

• Al resolver repetidamente el mismo ejemplar:– resolución i-ésima– toma como entrada Hi-1, los valores heurísticos finales de la resolución i-1

• LRTA* converge a caminos óptimos (h admisible):– a partir de un punto, sólo recorre caminos óptimos

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 22

LRTA*(k)

• LRTA(k) = LRTA* + propagación de cambios de la heurística hasta k estados

• Diferencias:– RTA* / LRTA*: 1 actualización por acción– LRTA(k): k actualizaciones por acción– Más aprendizaje– Mejor calidad de la heurística pero mayor tiempo de búsqueda por nodo

Page 12: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 23

Propagación de cambios

h

h h h

h

Anticipación(1)Actualización

’‘

h’‘

h’‘

h’

h’’

‘h’ h’’’

h’’

h’’

h’ h’’’

h’’

h’’

h’ h’’’h’’

h’

h’’Anticipación(1)Actualización Anticipación(1)Actualización Anticipación(1)Actualización Anticipación(1)Actualización

.....

Acción

agente

h cambia

N

S

EO

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 24

En la práctica

• LRTA*(k):– Pasos de búsqueda más largos– Mejora importante del rendimiento:

• Primera ejecución• Convergencia• Estabilidad de la solución

– Beneficios dependen del parámetro k: cuanto mayor es k, más beneficios, con el coste extra de tener pasos de búsqueda más largos

Page 13: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 25

Problemas de prueba

x x

Grid Laberinto

Movimiento: una casilla N, S, E. OSolución: secuencia de movimientos que llevan a x

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 26

Problemas de prueba

• Grid35. Retículo de tamaño 301x301 con un 35% de obstáculos colocados al azar.

• Grid70. Retículo de tamaño 301x301 con un 70% de obstáculos colocados al azar.

• Maze. Laberíntos acíclicos de tamaño 181x181 cuya estructura de salida se generó por búsqueda en profundidad.

Page 14: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 27

Primera ejecución

96%6%97%29%91%45%RTA*

231%16%222%18%237%17%LRTA*(k=15)

100%100%100%100%100%100%LRTA*

Tiempo/Paso

CosteTiempo/Paso

CosteTiempo/Paso

Coste

Grid 35 Grid 70 Maze

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 28

Convergencia

Grid 35 Grid 70 Maze

232%24%23%179%37%27%189%48%36%LRTAk=15

100%100%100%100%100%100%100%100%100%LRTA

tiemp/paso

repeticiones

costetiemp/paso

repeticiones

costetiemp/paso

repeticiones

coste

Page 15: Búsqueda Heurística VIIpedro/busqueda7-tiempo-real.pdf · Búsqueda Heurística VII Pedro Meseguer IIIA-CSIC Bellaterra, Spain pedro@iiia.csic.es Bogotá, 17-19 octubre 2006 Búsqueda

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 29

Resumen• Búsqueda clásica: (off-line search) no es adecuada para ciertos tipos de problemas

• Búsqueda en tiempo real: (on-line search)• Buscar la siguiente acción• Ejecutarla

• Siguiente estado: Minimin

• Secuencia solución: incluir g(n), actualizar h(actual)• RTA*: completo pero no converge a solución óptima• LRTA*: completo, si h admisible converge sol óptima• LRTA*(k): como LRTA*, propaga cambios heurísticos

Bogotá, 17-19 octubre 2006 Búsqueda Heurística 30

Aplicaciones de búsqueda en tiempo real

Warcraft IIIAge of Empires

Agentes:tiempo e información limitada

han de mejorar el rendimiento con la experiencia