Resolviendo Modelos de Mapas

Documentos relacionados
Introducción a la Robótica

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

JUEGOS. Área de aplicación de los algoritmos heurísticos Juegos bi-personales: oponente hostil

CI-6675 Algoritmos y Estructuras Optimizadas para Videojuegos

Para definir en formalmente el juego se deberá establecer:

Inteligencia Artificial. Integrantes Equipo # 1:

4ta. Práctica. Búsqueda en árbol con contrincante: MiniMax con poda Alfa-Beta. Inteligencia Artificial Prácticas 2004/2005

Búsqueda Heurística I

Procesadores de lenguaje Tema 6 La tabla de símbolos

Inteligencia Artificial

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

OPTIMIZACIÓN VECTORIAL

Guía de ayuda en línea - Preguntas frecuentes V1.2

Algoritmos Genéticos. Introducción a la Robótica Inteligente. Álvaro Gutiérrez 20 de abril de

CAPÍTULO 4 TÉCNICA PERT

TSTC. Dpt. Teoría de la Señal, Telemática y Comunicaciones Tema 1 INTRODUCCIÓN A LA ROBÓTICA

Notación Asintótica 2

El TAD Grafo. El TAD Grafo

El Juego como Problema de Búsqueda

PORTAFOLIO DOCENTE, UNA HERRAMIENTA DE FORMACIÓN, EVALUACIÓN Y REFLEXIÓN

RESOLUCIÓN INTERACTIVA DEL SIMPLEX

ALGORITMO MINIMAX. o Nodo: Representa una situación del juego. o Sucesores de un nodo: Situaciones del juego a las que se

MICROSOFT PowerPoint 2016 Básico

Búsqueda con adversario

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

CAPÍTULO 2 METODOS PROBABILÍSTICOS

Microsoft Project Professional

Procesos de la Dirección de Proyectos para un proyecto

Capitulo 3: Introducción a los Protocolos de Enrutamiento Dinámico

3. Consideremos el puzzle-8 descrito en clase y sea el estado objetivo, como de costumbre,

MICROSOFT PROJECT 2010

MICROSOFT PowerPoint 2013 Básico

Capítulo 6. Relaciones. Continuar

Métodos de Búsqueda para juegos humano-maquina. PROF: Lic. Ana María Huayna D.

Circuitos con fuentes independientes de corriente y resistencias, circuitos R, I

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML

UNIVERSIDAD ABIERTA PARA ADULTOS UAPA CARRERA LICENCIATURA EN MERCADEO PROGRAMA DE LA ASIGNATURA MERCADOTECNIA DE SERVICIOS

El Ciclo de Vida del Software

Procesos de la Dirección de Proyectos para un proyecto

Tecnológico Nacional de México INSTITUTO TECNOLÓGICO DE SALINA CRUZ

BALANCED SCORECARD. Semaforizacion Tablero de Indicadores. Cartilla I

Nombre de la asignatura: Algoritmos y Lenguajes de programación.

CERTIFICADO DE APTITUD PEDAGÓGICA DIDÁCTICA DE LA INFORMÁTICA

PROGRAMACION CONCURRENTE Y DISTRIBUIDA

Este documento enumera los diferentes tipos de Diagramas Matriciales y su proceso de construcción.

Tema 5: Análisis de Sensibilidad y Paramétrico

greedy (adj): avaricioso, voraz, ávido, codicioso, glotón

Programación. Tema 8: Tablas Hash. Apuntes elaborados por: Eduardo Quevedo, Aaron Asencio y Raquel López Revisado por: Javier Miranda el????

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

Proyecto Multimedia. Elio Sancristóbal Ruiz

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

Jesús Getán y Eva Boj. Marzo de 2014

El Método Simplex. H. R. Alvarez A., Ph. D. 1

Importancia del origen (genético) en un programa de mejoramiento. Fco. Zamudio (PhD)

Electrónica: Electrotecnia y medidas. UNIDAD 1. Leyes de Kirchhoff

MICROSOFT ACCESS 2016 Básico

Resolución de Problemas

Cinemática del Robot. CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Universidad Tec Milenio: Profesional HG04002 Análisis de Decisiones I

Gestión de los Riesgos del Proyecto

LAR450 Protección contra sobretensiones causadas por descargas

MODULO VIII. Semana 1 ASPECTOS DE EVALUACIÓN FINANCIERA, ECONÓMICA, SOCIAL Y AMBIENTAL.

Cálculo de bisección inversa mediante mínimos cuadrados

RECLUTAMIENTO Y SELECCIÓN

Desarrollo de una página web integrando mapas conceptuales sobre indicadores de sostenibilidad

Pérdidas por inserción y de retorno en componentes pasivos de radiofrecuencia

Guía Gobierno Corporativo

INTRODUCCION 1.1.-PREAMBULO

Visión artificial y Robótica Modelos de movimiento y mapas. Depto. de Ciencia de la Computación e Inteligencia Artificial

Algoritmos de Ruteo - Introducción

ESTRÉS TÉRMICO POR CALOR EN DIVERSOS SECTORES DE ACTIVIDAD. Servicio de Higiene Industrial y Salud Laboral. Area de Higiene Industrial MN-65

Búsqueda con adversario

INVERSIÓN LA INVERSIÓN

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.

Temas para la prueba oral de Lengua Española 1

Capítulo 7 Estrategia de marketing impulsada por el cliente: creación de valor para los clientes meta

TECNOLOGÍAS INTELIGENTES PARA EXPLOTACIÓN DE INFORMACIÓN

Qué es Adquira Marketplace?

DEPARTAMENTO DE EDUCACIÓN VIRTUAL MANUAL PARA ETIQUETAS

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

de Operaciones Área Académica: Sistemas Computacionales Tema: Tipos de Modelos en Investigación Profesor: I.S.C. Guadalupe Hernández Coca

ISO SERIE MANUALES DE CALIDAD GUIAS DE IMPLEMENTACION. ISO 9001:2008 Como implementar los cambios parte 1 de 6

Computación Aplicada. Universidad de Las Américas. Aula virtual de Computación Aplicada. Módulo de Excel 2013 LIBRO 8

Capítulo 4 Exploración del ambiente.

Ficha Técnica F I C H A T É C N I C A

Plataformas Tecnológicas Educativas

PERFIL DE EGRESO INSTITUCIONAL

RELOJES DE TIEMPO REAL ÍNDICE

Aprovechamiento pedagógico del software CMAPTOOLS

Robótica Industrial. Robótica Industrial

Unidad 5: Procesos de comercialización

Arquitectura de Software El Rol del Arquitecto de Software

Transcripción:

Resolviendo Modelos de Mapas SMMC 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... 1

Ejemplo: ESTADOS Y DISTANCIAS Planificar: IM Árbol de Búsqueda Completa 2

DEPTH-FIRST SEARCH Búsqueda en profundidad No asegura encontrar el mínimo Árboles gran profundidad, en general se le da un límite Breadth First Serch (BFS) Búsqueda en anchura Problemas con árboles de gran arborescencia 3

Algoritmo de Dijkistra Encuentra la ruta más corta desde un nodo fuente a cualquier otro. Algoritmo de búsqueda completa Dijkstra Grafo de estados y distancias Se tienen las ciudades a, b, c, d, e y f La ciudad fuente es a 4

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 5

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 meta g(n): costo efectivo de la ruta desde el inicio al nodo n h(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 6

Algoritmo A* A y C listas 1- Crear la lista abierta A e insertar en ella el nodo inicial n i insertarlo 2- Crear la lista cerrada C, e inicializarla como vacío 3- 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 C 5- Si n es el nodo meta, construir solución desde n a n i con las referencias de C, finalizar 6- Expandir n, generando todos los n sucesores de n y no sean antecesores de n 7- Establecer para cada n, que antecesor(n )=n 8- Para cada n que no estén en A ni en C, agregarlo a A 9- 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 A 11- 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 incorpore información adicional. Distancias: d d d E C M = = max = dimension i= 1 dimension i= 1 2 ( ai bi ) 4,47 { a b } i a b i i i = 4 = 6 a b 7

Ejemplo: 4-conectado, Dist. Manhattan Ejemplo: 4-conectado, Dist. Manhattan 8

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) 9

LPA* Lifelong Planning A*, variación de A* que replanifica rhs( s) = min s' pred ( s) 0 ( g( s' ) + c( s', s) ) si s = s etoc start LPA* (8c) s g 10

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 LPA* D* Lite A* D* IDA* 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. 11

Algunos Ejemplos con Algoritmos Evolutivos 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 la aparición de nuevos obstáculos desconocidos, que se interponen en el camino que está ejecutando Se realiza on-line, es decir, mientras esta ejecutando un camino Debe tener una tiempo de respuesta rápido, para continuar desplazándose 12

Cromosomas Factible e infactibles (costo) n (x,y,o) 0 (x,y,o) 1... (x,y,o) L-1 (x,y,o) L Espacio búsqueda Ln*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 C CCC...C, L veces O(w)= C L Mejor caso distancia(c), (min{n,m},n+m) 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 13

Simulaciones Planificador 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 existe solució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? (hacer estimaciones 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) 14