Búsqueda Heurística VII

Anuncio
Búsqueda Heurística VII
Pedro Meseguer
IIIA-CSIC
Bellaterra, Spain
[email protected]
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
no podemos esperar
• puzzle de 35
• tienen información limitada:
• robot explorador
Bogotá, 17-19 octubre 2006
no podemos calcular
Búsqueda Heurística
2
Búsqueda en tiempo real
IDEA:
• calcular un trocito de la solución / ejecutarlo
• se alterna búsqueda y ejecución (on-line search)
Búsqueda Ejecución
Búsqueda Ejecución Búsqueda Ejecución
• 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
3
Problemas para búsqueda en tiempo real
• Respuestas críticas en tiempo:
rango de visibilidad
objetivo
observador
humano
mirando al
robot
x
robot, sin mapa
del entorno
el robot ha de comenzar a moverse en un tiempo corto,
si no el observador creerá que no funciona
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
4
Problemas para búsqueda en tiempo real
Puzzle de 35
1
2 3
7
8
4
5 6
9 10 11
1
2 3
7
8
4
5
6
9 10 11 12
12 13 14 15 16 17
13 14 15 16 17 18
18 19 20 21 22 23
19 20 21 22 23 24
24 25 26 27 28 29
25 26 27 28 29 30
30 31 32 33 34 35
31 32 33 34 35
Espacio de estados: 36!
Demasiado grande para pretender calcular la solución óptima
(gran cantidad de tiempo)
Alternativa: búsqueda en tiempo real
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
5
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
minimin
• Los valores mínimos se propagan hacia arriba
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
6
Ejemplo
d= 2
2
5
7
4
3
6
1
3
8
2 +1
2 +1
2
5
7
3 +1
4
Bogotá, 17-19 octubre 2006
3
1 +1
6
1
3
8
Búsqueda Heurística
7
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:
5
1
1
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
8
Dos formas de actualizar
• RTA*:
h(x) ← max{h(x), 2nd min c(x,y)+h(y)}
5
1
1
5
5
6
1
5
5
6
7
5
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
9
Dos formas de actualizar
• LRTA*:
Bogotá, 17-19 octubre 2006
h(x) ← max{h(x), min c(x,y)+h(y)}
5
1
1
5
5
2
1
5
5
2
3
5
5
4
3
5
5
4
5
5
5
6 Búsqueda Heurística
5
5
10
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
11
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
– Acción: ir al mejor sucesor (min f)
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
(LRTA*)
12
Ejecución
N
E
O
Anticipación(1)
h
h
S
h‘
h’
Actualización
h
h
Acción
agente
h cambia
algoritmo registra nueva h’
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
13
RTA*: ejemplo
e
5
4
i
b
1
l
9
a
2
d 3
m 8
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
6
j
7
k
c
14
RTA*: ejemplo
e
5
4
i
b
1
l
9
3
a
2
d 3
j
7
k
c
m 8
Bogotá, 17-19 octubre 2006
6
Búsqueda Heurística
15
RTA*: ejemplo
e
5
4
i
b
5
l
9
3
a
2
d 3
m 8
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
6
j
7
k
c
16
RTA*: ejemplo
e
5
4
i
b
5
l
9
4
a
2
d 3
j
7
k
c
m 8
Bogotá, 17-19 octubre 2006
6
Búsqueda Heurística
17
RTA*: ejemplo
e
5
4
i
b
5
l
9
4
a
7
d 3
m 8
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
6
j
7
k
c
18
RTA*: ejemplo
e
5
4
i
b
5
l
9
6
a
7
d 3
m 8
Bogotá, 17-19 octubre 2006
6
j
7
k
c
Búsqueda Heurística
19
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
20
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
21
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
22
Propagación de cambios
N
O
E
S
h’’
h
h’’
’
h’
h’
h
h’’
h
‘
h
‘
h’’’
h
h’’
‘
agente
.....
h cambia
Bogotá, 17-19 octubre 2006
Anticipación(1)
Actualización
Anticipación(1)
Actualización
Anticipación(1)
Actualización
Anticipación(1)
Actualización
Anticipación(1)
Actualización
Acción
Búsqueda Heurística
23
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
24
Problemas de prueba
Laberinto
Grid
x
x
Movimiento: una casilla N, S, E. O
Solución: secuencia de movimientos que llevan a x
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
25
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
26
Primera ejecución
Grid 35
Coste
Tiempo/
Grid 70
Coste
Paso
Tiempo/
Maze
Coste
Tiempo/
Paso
Paso
LRTA*
100%
100%
100%
100%
100%
100%
LRTA*
17%
237%
18%
222%
16%
231%
45%
91%
29%
97%
6%
96%
(k=15)
RTA*
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
27
Convergencia
Grid 35
coste
repeti
tiemp/
ciones
paso
Grid 70
coste
repeti
tiemp/
ciones
paso
Maze
coste
repeti
tiemp/
ciones
paso
LRTA 100% 100% 100% 100% 100% 100% 100% 100% 100%
LRTA
36%
48%
189%
27%
37%
179%
23%
24%
232%
k=15
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
28
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
29
Aplicaciones de búsqueda en tiempo real
Age of Empires
Warcraft III
Agentes:
tiempo e información limitada
han de mejorar el rendimiento con la experiencia
Bogotá, 17-19 octubre 2006
Búsqueda Heurística
30
Descargar