búsqueda heurística viipedro/busqueda7-tiempo-real.pdf · búsqueda heurística vii pedro...
TRANSCRIPT
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
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
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
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
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
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)
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
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
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
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
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
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
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.
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
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