Encontrar un punto de transición

En informática , la búsqueda de puntos de salto ( JPS ) es una optimización del algoritmo de búsqueda A* para cuadrículas de costes uniformes. Reduce la simetría en el procedimiento de búsqueda al reducir el gráfico [1] mediante la eliminación de ciertos nodos en la cuadrícula en función de las suposiciones que se pueden hacer sobre los vecinos del nodo actual si se cumplen ciertas condiciones relacionadas con la cuadrícula. Como resultado, el algoritmo puede tener en cuenta saltos largos a lo largo de líneas rectas (horizontales, verticales y diagonales) en la cuadrícula, en lugar de pequeños pasos de una posición de cuadrícula a otra, como lo hace A* [2] normal .

Encontrar un punto de transición mantiene A* óptimo , reduciendo potencialmente su tiempo de ejecución en un orden de magnitud [1] .

Historia

La publicación original de Harabor y Grastien presenta algoritmos de detección de sucesores y poda de vecinos [1] . El algoritmo de recorte de vecinos original permitía el corte de esquinas, lo que significaba que el algoritmo solo podía usarse para mover agentes de ancho cero, limitando su uso a agentes reales (por ejemplo, robótica) o simulaciones (por ejemplo, muchos juegos).

Los autores han presentado reglas de recorte modificadas para aplicaciones en las que el recorte de esquinas se desactivará el próximo año [3] . Este artículo también presenta un algoritmo de preprocesamiento de malla para minimizar el tiempo de búsqueda en Internet.

En 2014, los autores publicaron varias optimizaciones adicionales [4] . Estas optimizaciones incluyen examinar columnas o filas de nodos en lugar de nodos individuales, transiciones de cálculo previo en la malla y reglas de recorte más estrictas.

Trabajo futuro

Aunque la búsqueda de puntos de transición se limita a cuadrículas con costos uniformes y agentes con tamaño uniforme, en el futuro los autores planean utilizar PTP con métodos de aceleración basados ​​en cuadrículas existentes, como las cuadrículas jerárquicas [4] [5] .

Notas

  1. 1 2 3 Daniel Harabor, Alban Grastien (2011). Reducción de gráficos en línea para búsqueda de rutas en mapas de cuadrícula (PDF) . 25 Congreso Nacional de Inteligencia Artificial. AAAI. Archivado (PDF) desde el original el 16 de diciembre de 2014 . Consultado el 14 de septiembre de 2021 . Parámetro obsoleto utilizado |deadlink=( ayuda )
  2. Nathan Whitmer. Explicación de cómo encontrar un punto de transición (enlace no disponible) . anticipación positiva de ancho cero (5 de mayo de 2013). Consultado el 9 de marzo de 2014. Archivado desde el original el 10 de marzo de 2014. 
  3. D. Harabor, A. Grastien (2012). Sistema de búsqueda de caminos JPS . 26 Congreso Nacional de Inteligencia Artificial. AAAI. Archivado desde el original el 9 de noviembre de 2020 . Consultado el 14 de septiembre de 2021 . Parámetro obsoleto utilizado |deadlink=( ayuda )
  4. 1 2 D. Harabor, A. Grastien. Mejora del buscador de puntos de transición . Facultad de Ingeniería y Ciencias de la Computación , Universidad Nacional de Australia . Asociación para el Avance de la Inteligencia Artificial (www.aaai.org). Consultado el 11 de julio de 2015. Archivado desde el original el 12 de julio de 2015.
  5. Adi Botea, Martin Müller. Encontrar una ruta jerárquica casi óptima . Universidad de Alberta . Universidad de Alberta (2004). Consultado el 14 de septiembre de 2021. Archivado desde el original el 14 de septiembre de 2021.