Post on 14-Mar-2020
1
Resolviendo Modelos de MapasSMMC
Prof. Teddy Alfaro
Resolviendo Mapas o Grafos• Entre las técnicas completas más utilizadas para
resolver la ruta más corta se encuentran– BFS– Backtracking– Dijkstra– A*
• Uso de Metaheurísticas– Simulated Annealing– Computación Evolutiva– Hormigas– Otras ...
3
DEPTH-FIRST SEARCH• Búsqueda en profundidad• No asegura encontrar el
mínimo• Árboles gran profundidad,
en general se le da unlímite
Breadth First Serch (BFS)• Búsqueda en
anchura• Problemas con
árboles de granarborescencia
4
Dijkstra• Algoritmo de
Dijkistra• Encuentra la ruta
más corta desde un nodo fuente a cualquier otro.
• Algoritmo de búsqueda completa
Grafo de estados y distancias• Se tienen las ciudades a, b, c, d, e y f• La ciudad fuente es a
5
Desarrollando Dijkstra
A star (A*)• Es el algoritmo considerado de mejor
desempeño para encontrar el camino más corto en mapas estáticos. Es el más utilizados en juegos de entretenimientos
• Se requiere un mapa de conectividad (grafo), un punto inicial (nodo fuente), un punto final (nodo meta), y un conjunto de reglas para realizar movimientos entre puntos (cambios de estados basados en conectividad o visibilidad)
• A* resulta ser un Dijkstra guiado hacia la meta
6
Movimientos de A*• Para seleccionar que movimiento hacer (entre
los posibles), emplea un método de estimación heurístico del costo-distancia.
• El costo-distancia estará dado por el costo ya conocido producto de los movimientos del pasado, mas una estimación del futuro costo de lo que resta para llegar a la meta. Esto es:
f(n)=g(n)+h(n)f(n): costo estimado para el nodo n, ir desde el inicio a la metag(n): costo efectivo de la ruta desde el inicio al nodo nh(n): costo estimado de la ruta faltante desde el nodo n a la meta
Algoritmo A*
• Se basa en el uso de dos listas– Lista Cerrada: guarda información de los
nodos (puntos) ya visitados que son parte de la ruta a desarrollar, las referencias desde donde se llegó al nodo, y los valores de f(n),h(n) y g(n)
– Lista Abierta: guarda al información de los nodos ya visitados, pero que aún podrían rendir rutas con menores costos. Nodos sujetos a la explotación
7
Algoritmo A*A y C listas
1- Crear la lista abierta A e insertar en ella el nodo inicial ni insertarlo2- Crear la lista cerrada C, e inicializarla como vacío3- Si A está vacía, finalizar búsqueda con mensaje de error.4- Tomar de A el nodo n con menor f(n), luego insertar n en C5- Si n es el nodo meta, construir solución desde n a ni con las
referencias de C, finalizar6- Expandir n, generando todos los n’ sucesores de n y no sean
antecesores de n7- Establecer para cada n’, que antecesor(n’)=n8- Para cada n’ que no estén en A ni en C, agregarlo a A9- Para cada n’ que ya estaba en A, actualizar a la referencia con
mejor g(n)10- Para cada n’ que ya estaba en C, si el nuevo g(n’) es mejor que
g(C(n)), insertar n’ en A11- Recalcular f(n)=g(n)+h(n) de A y retornar al paso 3.
Estimación heurística h(n)• El buen desempeño de esta técnica se basa principalmente en una
buena heurística de estimación de costo.• Para mapas geométricos o topológicos, en general se utilizan la
distancia Euclidiana, ChessBoard, Manhattan. En cambio para grafos resulta ser un tema más abierto, a menos que se incorporeinformación adicional.
• Distancias:
( )
{ }
∑
∑
=
=
−=
−=
−=
ension
iiiM
iiC
ension
iiiE
bad
bad
bad
dim
1
dim
1
2
||
||max
64
47,4
==≈
a
b
9
Ejercicios
• Resolver el mismo ejercicio para 8-conectado utilizando:– Distancia Chessboard– Distancia Euclidiana
Observaciones
• A* es preferido por sobre BFS o Dijkstra por– Búsqueda Reducida: por tener una herramienta de
corte que depende de una función heurística– Admisibilidad: si existe (existencia) un camino para ir
desde un punto inicial a uno final, A* lo encuentra– Optimalidad: la solución encontrada es óptima, es
decir, la ruta más corta.• Desventajas
– Costoso en memoria (listas A y C ordenadas)– De búsqueda completa (su peor caso)
10
LPA*• Lifelong Planning A*, variación de A* que replanifica
( )
+=
=∈ etocsscsg
sssisrhs
spreds
start
),'()'(min0
)()('
LPA* (8c)
g
s
11
Consideraciones
• LPA* hereda de A* las condiones de: búsqueda reducida, admisibilidad y optimalidad
• Si la heurística de costo no es buena A* puede llegar a ser un BFS
• Complejidades– Dimensiones del ambiente (A, C listas)– Cantidad y formas de los obstáculos (estancamiento)– Conectividad de los estados (A, C listas)– Considerar incerteza de la información (real)
Ambientes Desconocidos• Asumiendo freespace
– El móvil cambia su posición inicial– Conoce el ambiente en la medida que sus limitados
sensores captan información
A*
IDA*
LPA*
D*D* Lite
• A*: planificardor ambientes estáticos conocidos (PAEC), [1968 Nilsson, Hart]
• IDA*: iterative-deepending A*, (PAEC) se limita el tamaño de la lista abierta (2 listas)
• LPA*:Lifelong planner A*, PAE con incertezas globales, trabaja con una lista
• D*: Dynamic A*, propuesto por Stenz, trabaja en ambientes inciertos.
• D* Lite: versión mejorada y más simple de D*, propuesta por Koenig.
12
Algunos Ejemplos con AlgoritmosEvolutivos
• Trabajos – Trazos de caminos con nudos (Michalewicz)– Suceción de Grid-cells
• La mayoría de los trabajos hacen una balance entre planificación global (información ya conocida) y planificación local (incertidumbre de la información y nueva información que entre el sistema sensorial del robot)
Planificador Global-Local• Planificador Global
– Su objetivo es encontrar el camino más corto para ir desde un punto inicial a un punto meta, teniendo en conocimiento los obstáculos estáticos del mapa
– Se realiza off-line, y luego la ejecuta• Planificador Local
– Permite al robot encontrar un nuevo camino debido a laaparición de nuevos obstáculos desconocidos, que seinterponen en el camino que está ejecutando
– Se realiza on-line, es decir, mientras esta ejecutando uncamino
– Debe tener una tiempo de respuesta rápido, para continuardesplazándose
13
Cromosomas• Factible e infactibles (costo)(x,y,o)0� (x,y,o)1�... (x,y,o)L-1� (x,y,o)L• Espacio búsqueda L�n*m• Asumiendo: ambiente conocido, y visitando
celda sólo una vez– Trazos: nodos=nudos
(L)�(L-1)�(L-2)......(1)O(w)= L!Mejor caso� 2 nodos
– Suceción: nodos=celda, conectividad CC�C�C�...C , L vecesO(w)= CL
Mejor caso� distancia(C), (min{n,m},n+m)
n
m
Fitness y Operadores
• Función de Evaluación– En general pueden incluir: largo, suavidad, y
claridad de la ruta. Algunos incluyen las colisiones
• Operadores– En general utilizan operadores asexuados– Siempre deben considerar operadores de
reparación– Operadores exploradores son importantes
14
SimulacionesPlanificador evolutivo ante pequeñas variaciones
Decisión: método de búsqueda• Tener presente
– Técnicas completas: aseguran dar una respuesta, pero para problemas de gran tamaño, son impracticables
– Metaheurísticas: no lidian con todo el espacio de búsqueda, en general dan respuestas cercanas al óptimo. No son capaces (en general) de determinar si no existesolución
• Por ello cuestionarse– Se está trabajando con un modelo
de ambiente adecuado al sistema de navegación y sist. sensorial del robot?
– El problema es duro combinatoriamente? (hacerestimaciones de tiempo)
– Paralelizar? Qué técnica ofrece características de paralelización?
– Si el ambiente sufre cambios leves? Preferir una actualización del esquema utilizando la información que ya se tiene, y evitar recalcular (recomputación)